I have a baselineOfGrace that has been working fine for some time:
baseline: spec <baseline>
spec for: #'common' do: [ spec baseline: 'SmaCC' with: [ spec repository: 'github://apblack/SmaCC:working' ]. spec baseline: 'FileDialog' with: [ spec repository: 'github://peteruhnak/file-dialog/repository' ]. spec package: 'Grace-Scope'. spec package: 'Grace-Names' with: [ spec requires: {'Grace-Parser' . 'Grace-Scope'} ]. spec package: 'Grace-Parser' with: [ spec requires: {'SmaCC' . 'Grace-Scope'} ]. spec package: 'Grace-HValidator' with: [ spec requires: {'SmaCC' } ]. spec package: 'Grace-IDE' with: [ spec requires: {'FileDialog' . 'Grace-Compiler'} ]. spec package: 'Grace-Compiler' with: [ spec requires: {'Grace-Parser' . 'Grace-Names'} ]. spec package: 'Grace-Tests' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-HValidator'} ]. spec package: 'Grace-Types' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-Scope'} ]. spec package: 'Grace-TypeTests' with: [ spec requires: {'Grace-Tests' . 'Grace-Types' } ]. spec package: 'Grace-Ast' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-Scope' . 'Grace-Types'} ]. spec package: 'Grace-AstTests' with: [ spec requires: {'Grace-Tests' . 'Grace-Ast'} ]. ]
Now I have added a dependency from the package âGrace-Parserâ on the package 'SmaCC-Reificationâ. The latter exists only within the branch SmaCC called âfglrâ. So I have changed my baseline to the following:
baseline: spec <baseline>
spec for: #'common' do: [ spec baseline: 'SmaCC' with: [ spec repository: 'github://apblack/SmaCC:fglr' ]. spec baseline: 'FileDialog' with: [ spec repository: 'github://peteruhnak/file-dialog/repository' ]. spec package: 'Grace-Scope'. spec package: 'Grace-Names' with: [ spec requires: {'Grace-Parser' . 'Grace-Scope'} ]. spec package: 'Grace-Parser' with: [ spec requires: {'SmaCC' . 'SmaCC-Reification'. 'Grace-Scope'} ]. spec package: 'Grace-HValidator' with: [ spec requires: {'SmaCC' } ]. spec package: 'Grace-IDE' with: [ spec requires: {'FileDialog' . 'Grace-Compiler'} ]. spec package: 'Grace-Compiler' with: [ spec requires: {'Grace-Parser' . 'Grace-Names'} ]. spec package: 'Grace-Tests' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-HValidator'} ]. spec package: 'Grace-Types' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-Scope'} ]. spec package: 'Grace-TypeTests' with: [ spec requires: {'Grace-Tests' . 'Grace-Types' } ]. spec package: 'Grace-Ast' with: [ spec requires: {'Grace-Parser' . 'Grace-Names' . 'Grace-Scope' . 'Grace-Types'} ]. spec package: 'Grace-AstTests' with: [ spec requires: {'Grace-Tests' . 'Grace-Ast'} ]. spec package: 'SmaCC-Reification'. ]
Notice that I have changed the branch of SmaCC, added the dependency to âGrace-Parserâ, and added a spec package" statement for âSmaCC-Reificationâ This does not work. I get a MetacelloPackageSpecResolutionError:
'Could not resolve: SmaCC-Reification [SmaCC-Reification] in /Users/black/Development/Pharo/images/Pharo 7.0 SmallGrace 0.34/pharo-local/package-cache https://github.com/apblack/GraceInPharo.git[master]' <https://github.com/apblack/GraceInPharo.git%5Bmaster%5D'> This is not surprising, because there is nothing in that package-cache. I have configured iceberg to use a shared directory (~/iceberg), and SmaCC has been cloned there â including the 'SmaCC-Reificationâ package
Sylvanite: ~/iceberg/apblack/SmaCC$ ls -d *Reif* SmaCC-Reification.package Sylvanite: ~/iceberg/apblack/SmaCC$
What is going wrong, and how can I get this configured to work correctly? Thanks to all! Andrew