[etoys-dev] Re: Merging Etoys
bert at freudenbergs.de
Mon Feb 22 04:43:55 EST 2010
On 22.02.2010, at 00:13, Andreas Raab wrote:
> Bert Freudenberg wrote:
>> In any case we need to packetize the whole image first, there must not be any methods left. Which is not exactly easy, just look at all the star categories in Morph for example ... Maybe someone can find Andreas' code that did this for 3.8.
> I'd recommend something slightly different namely to file out a list of classes and categories from Squeak and move all the classes in the Etoys image into the same categories. Then, define the set of packages as we have in the trunk right now and see what's left. Having the same package structure will make it a lot easier to diff and merge them.
> - Andreas
Sounds right - I did not mean to literally use this old change set but to take it as a reference point. And matching the trunk structure is important.
For the various non-trunk categories I think moving them to the "Etoys" package would be a good first-order guideline. Here is an example:
MessageSet openMessageList: (PackageInfo named: 'FlexibleVocabularies') extensionMethods name: 'ext methods'
We currently have about 30 packages more than Trunk (try the script below) but many of them are accidental and would have a natural home in the "Etoys" package (e.g. Connectors - unless someone would step up to maintain it as a separate package).
And we should fix the spelling of the "Etoys" package to not have a capital "T", both in the Etoys image and Trunk.
- Bert -
packages := PluggableSet new.
packages equalBlock: [:a :b | a sameAs: b].
packages hashBlock: [:a | a asLowercase hash].
SystemOrganization categories do: [:category |
packages add: (category copyUpTo: $-) asString].
Smalltalk allClassesDo: [:cls | cls organization categories do: [:protocol |
protocol first = $* ifTrue: [
packages add: (protocol allButFirst copyUpTo: $-)]]].
More information about the etoys-dev