GemTalk / Rowan

a new project/package manager for Smalltalk that supports FileTree and Tonel repositories, and is independent of Monticello and Metacello
MIT License
13 stars 7 forks source link

revisit RwDefinedProject>>addNewComponentNamed:...condition:... and RwDefinedProject>>addPlatformComponentNamed:...pathNameArray:conditionPathArray:... #660

Open dalehenrich opened 3 years ago

dalehenrich commented 3 years ago

Right now, I think that we should rename RwDefinedProject >> addPlatformComponentNamed:toComponentNamed:pathNameArray:conditionPathArray: to RwDefinedProject >> addStructureComponentNamedToComponentNamed:pathNameArray:conditionPathArray: (see RwTestProjectLibraryGenerator>>_addDefinitionsFor_0059: for the canonical example) and remove the RwDefinedProject>>addNewComponentNamed:...condition:... family of methods...

Currently the example in RwTestProjectLibraryGenerator>>genSpec_0059: is building the kind of structure that I think makes sense .. as other structural patterns appear as useful, then add additional methods ...

Evaluate RwDefinedProject >> addNewComponentNamed:toComponentNamed:condition: for the ability to compose structures a component at a time (the addPlatformComponentNamed:... protocol builds the intermediate component structure for you... so it is a convenient shorthad) ....

dalehenrich commented 3 years ago

Decided to use selector addComponentStructureFor:pathNameArray:conditionPathArray:comment: for the new method

dalehenrich commented 3 years ago

condition is either a single condition string or an array of strings ... the strings in the array are or'ed together and the single condition must match .... so the both are accepted in the conditionaPathArray argument in addComponentStructureFor:pathNameArray:conditionPathArray:comment: (see RwTestProjectLibraryGenerator>>>>_addDefinitionsFor_0059:)

dalehenrich commented 3 years ago

@LisaAlmarode has defined a the names for the Component classes, so it's time now to start incorporating the new names into the system, changing both class names and method names to match ...