Dale
working on phexample (which worked well on 2.0) I changed stable: spec <symbolicVersion: #stable> spec for: #'common' version: '1.0'. into stable: spec <symbolicVersion: #stable> spec for: #'pharo1.4.x' version: '1.1'. spec for: #'pharo2.x' version: '1.0'. because I could not get the version running in 1.4 (deprecated method usage). version11: spec <version: '1.1' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 1.4'. spec author: 'StephaneDucasse'. spec timestamp: '2/10/2013 17:46'. spec package: 'Phexample' with: 'Phexample-StephaneDucasse.68'. ]. version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 2.0'. spec author: 'StefanMarr'. spec timestamp: '2/8/2013 11:46'. spec package: 'Phexample' with: 'Phexample-StefanMarr.67'. ]. Now the semantics of common in symbolic version versus in version is not clear to me. Should I transform version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 2.0'. spec author: 'StefanMarr'. spec timestamp: '2/8/2013 11:46'. spec package: 'Phexample' with: 'Phexample-StefanMarr.67'. ]. into version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'pharo2.x' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 2.0'. spec author: 'StefanMarr'. spec timestamp: '2/8/2013 11:46'. spec package: 'Phexample' with: 'Phexample-StefanMarr.67'. ]. and version11: spec <version: '1.1' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 1.4'. spec author: 'StephaneDucasse'. spec timestamp: '2/10/2013 17:46'. spec package: 'Phexample' with: 'Phexample-StephaneDucasse.68'. ]. into version11: spec <version: '1.1' imports: #('1.0-baseline' )> spec for: #'pharo1.4.x' do: [ spec blessing: #'release'. spec description: 'initial version working well for Pharo 1.4'. spec author: 'StephaneDucasse'. spec timestamp: '2/10/2013 17:46'. spec package: 'Phexample' with: 'Phexample-StephaneDucasse.68'. ]. Thanks Stef |
Administrator
|
Now the semantics of common in symbolic version versus in version is not clear to me. Should I transform spec for: #'common' do: [ into spec for: #'pharo2.x' do: [ and spec for: #'common' do: [ into spec for: #'pharo1.4.x' do: [ You've already used the symbolic versions to indicate the stability/status mapping from platform to MetaC version. Unless the packaged in spec for: #'common'... are specific to PharoX.Y.Z (e.g. Platform.pharo14), I would leave the #'common'. The package that works for 1.4 might also work for 1.3 and 1.2. We should confirm with Dale, but I'm pretty sure that a #'pharo1.4.x' block will override a #'common' block, so there wouldn't be any conflict...
Cheers,
Sean |
In reply to this post by stephane ducasse
Comments embedded below...
----- Original Message ----- | From: "stephane ducasse" <[hidden email]> | To: "Dale Henrichs" <[hidden email]> | Cc: "[hidden email] Development" <[hidden email]> | Sent: Sunday, February 10, 2013 8:01:45 AM | Subject: About common semantics :) | | Dale | | working on phexample (which worked well on 2.0) I changed | | stable: spec | <symbolicVersion: #stable> | spec for: #'common' version: '1.0'. | | into | | stable: spec | <symbolicVersion: #stable> | spec for: #'pharo1.4.x' version: '1.1'. | spec for: #'pharo2.x' version: '1.0'. | | because I could not get the version running in 1.4 (deprecated method usage). | | | version11: spec | <version: '1.1' imports: #('1.0-baseline' )> | | spec for: #'common' do: [ | spec blessing: #'release'. | spec description: 'initial version working well for Pharo 1.4'. | spec author: 'StephaneDucasse'. | spec timestamp: '2/10/2013 17:46'. | spec package: 'Phexample' with: 'Phexample-StephaneDucasse.68'. ]. | | | version10: spec | <version: '1.0' imports: #('1.0-baseline' )> | | spec for: #'common' do: [ | spec blessing: #'release'. | spec description: 'initial version working well for Pharo 2.0'. | spec author: 'StefanMarr'. | spec timestamp: '2/8/2013 11:46'. | spec package: 'Phexample' with: 'Phexample-StefanMarr.67'. ]. | I would recommend that you leave the symbolic versions alone: stable: spec <symbolicVersion: #stable> spec for: #'common' version: '1.0'. In order to accomodate your different packages for different versions you should change the version1.0 spec to the following: version10: spec <version: '1.0' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'release'. spec description: 'version working well for Pharo 1.4'. spec author: 'StephaneDucasse'. spec timestamp: '2/10/2013 17:46'. spec package: 'Phexample' with: 'Phexample-StephaneDucasse.68'. ]. spec for: #'pharo2.x' do: [ spec package: 'Phexample' with: 'Phexample-StefanMarr.67'. ]. With this spec, you are declaring that Phexample-StephaneDucasse.68 be used for all platforms except Pharo2.x where Phexample-StefanMarr.67 should be used instead... Dale |
Dale
I have another question what is the interaction between saying that a given version is stable using a symbolic version and having the development tag in the version? For example I'm migrating merlin and I have stable: spec <symbolicVersion: #'stable'> spec for: #'common' version: '1.5'. development: spec <symbolicVersion: #'development'> spec for: #'common' version: '1.7'. version15: spec <version: '1.5' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'development'. spec description: '1.4 : Replaced PluggableListMorphOfMany by PluggableListMorph'. spec author: 'AlexandreBergel'. spec timestamp: '9/30/2011 09:52'. spec package: 'Merlin' with: 'Merlin-AlexandreBergel.137'. ]. version17: spec <version: '1.7' imports: #('1.0-baseline' )> spec for: #'common' do: [ spec blessing: #'development'. spec description: '1.6 : Removed dependency from BlockContext. Merged with last version'. spec author: 'AlexandreBergel'. spec timestamp: '11/21/2012 08:42'. spec package: 'Merlin' with: 'Merlin-AlexandreBergel.141'. ]. so when do we tag a version as release? because apparently without doing it it still works. Stef |
Free forum by Nabble | Edit this page |