Conflicts and smalltalkCI

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

Conflicts and smalltalkCI

Sean DeNigris
While I'm untangling the StateSpecs mess, allow me to ask a more general question: How does one handle Metacello conflicts in smalltalkCI?

I have a GH fork of Magritte3 with many enhancements and fixes, on which I depend for many personal projects. I run into trouble when the "official" Magritte is loaded (by e.g. Glamour IIRC). In a manual loading script, I came up with the following:
onConflict: [ :ex | 
ex existingProjectRegistration projectName = 'Magritte3' ifTrue: [
ex newProjectRegistration baselineProjectSpec "The version we want is the one loaded via baseline, not the one via Configuration"
ifNil: [ ex disallow ] 
ifNotNil: [ ex allow ] ] ];

Is the approach above okay? Is there a better way? And most importantly, how would this sort of information be passed to smalltalkCI? I don't see a hook for conflict resolution…

Thanks!
s

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Conflicts and smalltalkCI

Dale Henrichs-3

Your approach is a good one ... and yes it seems that this a pretty good case for wanting to add an onConflict: block to the SCIMetacelloLoadSpec, so its' worth opening an issue against smalltalkCI ... I have already been pretty much hammered schedule wise but the next week or so will be even more frenetic for me ... after that though I will have the time to slip in some SmalltalkCI work, if Fabio hasn't already done something:)

Dale


On 03/21/2018 06:33 PM, Sean DeNigris wrote:
While I'm untangling the StateSpecs mess, allow me to ask a more general question: How does one handle Metacello conflicts in smalltalkCI?

I have a GH fork of Magritte3 with many enhancements and fixes, on which I depend for many personal projects. I run into trouble when the "official" Magritte is loaded (by e.g. Glamour IIRC). In a manual loading script, I came up with the following:
onConflict: [ :ex | 
ex existingProjectRegistration projectName = 'Magritte3' ifTrue: [
ex newProjectRegistration baselineProjectSpec "The version we want is the one loaded via baseline, not the one via Configuration"
ifNil: [ ex disallow ] 
ifNotNil: [ ex allow ] ] ];

Is the approach above okay? Is there a better way? And most importantly, how would this sort of information be passed to smalltalkCI? I don't see a hook for conflict resolution…

Thanks!
s
--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Metacello" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.