spec package: 'Grace-Parser' with: [��spec requires: {'SmaCC' . 'SmaCC-Reification'. 'Grace-Scope'} ].
- If SmaCC-Reification is in a non-default group, you probably want to add��spec package: 'Grace-Parser' with: [��spec requires: {'SmaCC' . 'Grace-Scope'} ].
Hi Andrew,I'd say you got almost everything right. Let me try to guide you to fix what's not so well and see if you can make it work.On Sun, Jul 8, 2018 at 4:19 PM Andrew P. Black <apblack@pdx.edu> wrote: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 mybaseline to the following:baseline: spec<baseline>spec for: #'common' do: [specbaseline: 'SmaCC'��with: [ spec repository: 'github://apblack/SmaCC:fglr' ].1) This is perfect.��specbaseline: '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'} ].2) This... It depends: Does the BaselineOfSmaCC export a package/group with that name?When you import another project, you should think a baseline as a kind of black box, where the only things you can import are those declared in the baseline. If that baseline loads other stuff you don't care.In other words, this means that the BaselineOfSmaCC that lives in the `fglr` branch needs to have a�� `spec package: 'SmaCC-Reification'` expression to work.��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'.3) And this is wrong :). You don't need to specify external packages like this.It's not up to your baseline to load SmaCC stuff. Your baseline describes things in your grace repository.It's up to SmaCC's baseline to describe every loadable unit (package, group...) that you can depend on.��So in summary, you should do 1) and 2) in BaselineOfGrace and make sure that 3) is done in��BaselineOfSmacc.Keep us posted!Guille
|
������ | Guille Polito Research Engineer Centre de Recherche en Informatique, Signal et Automatique de Lille CRIStAL - UMR 9189 French National Center for Scientific Research - http://www.cnrs.fr Phone: +33 06 52 70 66 13 |