[Pkg] Installer: Installer-Scripts-damiencassou.19.mcz
squeak-dev-noreply at lists.squeakfoundation.org
squeak-dev-noreply at lists.squeakfoundation.org
Thu Jul 30 12:31:22 UTC 2009
Damien Cassou uploaded a new version of Installer-Scripts to project Installer:
http://www.squeaksource.com/Installer/Installer-Scripts-damiencassou.19.mcz
==================== Summary ====================
Name: Installer-Scripts-damiencassou.19
Author: damiencassou
Time: 30 July 2009, 2:31:03 pm
UUID: a075ce7d-fd64-401f-94ba-653d8efdc1be
Ancestors: Installer-Scripts-kph.18
- You can't nil-ed out a block variable in a closure-based image.
=============== Diff against Installer-Scripts-kph.18 ===============
Item was changed:
----- Method: InstallerScripts>>scriptUnloadTraits (in category 'as yet unclassified') -----
scriptUnloadTraits
"Phase 1: Disable traits activity and stub out the instance variables that will be removed in Phase 2"
SystemChangeNotifier uniqueInstance
noMoreNotificationsFor: ProvidedSelectors current;
noMoreNotificationsFor: RequiredSelectors current;
noMoreNotificationsFor: LocalSends current.
Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-StubOutAcessors.cs'.
"Phase 2: Recompile the image with classes in the old format, ie, without the traitsComposition and localSends instance variables"
[
ClassDescription subclass: #Metaclass
instanceVariableNames: 'thisClass'
classVariableNames: ' '
poolDictionaries: ' '
category: 'Kernel-Classes'.
ClassDescription subclass: #Class
instanceVariableNames: 'subclasses name classPool sharedPools environment category'
classVariableNames: ' '
poolDictionaries: ' '
category: 'Kernel-Classes'.
] on: Warning do: [:warning | warning resume].
"Phase 3: Remove all traits and all references to the Traits classes from the image, including methods that refer to traits functionality"
+ "Kill all traits"
+ Smalltalk allTraits do: [:trait | trait removeFromSystem].
- "Kill all traits" "variables are nil-ed out to prevent obsolete refs later"
- Smalltalk allTraits do: [:trait | trait removeFromSystem. trait := nil].
"Recompile all methods that were part of a trait"
+ SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]]].
- SystemNavigation default allBehaviorsDo: [:class | class selectorsAndMethodsDo: [:sel :method | class ~~ method methodClass ifTrue: [class recompile: sel]. method := nil]. class := nil].
"Remove references to traits from various places in the code"
Installer installUrl: 'http://installer.pbwiki.org/f/UnloadTraits-ClearRefs.cs'.
"Phase 4: Unload the Traits package and install the Traits compatability stubs for Monticello"
Installer unload: 'Traits'.
Installer installUrl: 'http://installer.pbwiki.org/f/TraitsStubs.cs'.
!
More information about the Packages
mailing list