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

(v3) during project load, existing required project is "forcibly" reloaded AND cloned in different repository ... not expected #905

Open dalehenrich opened 11 months ago

dalehenrich commented 11 months ago

The project is Announcements and it has been cloned to $STONES_HOME/$registry/gs_projects prior to running this install script:

export ROWAN_PROJECTS_HOME=$STONES_HOME/test_git
bin/installProject.stone file:$STONES_HOME/$registry/gs_projects/Announcements/rowan/specs/Announcements.ston \
  --projectsHome=$STONES_HOME/$registry/gs_projects

At this point the git url is (with expanded env vars), as expected:

'file:/bosch1/users/dhenrich/_stones/test_rowanV3/gs_projects/Announcements'

Then RemoteServiceReplication is loaded using this install script (Announcements is a required by RemoteServiceReplication):

bin/installProject.stone file:$STONES_HOME/$registry/common_projects/RemoteServiceReplication/rowan/specs/RemoteServiceReplication.ston  \
  --projectsHome=$STONES_HOME/$registry/common_projects 

At this point the git url is (with expanded env vars):

`'file:/bosch1/users/dhenrich/_stones/test_git/Announcements'

and has been freshly cloned in ROWAN_PROJECTS_HOME ...

Since Announcements was already present in the image, I expected the existing project to be used and THAT IS NOT THE CASE.

As a related issue, when the required projects are loaded, they end up using ROWAN_PROJECTS_HOME and not --projectsHome which is also unexpected.

dalehenrich commented 5 months ago

I think that this is related to GemTalk/Rowan#912 and GemTalk/Rowan#926... need some tests

dalehenrich commented 5 months ago

Regarding the code in GsDevKit_stones commit: 380e2d2 ... first check if v2.1 is different already ... then consider using loadedLoadSpecs since that is a better way to work with a collection of related projects...