replies embedded ... ----- Original Message ----- | From: "Francois Stephany" <tulipe.moutarde@gmail.com> | To: pharo-project@lists.gforge.inria.fr | Sent: Tuesday, April 24, 2012 4:35:19 PM | Subject: Re: [Pharo-project] How to declare Zinc/FS dependency in Metacello Configuration for 1.4 | | Hi Dale, | | > If your project depends upon particular features or APIs in a | > project like Zinc or Seaside or FS, then you will be interested in | > referencing that particular version in your specification. | | Yep but what if I don't need to declare Zinc in the #stable version | of | my package for pharo 1.4 but I do need it for Pharo 1.3. So you are implying that you only have dependency on Zinc for the Pharo1.3 version of your project. Then you do something like the following in your baseline: spec for: #'pharo' do: [ spec package: 'that depends upon zinc' with: [ "the common required packages for your package" ]. ]. spec for: #'pharo1.3.x' do: [ spec project: 'Zinc' with: [ spec className: 'ConfigurationOfZinc'; versionString: #'stable'; repository: 'http://www.squeaksource.com/MetacelloRepository' ]. spec package: 'that depends upon zinc' with: [ spec requires: #('Zinc') ]. ]. If you use the #stable version in your baseline there is no need to anything special in your version spec. | | > On the other hand, if your project uses the standard API and has no | > special dependencies upon details of the project, then you should | > reference the #stable version from your configuration ... using | > #stable means that you don't have to fiddle with your | > configuration every time a new version is released and using | > #stable means that your configuration will work with multiple | > platform versions. | | Mmm. I still reluctant to specify a dependency against #stable. | A package that makes a bump in its version number because of changing | API will load the wrong version. If they update the #stable version at the same time then that is what you want ... To be fair, I will be changing the "automatic upgrade" behavior when I come out with the next release of Metacello ... it will include a Metacello scripting API and you will have more control over how Metacello will treat already loaded projects ... basically you will have to explicitly upgrade a project ... | | > Once you have verified that your project is working on pharo1.4, | > then you should publish a #stable version for #pharo1.4, so that | > users of your project will know that they can safely move to pharo | > 1.4 ... | | Right. That works fine if I use the #stable symbolic version to | declare | the dependency. | | Francois | | > | > ----- Original Message ----- | > | From: "Francois Stephany"<tulipe.moutarde@gmail.com> | > | To: pharo-project@lists.gforge.inria.fr | > | Sent: Tuesday, April 24, 2012 3:06:03 PM | > | Subject: [Pharo-project] How to declare Zinc/FS dependency in | > | Metacello Configuration for 1.4 | > | | > | I'm updating some Metacello configurations and I'm wondering how | > | to | > | declare the dependencies on stuff that have been integrated into | > | Pharo | > | 1.4 (e.g., Zinc, FS). | > | | > | Should I declare those dependencies into my configuration? If | > | yes, | > | against with version? | > | | > | My gut feeling is that I should create a new baseline that does | > | not | > | require any Zinc of FS. | > | That becomes a pain in the ass when developing in parallel for | > | 1.3 | > | and | > | 1.4. Is the only place where I can differentiate 1.3 and 1.4 is | > | in | > | the | > | stable symbolic version, right? | > | | > | What are people generally doing? | > | | > | | > | Cheers, | > | Francois | > | | > | | > | | -- | http://tulipemoutarde.be | CA: +1 778 558 3225 | BE: +32 65 709 131 | |