Hijacking a Configuration for loading a Github Baseline

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Hijacking a Configuration for loading a Github Baseline

kilon.alios
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 ? 
Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

Thierry Goubier
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 <[hidden email]>:
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 ? 

Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

kilon.alios
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 <[hidden email]> 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 <[hidden email]>:
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 ? 


Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

Dale Henrichs-3
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 <[hidden email]> 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 <[hidden email]>:
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 ? 



Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

Thierry Goubier
Hi Dale,

The wildcards on tags, are they available on branch names as well?

I wonder about the choice for ? and *, because:

- In RE(s), ? is 0 or 1 occurence, * is 0 or any number of occurences.
- In shells (bash?), ? is any one character, * is 0 or any number of characters.

i.e. ? matches less than * in both cases. In Metacello, it is the reverse: 1.0.? matches more labels than 1.0.*

Thierry


2015-01-27 15:57 GMT+01:00 Dale Henrichs <[hidden email]>:
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 <[hidden email]> 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 <[hidden email]>:
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 ? 




Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

kilon.alios
In reply to this post by Dale Henrichs-3
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 ? 




Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

Dale Henrichs-3
In reply to this post by Thierry Goubier

On 1/27/15 7:10 AM, Thierry Goubier wrote:
> Hi Dale,
>
> The wildcards on tags, are they available on branch names as well?
The wildcards are only applied to tags ... branch names are not expected
to look like version numbers with  `.` and `-`  separated "possibly
numeric" fields.
>
> I wonder about the choice for ? and *, because:
>
> - In RE(s), ? is 0 or 1 occurence, * is 0 or any number of occurences.
> - In shells (bash?), ? is any one character, * is 0 or any number of
> characters.
>
> i.e. ? matches less than * in both cases. In Metacello, it is the
> reverse: 1.0.? matches more labels than 1.0.*
I based my sytax on  String>>match:. String>>match: uses `*` for "any
sequence of characters" and `#` for "any character" which is different
that RE and shell matching syntax ... `?` was unused so I picked it for
"match this and subsequent fields".

I'm open to suggestions for alternatives to the `?`:)

Dale

Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

Dale Henrichs-3
In reply to this post by kilon.alios
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: '<a class="moz-txt-link-freetext" href="http://">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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 ? 





Reply | Threaded
Open this post in threaded view
|

Re: Hijacking a Configuration for loading a Github Baseline

kilon.alios
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>:
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 ?