I was wondering if something like this can work: Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining: stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']]. where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work : Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load. ?? I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser. Any help is appreciated.
Hi Gabriel, Looks ok to me. Take a look at https://github.com/theseion/LibGit/blob/master/BaselineOfLibGit.package/Base.... I think youâll find all your use cases in that baseline. As for loading: Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load. Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load: 'developmentâ. HTH, Max
On 20 Oct 2015, at 05:05, Gabriel Cotelli <g.cotelli@gmail.com> wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']].
where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work :
Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load. ??
I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser.
Any help is appreciated.
I've tried something like this with a BaselineOf and it works, but I want to define the #stable version for a ConfigurationOf because as far as I know the ConfigurationBrowser/CatalogBrowser uses only configurations and tries to load the stable symbolic version. On Tue, Oct 20, 2015 at 4:06 AM, Max Leske <maxleske@gmail.com> wrote:
Hi Gabriel,
Looks ok to me.
Take a look at https://github.com/theseion/LibGit/blob/master/BaselineOfLibGit.package/Base.... I think youâll find all your use cases in that baseline.
As for loading:
Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load.
Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load: 'developmentâ.
HTH, Max
On 20 Oct 2015, at 05:05, Gabriel Cotelli <g.cotelli@gmail.com> wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']].
where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work :
Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load. ??
I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser.
Any help is appreciated.
you diffirent versions can also be branches of the same repo , so you have one branch for pharo 4 and one for pharo 5 , baseline can load code from specific branches. On Tue, Oct 20, 2015 at 4:14 PM Gabriel Cotelli <g.cotelli@gmail.com> wrote:
I've tried something like this with a BaselineOf and it works, but I want to define the #stable version for a ConfigurationOf because as far as I know the ConfigurationBrowser/CatalogBrowser uses only configurations and tries to load the stable symbolic version.
On Tue, Oct 20, 2015 at 4:06 AM, Max Leske <maxleske@gmail.com> wrote:
Hi Gabriel,
Looks ok to me.
Take a look at https://github.com/theseion/LibGit/blob/master/BaselineOfLibGit.package/Base.... I think youâll find all your use cases in that baseline.
As for loading:
Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load.
Metacello new baseline: #LibGit; repository: 'github://theseion/LibGit:master'; load: 'developmentâ.
HTH, Max
On 20 Oct 2015, at 05:05, Gabriel Cotelli <g.cotelli@gmail.com> wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']].
where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work :
Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load. ??
I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser.
Any help is appreciated.
Here's the documentation for the Metacello github:// repository description[1]. ... In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references. Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4". Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5". Then you'd use the following in your baseline: method (not in a symbolicVersion method). spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']]. If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ... HTH, Dale [1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScri... [2] https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-589706... On 10/19/2015 08:05 PM, Gabriel Cotelli wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project'with: [ spec repository: 'github://username/Project:stableForPharo5/']].
where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work : Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load.?? I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser. Any help is appreciated.
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs < dale.henrichs@gemtalksystems.com> wrote:
Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
Intuitively I would have thought that #'pharo4.0.x' would correspond to repository: 'github://username/Project:v4.0.?/' I seem to be missing something. cheers -ben
HTH,
Dale
[1] https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScri... [2] https://github.com/dalehenrich/metacello-work/issues/277#issuecomment-589706...
On 10/19/2015 08:05 PM, Gabriel Cotelli wrote:
I was wondering if something like this can work:
Given a ConfigurationOfProject (a subclass of ConfigurationOf) defining:
stable: spec <symbolicVersion: #stable> spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo4/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:stableForPharo5/']]. where stableForPharo4 and stableForPharo5 are tags in the git repo (and assuming the BaselineOfProject is defined in this commits). Is this supposed to work : Metacello new configuration: 'Project'; repository: 'github://username/Project:master'; version: #stable; load. ?? I've tried using a non-symbolic version and it works but I can't make it work for #stable. I'd like to use this configuration for the Configuration Browser/Catalog Browser. Any help is appreciated.
On 10/21/2015 05:55 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com <mailto:dale.henrichs@gemtalksystems.com>> wrote:
Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
Intuitively I would have thought that #'pharo4.0.x' would correspond to repository: 'github://username/Project:v4.0.?/' I seem to be missing something.
I guess it's not intuitive to me, because I'm not sure what point you are making:) In general terms I'm not very intuitive, so this is my personality flaw:) Dale
On Thu, Oct 22, 2015 at 1:30 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
On 10/21/2015 05:55 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
Intuitively I would have thought that #'pharo4.0.x' would correspond to repository: 'github://username/Project:v4.0.?/' I seem to be missing something.
I guess it's not intuitive to me, because I'm not sure what point you are making:)
My point was that these two 4.0.x 4.0.? seem to correspond better than these two 4.0.x 4.? but maybe I looked at this the wrong way. So v4.? would also match pharo4.1.0 ? cheers -ben
In general terms I'm not very intuitive, so this is my personality flaw:)
Dale
On 10/22/2015 05:31 AM, Ben Coman wrote:
On Thu, Oct 22, 2015 at 1:30 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
On 10/21/2015 05:55 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
Intuitively I would have thought that #'pharo4.0.x' would correspond to repository: 'github://username/Project:v4.0.?/' I seem to be missing something.
I guess it's not intuitive to me, because I'm not sure what point you are making:)
My point was that these two 4.0.x 4.0.?
seem to correspond better than these two 4.0.x 4.?
but maybe I looked at this the wrong way. So v4.? would also match pharo4.1.0 ? Ah yes, you do have a point there, because v4.? does match 4.1.0.
Dale
In case anyone is interested, I've managed to re-use the BaselineOf definition inside the ConfigurationOf. If you need to do something similar take a look at https://github.com/gcotelli/RenoirSt/tree/master/source/ConfigurationOfRenoi... This allows to copy this configuration in the corresponding MetaRepoForPharoX for projects managed using BaselineOf. On Thu, Oct 22, 2015 at 5:48 PM, Dale Henrichs < dale.henrichs@gemtalksystems.com> wrote:
On 10/22/2015 05:31 AM, Ben Coman wrote:
On Thu, Oct 22, 2015 at 1:30 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
On 10/21/2015 05:55 AM, Ben Coman wrote:
On Wed, Oct 21, 2015 at 2:49 AM, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Here's the documentation for the Metacello github:// repository description[1]. ...
In recent versions of Metacello I have made it possible for you to use pattern matching in the <version identifier> to provide for symbolic-version-like facility for github references.
Instead of stableForPharo4 you would associate a semantic version with the code that is "stableForPharo4" for example `4.0.0` and use the tag `v4.0.0` to mark the commit that is "stableForPharo4".
Similarly you'd use the tag `v5.0.0` to mark the commit that is "stableForPharo5".
Then you'd use the following in your baseline: method (not in a symbolicVersion method).
spec for: #'pharo4.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v4.?/']]. spec for: #'pharo5.0.x' do: [spec baseline: 'Project' with: [ spec repository: 'github://username/Project:v5.?/']].
If you end up with a new commit that patches a Pharo4 problem, you'd tag that commit as `v4.0.1` and so on .... The above `v4.?` pattern will match `v4.0.1` and you'll pick up that tag the next time you refresh your build (i.e., do a `get` on the Project baseline ... which causes a new download from Github) ...
Intuitively I would have thought that #'pharo4.0.x' would correspond to repository: 'github://username/Project:v4.0.?/' I seem to be missing something.
I guess it's not intuitive to me, because I'm not sure what point you are making:)
My point was that these two 4.0.x 4.0.?
seem to correspond better than these two 4.0.x 4.?
but maybe I looked at this the wrong way. So v4.? would also match pharo4.1.0 ?
Ah yes, you do have a point there, because v4.? does match 4.1.0.
Dale
participants (5)
-
Ben Coman -
Dale Henrichs -
Dimitris Chloupis -
Gabriel Cotelli -
Max Leske