Issue 144 in metacello: empty package spec wipes required specification

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

Issue 144 in metacello: empty package spec wipes required specification

metacello
Status: Accepted
Owner: [hidden email]
Labels: Type-Defect Priority-Medium Product-Core Milestone-1.0-beta.29

New issue 144 by [hidden email]: empty package spec wipes required  
specification
http://code.google.com/p/metacello/issues/detail?id=144

In working through the issues related to  
http://code.google.com/p/pharo/issues/detail?id=4337, I discovered that in  
the spec for OmniBrowser 1.2.4-baseline the spec in #squeakCommon for  
OB-Shout was:

   spec for: #squeakCommon do: [
...

     spec
       package: 'OB-Shout' with: [
         spec requires: #('OB-Standard' 'OB-Morphic'). ];
...
   ].

And then in the #pharo section there was an empty spec for 'OB-Shout' as  
follows:

   spec for: #pharo do: [
...

     spec
       package: 'OB-Shout';
...
   ].

The effect in Metacello 1.0-beta.28.3.3 was to cause the earlier required  
spec to be dropped ...

Now technically I think that this is the 'expected behavior' but this case  
demonstrates that 'expected behavior' isn't the same as 'correct  
behavior' ...

This change was introduced in  
ConfigurationOfOmniBrowser-MarianoMartinezPeck.118 (on the 15th of April),  
so it is a bit surprising that it took until recently to have the problem  
exposed ... or perhaps folks have been fighting this problem for awhile?

I'm not ready to change the behavior of Metacello at this point in time ,  
but I am going to take a close look.

Reply | Threaded
Open this post in threaded view
|

Re: Issue 144 in metacello: empty package spec wipes required specification

metacello

Comment #1 on issue 144 by [hidden email]: empty package spec wipes  
required specification
http://code.google.com/p/metacello/issues/detail?id=144

ConfigurationOfOmniBrowser-dkh.143 is the version that should be used to  
reproduce this problem in conjunction with Build #339 (Jun 7, 2011 8:06:25  
AM) and ConfigurationOfPharo-dkh.177

Reply | Threaded
Open this post in threaded view
|

Re: Issue 144 in metacello: empty package spec wipes required specification

metacello
Updates:
        Labels: -Milestone-1.0-beta.29 Milestone-1.0-beta.32

Comment #2 on issue 144 by [hidden email]: empty package spec wipes  
required specification
http://code.google.com/p/metacello/issues/detail?id=144

(No comment was entered for this change.)

Reply | Threaded
Open this post in threaded view
|

Re: Issue 144 in metacello: empty package spec wipes required specification

metacello
Updates:
        Status: Fixed
        Labels: Fixed-1.0-beta.32

Comment #3 on issue 144 by [hidden email]: empty package spec wipes  
required specification
http://code.google.com/p/metacello/issues/detail?id=144

After further review, this is the correct behavior ... it is important that  
a developer be allowed to override the complete specification allowing one  
to work from scratch.

   spec package: 'OB-Shout'.

Overrides any previously spec'ed information. To preserve previous  
information, one can do the following:

  spec package: 'OB-Shout' with: [].

which does a merge ... of course, normally when you are trying to override  
something you are adding something new to the spec, but the above will work  
if you are trying to strip the spec to it's bare minimum ...

So, this should be classed as 'pilot error' ...