Ok thanks so what I wrote is correct and I should finish the configuration I'm writing - I got distracted by a bath tube that I had to destroy :) Stef
Stef,
Yes... the specifications from each section are merged in order to produce the final set of specifications:
for: #common do: [ spec: 'package' with: [ spec repository: 'http://example.com/repo' ]]. for: #pharo do: [ spec: 'package' with: [ spec file: 'package.pharo-dkh.1' ]]. for: #squeak do: [ spec: 'package' with: [ spec file: 'package.squeak-dkh.1' ]].
with the attributes #(common pharo) it resolves to:
spec: 'package' with: [ spec file: 'package.pharo-dkh.1'; repository: 'http://example.com/repo' ].
with the attributes #(common pharo) it resolves to:
spec: 'package' with: [ spec file: 'package.squeak-dkh.1'; repository: 'http://example.com/repo' ].
with the attributes #(common gemstone) it resolves to:
spec: 'package' with: [ spec repository: 'http://example.com/repo' ].
and so on...
Dale ----- Original Message ----- | From: "Stéphane Ducasse" <stephane.ducasse@inria.fr> | To: Pharo-project@lists.gforge.inria.fr | Sent: Saturday, October 20, 2012 2:10:03 PM | Subject: Re: [Pharo-project] Group metacello question | | Hi dale | | it is correct that | | common | squeakcommon | pharo | then pharoxxx | sections are loaded all together? | | Stef | > I'm updating the chapter | > | > | > \paragraph{Loading order.} | > \sd{dale is it correct?} Notice that if you | > in a system where the platform attributes are (\ct{#common} | > \ct{#squeakCommon} \ct{#pharo} \ct{#'pharo2.x'} | > \ct{#'pharo2.0.x'}) (you can obtain this information doing | > \ct{ConfigurationOf project attributes}) and you have specified | > three sections such as \ct{#common}, \ct{#pharo} and | > \ct{#pharo2.0.x}, these sections will loaded one after the other. | > | > \begin{code}{} | > ConfigurationOfCoolBrowser>>baseline09: spec | > <version: '0.9-baseline'> | > | > !\textbf{spec for: \#common do: [}! | > spec blessing: #baseline. | > spec repository: 'http://www.example.com/CoolBrowser'. | > | > spec | > package: 'CoolBrowser-Core'; | > package: 'CoolBrowser-Tests' with: [ spec | > requires: 'CoolBrowser-Core' ]; | > package: 'CoolBrowser-Addons' with: [ spec | > requires: 'CoolBrowser-Core' ]; | > package: 'CoolBrowser-AddonsTests' with: [ | > spec requires: #('CoolBrowser-Addons' | > 'CoolBrowser-Tests' ) ]. | > spec | > group: 'default' with: #('CoolBrowser-Core' | > 'CoolBrowser-Addons' ); | > group: 'Core' with: #('CoolBrowser-Core' | > 'CoolBrowser-Platform' ); | > group: 'Extras' with: #('CoolBrowser-Addon'); | > group: 'Tests' with: #('CoolBrowser-Tests' | > 'CoolBrowser-AddonsTests' ); | > group: 'CompleteWithoutTests' with: #('Core', | > 'Extras' ); | > group: 'CompleteWithTests' with: | > #('CompleteWithoutTests', 'Tests' )]. | > | > !\textbf{spec for: \#gemstone do: [}! | > spec package: 'CoolBrowser-Platform' with: | > 'CoolBrowser-PlatformGemstone']. | > !\textbf{spec for: \#pharo do: [}! | > spec package: 'CoolBrowser-Platform' with: | > 'CoolBrowser-PlatformPharo']. | > !\textbf{spec for: \#pharo2.0.x do: [}! | > spec package: 'CoolBrowser-Addons' with: | > 'CoolBrowser-Core20']. | > | > \end{code} | > | > | | |