I love your answers they are straight to the point, easy to understand and very useful, this one is no different, thank you :)
I have another questions but I will make a separate thread for it so its easier for users to google and search for it, including me . By the way the official docs are only here ? --> https://github.com/dalehenrich/metacello-work/tree/master/docs On Tue, Jan 27, 2015 at 8:37 PM, Dale Henrichs < dale.henri...@gemtalksystems.com> wrote: > Kilon, > > I don't use tags a lot in my own projects, but if someone is using your > project in a production situation, then using tags is a good idea (if you > follow semantic versioning) so that the users can tell when and if you have > made api-breaking changes... > > Since the Smacc project looks like it is on github you have two options > for doing a "project reference": reference the configuration or reference > the baseline. > > To reference a configuration-based project do something like the following > (in a baseline): > > spec > configuration: 'SmaCC' > with: [ > spec > versionString: '2.0.4'; > repository: 'http://.....' ]. > spec > package: 'PackageThatDependsUponSmacc' > with: [ spec requires: #('Smacc') ]. > > Note that you might want to use a symbolic version (if they are defined in > the project) so that you can always get the #stable version which > presumably changes over time ... > > To reference a baseline-based project do something like the following (in > a baseline): > > spec > baseline: 'SmaCC' > with: [ spec repository: 'github://ThierryGoubier/SmaCC:master' ]. > spec > package: 'PackageThatDependsUponSmacc' > with: [ spec requires: #('Smacc') ] > > Note that you can use the tag wild cards to achieve a similar effect of > using symbolic versions with configurations. > > Did this answer your question? > > Dale > > On 01/27/2015 07:21 AM, kilon alios wrote: > > No I have not used git tags so far, so I am not familiar with them. But I > will keep in mind, I am considering not having versions at all, I find it a > curious concept. > > Dale there is one thing I wanted to ask you , would it possible put in > my github repo installation instructions for installing prerequisites ? > > For example I may use Thierry's SmaCC which I currently study to figure > out how it works. > > I could add that to my ConfigurationOfEphestos that I have saved to Meta > Repo of Pharo 4. But I dont want to touch that repo, ideally I would like > to do this from the BaselineOfEphestos which is stored in my Ephestos > github repo. Is that possible ? Can the baseline handle installation of > dependencies and trigger other configurations ? Or is that a job only for > Configurations ? > > > I want not to have to maintain also meta repo 4, I just want to only to > do all things in my github repo. > > On Tue, Jan 27, 2015 at 4:57 PM, Dale Henrichs < > dale.henri...@gemtalksystems.com> wrote: > >> Kilon, >> >> One more point that you might find useful ... If you use tags (i.e., >> v1.0.0, v1.0.1, v1.1.0), you can specify tag wildcards in the branch field >> of the github repository description. >> >> Using Thierry's example the following resolves the latest commit on the >> master branch (bleeding edge): >> >> github://ThierryGoubier/SmaCC:master >> >> Using a tag name, you can match the tagged commit: >> >> github://ThierryGoubier/SmaCC:v1.0.0 >> github://ThierryGoubier/SmaCC:v1.1.0 >> >> Using a tag wildcard you can specify the latest tag 1.0.*: >> >> github://ThierryGoubier/SmaCC:v1.0.* >> >> which matches v1.0.1, v1.0.2, whichever is latest, but not v1.0.2.1. >> >> To match the latest tag in the 1.0 family use 1.0.?: >> >> github://ThierryGoubier/SmaCC:v1.0.? >> >> which matches v1.0.1, v1.0.2 and v1.0.2.1. >> >> There are more examples here[1]. >> >> This feature was introduced in Metacello 1.0.0-beta.32.16[2]. >> >> Dale >> >> [1] >> https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-58970696 >> [2] >> https://github.com/dalehenrich/metacello-work/issues?q=milestone%3A1.0.0-beta.32.16+is%3Aclosed >> >> >> On 1/27/15 1:52 AM, kilon alios wrote: >> >> beautiful it worked like a charm following your instructions , I now can >> brake my project to smaller ones, each one with each own github repo and >> use Baselines to load each one and still allow the user to load my Project >> in one single click from Configuration Browser. Love it how Pharo make this >> all this so easy, with python it was a nightmare. Brilliant just Brilliant >> ! :) >> >> On Tue, Jan 27, 2015 at 11:19 AM, Thierry Goubier < >> thierry.goub...@gmail.com> wrote: >> >>> Hi Kilon, >>> >>> a simple way to do that is to change your configuration so that it uses >>> the baseline in your github. The SmaCC configuration for Pharo 4.0 is >>> written in this way for the stable version. >>> >>> version204: spec >>> <version: '2.0.4' imports: #('2.0-baseline')> >>> spec >>> for: #'pharo4.x' >>> do: [ >>> spec >>> blessing: #stable; >>> author: 'ThierryGoubier'; >>> description: 'SmaCC Smalltalk Compiler Compiler for >>> Pharo 4.0'. >>> spec >>> baseline: 'SmaCC' with: [ spec repository: >>> 'github://ThierryGoubier/SmaCC:master' ]; >>> import: 'SmaCC' ] >>> >>> Thierry >>> >>> >>> >>> 2015-01-27 10:08 GMT+01:00 kilon alios <kilon.al...@gmail.com>: >>> >>>> So I have a Configuration in the Meta repo of pharo 4 and 3 that loads >>>> the latest version of my project Ephestos. >>>> >>>> However I have moved my development to github since I am very happy >>>> with the workflow and since I discovered loading github repos via a >>>> baseline I have little use for smalltalkhub. >>>> >>>> So my plan is this, keep the configuration in the meta repo so people >>>> and me can install my project easily with one click via the wonderful >>>> simple configuration browser , but I dont want anymore to load any versions >>>> with it. Instead I want to tell the configuration "load the github >>>> baseline" which means it will fetch the code from my github account master >>>> branch which is the stable branch anyway (and the only branch so far) . >>>> >>>> That will allow me to never have to update that configuration again >>>> since it will just load the latest code from github repo. >>>> >>>> The question is how to do this the easiest and cleanest way possible ? >>>> >>> >>> >> >> > >