[squeak-dev] Metacello and Squeak4.4

Dale Henrichs dhenrich at vmware.com
Sun Aug 5 18:14:20 UTC 2012


I've added Squeak4.4 as one of the travis-ci build options[1].

I've updated the FileTree project to do builds against Squeak4.3 and Squeak4.4[2].

Then as I contemplate adding Squeak4.4 to the Metacello builds, I realized that there is one more addition to Squeak4.4 that would allow for better Metacello support. 

If you add the method SmalltalkImage>>metacelloPlatformAttributes, then you can control the default list of Metacello atributes for your platform:

metacelloPlatformAttributes
    "Returns the tags for the conditional platform loading in Metacello. 
     Pay attention the order is important: from most to least general." 
 
    ^ #(#squeakCommon #squeak #'squeak4.x' #'squeak4.4.x')

This example is using constant literals to give you and idea of what needs to be defined, but you could create the atributes list dynamically based on the actual version of the release ... if you use constants you'll want to make sure this method is changed when you make a new release...

If you don't implement this method, then I have to add this information in a platform-specific package and right now I don't need a Squeak4.4-specific package.

I'll hold off on doing anything until I hear from you guys, so for the time being the platform attributes will be #squeak.4.3.x for Squeak4.4...

Dale

[1] http://travis-ci.org/#!/dalehenrich/builderCI/builds/2041711
[2] http://travis-ci.org/#!/dalehenrich/filetree/builds/2041755

----- Original Message -----
| From: "Dale Henrichs" <dhenrich at vmware.com>
| To: "The general-purpose Squeak developers list" <squeak-dev at lists.squeakfoundation.org>
| Sent: Saturday, August 4, 2012 12:00:27 PM
| Subject: Re: [squeak-dev] Metacello and Squeak4.4
| 
| Okay,
| 
| Using Frank's 4.4 trunk (update 12154) you can load
| Metacello-Base-dkh.98 from http://seaside.gemstone.com/ss/metacello
| and then use the Metacello Preview scripting API[1].
| 
| As reported earlier, there are still some test failures in
| MetacelloPreview 1.0-beta.32.2, but the fixes are to the tests and
| not the functional code base, so I'd say you can include
| Metacello-Base-dkh.98 in 4.4 at your leisure.
| 
| To load the basic Metacello functionality, you can use the Scripting
| API to load another configuration or execute the following:
| 
|   Metacello new
|     configuration: 'MetacelloPreview';
|     version: #stable;
|     gemsource: 'metacello';
|     load: 'batch'.
| 
| \to load the tests, exedute:
| 
|   Metacello new
|     configuration: 'MetacelloPreview';
|     version: #stable;
|     gemsource: 'metacello';
|     load: 'TravisCI'.
| 
| I'll release 1.0-beta.32.3 in a week or so, but I'll just update the
| #stable definition, so the above expressions should be used to
| guarantee that you're picking up the latest release...
| 
| Dale
| 
| [1]
| https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md
| 
| ----- Original Message -----
| | From: "Dale Henrichs" <dhenrich at vmware.com>
| | To: "The general-purpose Squeak developers list"
| | <squeak-dev at lists.squeakfoundation.org>
| | Sent: Friday, August 3, 2012 4:19:58 PM
| | Subject: Re: [squeak-dev] Metacello and Squeak4.4
| | 
| | After the patch, a reasonable number of test issues:
| | 
| |   695 run, 691 passes, 0 expected failures, 2 failures, 2 errors, 0
| |   unexpected passes
| | 
| | Dale
| | 
| | ----- Original Message -----
| | | From: "Dale Henrichs" <dhenrich at vmware.com>
| | | To: "The general-purpose Squeak developers list"
| | | <squeak-dev at lists.squeakfoundation.org>
| | | Sent: Friday, August 3, 2012 1:25:57 PM
| | | Subject: Re: [squeak-dev] Metacello and Squeak4.4
| | | 
| | | Sounds fair to me ... I'll patch my current in place and kick off
| | | the
| | | tests again ...
| | | 
| | | Thanks guys,
| | | 
| | | Dale
| | | 
| | | ----- Original Message -----
| | | | From: "Frank Shearar" <frank.shearar at gmail.com>
| | | | To: "The general-purpose Squeak developers list"
| | | | <squeak-dev at lists.squeakfoundation.org>
| | | | Sent: Friday, August 3, 2012 1:20:57 PM
| | | | Subject: Re: [squeak-dev] Metacello and Squeak4.4
| | | | 
| | | | On 3 August 2012 21:17, Colin Putney <colin at wiresong.com>
| | | | wrote:
| | | | >
| | | | >
| | | | > On Fri, Aug 3, 2012 at 1:00 PM, Dale Henrichs
| | | | > <dhenrich at vmware.com>
| | | | > wrote:
| | | | >>
| | | | >> Frank,
| | | | >>
| | | | >> The Metacello tests add/remove global variables to/from
| | | | >> Smalltalk
| | | | >> and it
| | | | >> looks like Environment does not implement
| | | | >> #removeKey:ifAbsent:,
| | | | >> so
| | | | >> I've got
| | | | >> some 400 test failures because I can't remove a global from
| | | | >> Smalltalk ...
| | | | >>
| | | | >> I can hack this for the time being but I'm curious what the
| | | | >> longer
| | | | >> term
| | | | >> plan will be with regards to removing global variables from
| | | | >> Smalltalk or
| | | | >> perhaps leaving #removeKey:ifAbsent: out is inadvertent ...
| | | | >>
| | | | >> BTW, I'm using update 12154 ...
| | | | >
| | | | >
| | | | > First, Environments is being pushed to Squeak 4.5, so it
| | | | > should
| | | | > be
| | | | > removed
| | | | > from 4.4 shortly.
| | | | >
| | | | > During the development period for 4.5, Environments will
| | | | > implement
| | | | > #removeKey:ifAbsent:, but eventually that will be deprecated
| | | | > in
| | | | > favour of
| | | | > #undeclare: or something similar.
| | | | 
| | | | For the nonce, how about we implement #removeKey:ifAbsent: (see
| | | | Inbox), so we can at least unblock Dale?
| | | | 
| | | | We do need to remove Environments, but Dale's work contributes
| | | | to
| | | | ensuring/checking 4.4's stability.
| | | | 
| | | | frank
| | | | 
| | | | > Colin
| | | | >
| | | | >
| | | | >
| | | | >
| | | | 
| | | | 
| | | 
| | | 
| | 
| | 
| 
| 


More information about the Squeak-dev mailing list