Metacello feature: Can Metacello do this?

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

Metacello feature: Can Metacello do this?

Igor Stasenko
Can i test the configuration (with all dependencies),
that every version of packages it going to load are specified explicitly, i.e.
there is not 'load latest version from that branch'.

This is to ensure that given configuration will continue to work and
load same packages no matter
of what new future updates there is.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: Metacello feature: Can Metacello do this?

abergel
I do not think there is such possibility out of the box. I think that a clean solution is to be able to define a visitor that run over the graph of dependencies.

Cheers,
Alexandre


On 25 Feb 2011, at 16:03, Igor Stasenko wrote:

> Can i test the configuration (with all dependencies),
> that every version of packages it going to load are specified explicitly, i.e.
> there is not 'load latest version from that branch'.
>
> This is to ensure that given configuration will continue to work and
> load same packages no matter
> of what new future updates there is.
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






Reply | Threaded
Open this post in threaded view
|

Re: Metacello feature: Can Metacello do this?

Igor Stasenko
On 25 February 2011 20:10, Alexandre Bergel <[hidden email]> wrote:
> I do not think there is such possibility out of the box. I think that a clean solution is to be able to define a visitor that run over the graph of dependencies.
>

I heard about new tool which checks mc configs.. maybe it can do this?

> Cheers,
> Alexandre
>
>
> On 25 Feb 2011, at 16:03, Igor Stasenko wrote:
>
>> Can i test the configuration (with all dependencies),
>> that every version of packages it going to load are specified explicitly, i.e.
>> there is not 'load latest version from that branch'.
>>
>> This is to ensure that given configuration will continue to work and
>> load same packages no matter
>> of what new future updates there is.
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: Metacello feature: Can Metacello do this?

abergel
> On 25 February 2011 20:10, Alexandre Bergel <[hidden email]> wrote:
>> I do not think there is such possibility out of the box. I think that a clean solution is to be able to define a visitor that run over the graph of dependencies.
>>
>
> I heard about new tool which checks mc configs.. maybe it can do this?

The validator in the toolbox? As far as I know, there is no such feature. But Dale will be able to say more I guess.

Alexandre


>
>> Cheers,
>> Alexandre
>>
>>
>> On 25 Feb 2011, at 16:03, Igor Stasenko wrote:
>>
>>> Can i test the configuration (with all dependencies),
>>> that every version of packages it going to load are specified explicitly, i.e.
>>> there is not 'load latest version from that branch'.
>>>
>>> This is to ensure that given configuration will continue to work and
>>> load same packages no matter
>>> of what new future updates there is.
>>>
>>> --
>>> Best regards,
>>> Igor Stasenko AKA sig.
>>>
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






Reply | Threaded
Open this post in threaded view
|

Re: Metacello feature: Can Metacello do this?

Dale Henrichs
In reply to this post by Igor Stasenko
On 02/25/2011 11:03 AM, Igor Stasenko wrote:
> Can i test the configuration (with all dependencies),
> that every version of packages it going to load are specified explicitly, i.e.
> there is not 'load latest version from that branch'.
>
> This is to ensure that given configuration will continue to work and
> load same packages no matter
> of what new future updates there is.
>

Igor,

If I understand your question correctly the validator will do what you
want. In Metacello 1.0-beta.28 or later:

   (MetacelloToolBox validateConfiguration: ConfigurationOfXXX) explore.

Will produce an OrderedCollection of validation issues for the specified
configuration. See

   http://code.google.com/p/metacello/wiki/ValidationWarningsAndErrors

for a list of all of the validation issues that are checked. The one
that I think you are looking for is:

   noVersionSpecified: no version defined for the project reference or
     package. The version specified in the baseline or the latest
     version of the project or package in the repository will be used.

To validate the configuration and all of the configurations for the
projects it depends upon you can do this:

   (MetacelloToolBox
     validateConfiguration: ConfigurationOfXXX
     debug: #()
     recurse: true) select: [:issue |
       issue reasonCode == #noVersionSpecified]) explore

The above expression is focused on just that particular error, but in my
opinion all of the issues that are classified as CriticalWarning or
Error should not be trusted.

   Error issue : indicate conditions that are known to cause problems
                 or incorrect results
   Critical Warnings : indicate conditions that may lead to unexpected
                       resutls (#noVersionSpecified is a Critical
                       Warning)

So to be certain, I recommend that if the following expression returns
true you are in good shape:

   (MetacelloToolBox
     validateConfiguration: ConfigurationOfXXX
     debug: #()
     recurse: true) select: [:issue |  issue isWarning not ]) isEmpty

Dale