As an offshoot of the recent discussion with Steph and Christophe, I
though it would be interesting to show folks what a BaselineOf specification would look like if it were written out in STON format. Here's a baseline spec extracted from the BaselineOfSton for GemStone in the GsDevKit/ston project[1]: spec for: #'common' do: [ spec package: 'STON-Core'; package: 'STON-UTF8-Core' with: [ spec requires: 'STON-Core' ]; package: 'STON-Tests' with: [ spec requires: 'STON-Core' ]; package: 'STON-UTF8-Tests' with: [ spec requires: 'STON-UTF8-Core' ]; yourself. spec group: 'default' with: #('Core' 'UTF8'); group: 'Core' with: #('STON-Core'); group: 'UTF8' with: #('STON-UTF8-Core'); group: 'Tests' with: #('STON-Tests' 'STON-UTF8-Tests'); yourself . spec package: 'STON-Core' with: [ spec includes: #('STON-GemStone-Core') ]; package: 'STON-GemStone-Core' with: [ spec requires: #('STON-Core') ]; package: 'STON-Tests' with: [ spec includes: #('STON-GemStone-Tests') ]; package: 'STON-GemStone-Tests' with: [ spec requires: #('STON-Tests') ]; yourself ] I spelunked around a bit in the Metacello project data structure and extracted this list using a simple workspace[2] to produce this STON output [ MetacelloPackageSpec { #name : 'STON-GemStone-Core', #requires : [ 'STON-Core' ] }, MetacelloGroupSpec { #name : 'UTF8', #includes : [ 'STON-UTF8-Core' ] }, MetacelloGroupSpec { #name : 'Tests', #includes : [ 'STON-Tests', 'STON-UTF8-Tests' ] }, MetacelloPackageSpec { #name : 'STON-UTF8-Core', #requires : [ 'STON-Core' ] }, MetacelloPackageSpec { #name : 'STON-Tests', #requires : [ 'STON-Core' ], #includes : [ 'STON-GemStone-Tests' ] }, MetacelloPackageSpec { #name : 'STON-Core', #includes : [ 'STON-GemStone-Core' ] }, MetacelloGroupSpec { #name : 'default', #includes : [ 'Core', 'UTF8' ] }, MetacelloGroupSpec { #name : 'Core', #includes : [ 'STON-Core' ] }, MetacelloPackageSpec { #name : 'STON-UTF8-Tests', #requires : [ 'STON-UTF8-Core' ] }, MetacelloPackageSpec { #name : 'STON-GemStone-Tests', #requires : [ 'STON-Tests' ] } ] The #for:do: specification is not present (that information was stripped during the version creation process), but that type of information could easily be added back in ... everything else is present and accounted for ... Dale [1] https://github.com/GsDevKit/ston [2] https://gist.github.com/dalehenrich/4450b4aca405616b1891 |
Free forum by Nabble | Edit this page |