instantiations / tonel-vast

Tonel file format writer and reader implementation for VA Smalltalk
MIT License
9 stars 3 forks source link

Eliminate extra/unnecessary prereqs #89

Closed marianopeck closed 3 years ago

marianopeck commented 3 years ago

If I try to load Seaside like this:

repoPath := (CfsPath named: 'z:\Common\Development\git\Seaside\'). reader := TonelReader new readFrom: repoPath. loader := TonelLoader on: reader. loader beUnattended. loader doNotCreateVersions. loader mapTagsToSubapplications. loader namingStrategy appSuffix: 'App'. loader createsHookMethods: true. loader useApplicationPrerequisitesTable at: 'Seaside-Core' put: #('GreaseCoreApp' 'GreaseVASTCoreApp' ). loader usePackagePrerequisitesTable at: 'Seaside-Canvas' put: #('Seaside-Core'); loader loadApplicationsForPackagesNamed: #( 'Seaside-Core' 'Seaside-Canvas' ).

When it creates SeasideCanvasApp, it does have the correct prereq of SeasideCoreApp, but it adds the extra prerq of GreaseCoreApp. This app is NOT necessary. It makes even less sense to have GreaseCoreApp but not GreaseVASTCoreApp... I would expect both at least. But rather none of them as they are not needed because SeasideCoreApp already depends on them.

See the the attached where you see the resulting loaded SeasideCanvasApp

Screen Shot 2021-06-30 at 5 20 32 PM

Also...if you do a "explain prerequisites" it clearly says:

SeasideCanvasApp has extra immediate prerequisite GreaseCoreApp