Loading Seaside and Magritte in Pharo8 - baseline load conflicts
Hello everyone, so I canât resolve the problem in my project, which emerged when something happened in one of those repositories (it was working fine previously). When I try to load the project using metacello Metacello new baseline: #NewWave; repository: 'github://skaplar/NewWave:development'; load. I get MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.3/repository <github://SeasideSt/Grease:v1.4.3/repository> More info here (https://travis-ci.org/github/skaplar/NewWave/jobs/671515073 <https://travis-ci.org/github/skaplar/NewWave/jobs/671515073>) My baseline looks something like this: â¦Seaside seaside: spec spec baseline: 'Seaside3' with: [ spec repository: 'github://SeasideSt/Seaside:master/repository' ] â¦Magrite magritte: spec spec baseline: 'Magritte' with: [ spec loads: #( Seaside ); repository: 'github://magritte-metamodel/magritte:v3.6â ] If someone cares for a deeper look (https://github.com/skaplar/NewWave/tree/development/BaselineOfNewWave <https://github.com/skaplar/NewWave/tree/development/BaselineOfNewWave>) Any help would be appreciated! Thanks, Sebastijan
Hi,
On 14 Apr 2020, at 11:23, Sebastijan Kaplar <s.kaplar1@outlook.com> wrote:
MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.3/repository
Yes I have seen that also before in other situations, and it is super annoying. Apparently, v1.4.x and v1.4.3 are considered different/conflicting. I don't know if this is a bug or by design. I believe you can solve this with #onConflict directives on the Metacello class, but this also feels like a hack. Sven
On 14 Apr 2020, at 11:35, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi,
On 14 Apr 2020, at 11:23, Sebastijan Kaplar <s.kaplar1@outlook.com> wrote:
MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.3/repository
Yes I have seen that also before in other situations, and it is super annoying.
Apparently, v1.4.x and v1.4.3 are considered different/conflicting.
Yes, because Metacello does not recognise this naming convention. Instead, Metacello has/had the question mark as a notation (e.g. v1.4.?) to allow this but it also means that it will try to detect the latest version which was blowing up the GitHub rate api and thus it became unusable :( There is a need to fix package versioning and dependencies, but I am not following enough to know if there are efforts going on to improve package management.
I don't know if this is a bug or by design.
By design because it considers these versions different since it does not know about the naming convention.
I believe you can solve this with #onConflict directives on the Metacello class, but this also feels like a hack.
Yes, you should solve them yourself. Johan
Thanks everyone, I guess Iâll go with it. However, I can say #onConflict or #onConflictUseIncoming when loading the project, eg. Metacello new baseline: #NewWave; repository: 'github://skaplar/NewWave:development <github://skaplar/NewWave:development>'; onConflictUseIncoming; load. Iâm interested to know can I do something like that in my baseline configuration, so that the build does not fail? Sebastijan
On Apr 15, 2020, at 08:57, Johan Brichau <johan@inceptive.be> wrote:
On 14 Apr 2020, at 11:35, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi,
On 14 Apr 2020, at 11:23, Sebastijan Kaplar <s.kaplar1@outlook.com> wrote:
MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from github://SeasideSt/Grease:v1.4.3/repository
Yes I have seen that also before in other situations, and it is super annoying.
Apparently, v1.4.x and v1.4.3 are considered different/conflicting.
Yes, because Metacello does not recognise this naming convention. Instead, Metacello has/had the question mark as a notation (e.g. v1.4.?) to allow this but it also means that it will try to detect the latest version which was blowing up the GitHub rate api and thus it became unusable :(
There is a need to fix package versioning and dependencies, but I am not following enough to know if there are efforts going on to improve package management.
I don't know if this is a bug or by design.
By design because it considers these versions different since it does not know about the naming convention.
I believe you can solve this with #onConflict directives on the Metacello class, but this also feels like a hack.
Yes, you should solve them yourself.
Johan
participants (3)
-
Johan Brichau -
Sebastijan Kaplar -
Sven Van Caekenberghe