Loading Seaside and Magritte in Pharo8 - baseline load conflicts

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Loading Seaside and Magritte in Pharo8 - baseline load conflicts

skaplar
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: '<a href="github://skaplar/NewWave:development" class="">github://skaplar/NewWave:development';
  load.

I get 

MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from <a href="github://SeasideSt/Grease:v1.4.x/repository" class="">github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from <a href="github://SeasideSt/Grease:v1.4.3/repository" class="">github://SeasideSt/Grease:v1.4.3/repository

My baseline looks something like this:

…Seaside

seaside: spec
spec 
baseline: 'Seaside3'
with: [ 
spec repository: '<a href="github://SeasideSt/Seaside:master/repository" class="">github://SeasideSt/Seaside:master/repository'
]

…Magrite

magritte: spec
spec 
baseline: 'Magritte'
with: [ 
spec 
loads: #( Seaside );
repository: '<a href="github://magritte-metamodel/magritte:v3.6’" class="">github://magritte-metamodel/magritte:v3.6’ ]


Any help would be appreciated!

Thanks,
Sebastijan
Reply | Threaded
Open this post in threaded view
|

Re: Loading Seaside and Magritte in Pharo8 - baseline load conflicts

Sven Van Caekenberghe-2
Hi,

> On 14 Apr 2020, at 11:23, Sebastijan Kaplar <[hidden email]> 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
Reply | Threaded
Open this post in threaded view
|

Re: Loading Seaside and Magritte in Pharo8 - baseline load conflicts

Johan Brichau-2


> On 14 Apr 2020, at 11:35, Sven Van Caekenberghe <[hidden email]> wrote:
>
> Hi,
>
>> On 14 Apr 2020, at 11:23, Sebastijan Kaplar <[hidden email]> 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
Reply | Threaded
Open this post in threaded view
|

Re: Loading Seaside and Magritte in Pharo8 - baseline load conflicts

skaplar
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: '<a href="github://skaplar/NewWave:development" class="">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 <[hidden email]> wrote:



On 14 Apr 2020, at 11:35, Sven Van Caekenberghe <[hidden email]> wrote:

Hi,

On 14 Apr 2020, at 11:23, Sebastijan Kaplar <[hidden email]> wrote:

MetacelloConflictingProjectError: Load Conflict between existing BaselineOfGrease [baseline] from <a href="github://SeasideSt/Grease:v1.4.x/repository" class="">github://SeasideSt/Grease:v1.4.x/repository and BaselineOfGrease [baseline] from <a href="github://SeasideSt/Grease:v1.4.3/repository" class="">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