[squeak-dev] Smalltalk cleanUp: agressiveOrNot

Levente Uzonyi leves at elte.hu
Wed Sep 4 13:13:03 UTC 2013


On Sat, 31 Aug 2013, Chris Muller wrote:

>>> When I prepare a new "shrunk trunk", I run this guy:
>>> https://github.com/squeak-smalltalk/squeak-ci/blob/master/shrink-trunk.st.
>>> You'll see it just unloads packages and implicitly trusts that those
>>> packages know how to correctly unload themselves.
>>
>> What do you think about having shrink-trunk.st simply be:
>>
>>     Smalltalk unloadAllKnownPackages
>>
>> so we can then we can maintain it from the image..?
>
> That method does a lot of stuff which is somewhat redundant.  It's too
> long anyway so I'll factor it so we can access just what we want in
> your shrink-trunk.st script.
>
> BTW, in ReleaseBuilder we call an agressive Smalltalk cleanUp: (true)
> vs. with #unloadAllKnownPackages and also your shrink we just call
> Smalltalk cleanUp: (false).
>
> I've looked at the methods and seen the differences between aggressive
> and not but...  I was wondering does anyone know whether there is an
> over-arching conceptual difference between the two?  e.g., under what
> circumstances would a particular clean-up be considered aggressive vs.
> not?

The idea is that a non-aggressive cleanUp will not modify non-volatile 
state (it will flush caches for example), but an aggressive one will 
modify stuff (delete changesets, empty cateogires, obsolete packageInfos, 
uni-classes, projects, etc).

Here's a comment from Andreas:
"Clean up. When aggressive is true, this will destroy projects, change 
sets, etc."


Levente


More information about the Squeak-dev mailing list