Frank Shearar uploaded a new version of 45Deprecated to project The Inbox:
http://source.squeak.org/inbox/45Deprecated-fbs.2.mcz ==================== Summary ==================== Name: 45Deprecated-fbs.2 Author: fbs Time: 2 May 2013, 10:48:54.126 pm UUID: 929d7158-8a95-4cc2-a867-25158661ed87 Ancestors: 45Deprecated-fbs.1 The special purpose ReleaseBuilders here. Move all apparently unused instance-side ReleaseBuilder methods here. =============== Diff against 45Deprecated-fbs.1 =============== Item was added: + SystemOrganization addCategory: #'45Deprecated'! Item was added: + ----- Method: ReleaseBuilder>>cleanUpChanges (in category '*45Deprecated-utilities') ----- + cleanUpChanges + "Clean up the change sets" + + "ReleaseBuilder new cleanUpChanges" + + | projectChangeSetNames | + + "Delete all changesets except those currently used by existing projects." + projectChangeSetNames := Project allSubInstances collect: [:proj | proj changeSet name]. + ChangeSet removeChangeSetsNamedSuchThat: + [:cs | (projectChangeSetNames includes: cs) not]. + ! Item was added: + ----- Method: ReleaseBuilder>>cleanUpEtoys (in category '*45Deprecated-utilities') ----- + cleanUpEtoys + "ReleaseBuilder new cleanUpEtoys" + + + StandardScriptingSystem removeUnreferencedPlayers. + + (self confirm: 'Remove all projects and players?') + ifFalse: [^self]. + Project removeAllButCurrent. + + #('Morphic-UserObjects' 'EToy-UserObjects' 'Morphic-Imported' ) + do: [:each | SystemOrganization removeSystemCategory: each]! Item was added: + ----- Method: ReleaseBuilder>>finalCleanup (in category '*45Deprecated-utilities') ----- + finalCleanup + "ReleaseBuilder new finalCleanup" + + + DataStream initialize. + Behavior flushObsoleteSubclasses. + + "The pointer to currentMethod is not realy needed (anybody care to fix this) and often holds on to obsolete bindings" + MethodChangeRecord allInstancesDo: [:each | each noteNewMethod: nil]. + + self cleanUpEtoys. + SmalltalkImage current fixObsoleteReferences. + + Smalltalk flushClassNameCache. + Symbol compactSymbolTable.! Item was added: + ----- Method: ReleaseBuilder>>finalStripping (in category '*45Deprecated-utilities') ----- + finalStripping + "ReleaseBuilder new finalStripping" + ! Item was added: + ----- Method: ReleaseBuilder>>fixObsoleteReferences (in category '*45Deprecated-utilities') ----- + fixObsoleteReferences + "ReleaseBuilder new fixObsoleteReferences" + + + Preference allInstances do: [:each | | informee | + informee := each instVarNamed: #changeInformee. + ((informee isKindOf: Behavior) + and: [informee isObsolete]) + ifTrue: [ + Transcript show: each name; cr. + each instVarNamed: #changeInformee put: (Smalltalk at: (informee name copyReplaceAll: 'AnObsolete' with: '') asSymbol)]]. + + CompiledMethod allInstances do: [:method | + | obsoleteBindings | + obsoleteBindings := method literals select: [:literal | + literal isVariableBinding + and: [literal value isBehavior + and: [literal value isObsolete]]]. + obsoleteBindings do: [:binding | + | obsName realName realClass | + obsName := binding value name. + Transcript show: obsName; cr. + realName := obsName copyReplaceAll: 'AnObsolete' with: ''. + realClass := Smalltalk at: realName asSymbol ifAbsent: [UndefinedObject]. + binding isSpecialWriteBinding + ifTrue: [binding privateSetKey: binding key value: realClass] + ifFalse: [binding key: binding key value: realClass]]]. + + + Behavior flushObsoleteSubclasses. + Smalltalk garbageCollect; garbageCollect. + SystemNavigation default obsoleteBehaviors size > 0 + ifTrue: [SystemNavigation default inspect]! Item was added: + ----- Method: ReleaseBuilder>>initialCleanup (in category '*45Deprecated-utilities') ----- + initialCleanup + "Perform various image cleanups in preparation for making a Squeak gamma release candidate image." + "ReleaseBuilder new initialCleanup" + + Undeclared removeUnreferencedKeys. + StandardScriptingSystem initialize. + + (Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents']. + Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']. + + Smalltalk at: #Browser ifPresent:[:br| br initialize]. + ScriptingSystem deletePrivateGraphics. "?" + + self cleanUpChanges. + ChangeSet current clear. + ChangeSet current name: 'Unnamed1'. + Smalltalk garbageCollect. + + "Reinitialize DataStream; it may hold on to some zapped entitities" + DataStream initialize. + + Smalltalk garbageCollect. + ScheduledControllers := nil. + Smalltalk garbageCollect. + + SMSqueakMap default purge. + + ! Item was added: + ----- Method: ReleaseBuilder>>installPreferences (in category '*45Deprecated-utilities') ----- + installPreferences + Preferences initialize. + Preferences chooseInitialSettings. + ! Item was added: + ----- Method: ReleaseBuilder>>installReleaseSpecifics (in category '*45Deprecated-utilities') ----- + installReleaseSpecifics + "ReleaseBuilder new installReleaseSpecifics" + ! Item was added: + ----- Method: ReleaseBuilder>>installVersionInfo (in category '*45Deprecated-utilities') ----- + installVersionInfo + "ReleaseBuilder new installVersionInfo" + ! Item was added: + ----- Method: ReleaseBuilder>>makeSqueaklandRelease (in category '*45Deprecated-squeakland') ----- + makeSqueaklandRelease + "ReleaseBuilder new makeSqueaklandRelease" + + self + makeSqueaklandReleasePhasePrepare; makeSqueaklandReleasePhaseStripping; makeSqueaklandReleasePhaseFinalSettings; makeSqueaklandReleasePhaseCleanup! Item was added: + ----- Method: ReleaseBuilder>>makeSqueaklandReleasePhaseCleanup (in category '*45Deprecated-squeakland') ----- + makeSqueaklandReleasePhaseCleanup + "ReleaseBuilder new makeSqueaklandReleasePhaseCleanup" + + Smalltalk at: #Browser ifPresent:[:br| br initialize]. + ChangeSet + removeChangeSetsNamedSuchThat: [:cs | cs name ~= ChangeSet current name]. + ChangeSet current clear. + ChangeSet current name: 'Unnamed1'. + Smalltalk garbageCollect. + "Reinitialize DataStream; it may hold on to some zapped entitities" + DataStream initialize. + "Remove existing player references" + References keys do: [:k | References removeKey: k]. + Smalltalk garbageCollect. + ScheduledControllers := nil. + Behavior flushObsoleteSubclasses. + Smalltalk + garbageCollect; + garbageCollect. + SystemNavigation default obsoleteBehaviors isEmpty + ifFalse: [self error: 'Still have obsolete behaviors']. + + "Reinitialize DataStream; it may hold on to some zapped entitities" + DataStream initialize. + Smalltalk fixObsoleteReferences. + Smalltalk abandonTempNames. + Smalltalk zapAllOtherProjects. + Smalltalk flushClassNameCache. + Symbol compactSymbolTable! Item was added: + ----- Method: ReleaseBuilder>>makeSqueaklandReleasePhaseFinalSettings (in category '*45Deprecated-squeakland') ----- + makeSqueaklandReleasePhaseFinalSettings + "ReleaseBuilder new makeSqueaklandReleasePhaseFinalSettings" + + | serverName serverURL serverDir updateServer highestUpdate newVersion | + + ProjectLauncher splashMorph: (FileDirectory default readOnlyFileNamed: 'scripts\SqueaklandSplash.morph') fileInObjectAndCode. + + "Dump all morphs so we don't hold onto anything" + World submorphsDo:[:m| m delete]. + + #( + (honorDesktopCmdKeys false) + (warnIfNoChangesFile false) + (warnIfNoSourcesFile false) + (showDirectionForSketches true) + (menuColorFromWorld false) + (unlimitedPaintArea true) + (useGlobalFlaps false) + (mvcProjectsAllowed false) + (projectViewsInWindows false) + (automaticKeyGeneration true) + (securityChecksEnabled true) + (showSecurityStatus false) + (startInUntrustedDirectory true) + (warnAboutInsecureContent false) + (promptForUpdateServer false) + (fastDragWindowForMorphic false) + + (externalServerDefsOnly true) + (expandedFormat false) + (eToyFriendly true) + (eToyLoginEnabled true) + (magicHalos true) + (mouseOverHalos true) + (biggerHandles false) + (selectiveHalos true) + (includeSoundControlInNavigator true) + (readDocumentAtStartup true) + (preserveTrash true) + (slideDismissalsToTrash true) + + ) do:[:spec| + Preferences setPreference: spec first toValue: spec last]. + "Workaround for bug" + Preferences enable: #readDocumentAtStartup. + + World color: (Color r: 0.9 g: 0.9 b: 1.0). + + "Clear all server entries" + ServerDirectory serverNames do: [:each | ServerDirectory removeServerNamed: each]. + SystemVersion current resetHighestUpdate. + + "Add the squeakalpha update stream" + serverName := 'Squeakalpha'. + serverURL := 'squeakalpha.org'. + serverDir := serverURL , '/'. + + updateServer := ServerDirectory new. + updateServer + server: serverURL; + directory: 'updates/'; + altUrl: serverDir; + user: 'sqland'; + password: nil. + Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}. + + "Add the squeakland update stream" + serverName := 'Squeakland'. + serverURL := 'squeakland.org'. + serverDir := serverURL , '/'. + + updateServer := ServerDirectory new. + updateServer + server: serverURL; + directory: 'public_html/updates/'; + altUrl: serverDir. + Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}. + + highestUpdate := SystemVersion current highestUpdate. + (self confirm: 'Reset highest update (' , highestUpdate printString , ')?') + ifTrue: [SystemVersion current highestUpdate: 0]. + + newVersion := UIManager default request: 'New version designation:' initialAnswer: 'Squeakland 3.8.' , highestUpdate printString. + SystemVersion newVersion: newVersion. + (self confirm: self version , ' + Is this the correct version designation? + If not, choose no, and fix it.') ifFalse: [^ self]. + ! Item was added: + ----- Method: ReleaseBuilder>>makeSqueaklandReleasePhasePrepare (in category '*45Deprecated-squeakland') ----- + makeSqueaklandReleasePhasePrepare + "ReleaseBuilder new makeSqueaklandReleasePhasePrepare" + + Undeclared removeUnreferencedKeys. + StandardScriptingSystem initialize. + Preferences initialize. + "(Object classPool at: #DependentsFields) size > 1 ifTrue: [self error:'Still have dependents']." + Undeclared isEmpty ifFalse: [self error:'Please clean out Undeclared']. + + "Dump all projects" + Project allSubInstancesDo:[:prj| prj == Project current ifFalse:[Project deletingProject: prj]]. + + "Set new look so we don't need older fonts later" + StandardScriptingSystem applyNewEToyLook. + + Smalltalk at: #Browser ifPresent:[:br| br initialize]. + ScriptingSystem deletePrivateGraphics. + ChangeSet removeChangeSetsNamedSuchThat: + [:cs| cs name ~= ChangeSet current name]. + ChangeSet current clear. + ChangeSet current name: 'Unnamed1'. + Smalltalk garbageCollect. + "Reinitialize DataStream; it may hold on to some zapped entitities" + DataStream initialize. + "Remove existing player references" + References keys do:[:k| References removeKey: k]. + + Smalltalk garbageCollect. + ScheduledControllers := nil. + Smalltalk garbageCollect. + ! Item was added: + ----- Method: ReleaseBuilder>>makeSqueaklandReleasePhaseStripping (in category '*45Deprecated-squeakland') ----- + makeSqueaklandReleasePhaseStripping + "ReleaseBuilder new makeSqueaklandReleasePhaseStripping" + + #(#Helvetica #Palatino #Courier #ComicSansMS ) + do: [:n | TextConstants + removeKey: n + ifAbsent: []]. + Smalltalk + at: #Player + ifPresent: [:superCls | superCls + allSubclassesDo: [:cls | + cls isSystemDefined + ifFalse: [cls removeFromSystem]]]. + Smalltalk garbageCollect. + Smalltalk discardFFI; discardSUnit; discardSpeech. + "discardMVC;" + SystemOrganization removeEmptyCategories. + Smalltalk garbageCollect. + ScheduledControllers := nil. + Behavior flushObsoleteSubclasses. + Smalltalk garbageCollect; garbageCollect. + DataStream initialize. + Smalltalk fixObsoleteReferences! Item was added: + ----- Method: ReleaseBuilder>>prepareReleaseImage (in category '*45Deprecated-utilities') ----- + prepareReleaseImage + "Perform various image cleanups in preparation for making a Squeak gamma release candidate image." + "ReleaseBuilder new prepareReleaseImage" + + (self confirm: 'Are you sure you want to prepare a release image? + This will perform several irreversible cleanups on this image.') + ifFalse: [^ self]. + + self + initialCleanup; + installPreferences; + finalStripping; + installReleaseSpecifics; + finalCleanup; + installVersionInfo + ! Item was added: + ReleaseBuilder subclass: #ReleaseBuilderDeveloper + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: '45Deprecated'! + + !ReleaseBuilderDeveloper commentStamp: 'gk 2/28/2005 13:27' prior: 0! + This release builder subclass is used for the official Squeak distribution Basic, which currently is the base image of Squeak. + Full is then built on top of Basic using a loadscript from SqueakMap. Minimal is constructed using another script from SqueakMap that removes packages that are included in Basic.! Item was added: + ----- Method: ReleaseBuilderDeveloper>>cleanUpChanges (in category 'utilities') ----- + cleanUpChanges + "Clean up the change sets" + + "ReleaseBuilderDeveloper new cleanUpChanges" + + ! Item was added: + ----- Method: ReleaseBuilderDeveloper>>installPreferences (in category 'utilities') ----- + installPreferences + super installPreferences. + #( + (updateFromServerAtStartup true) + + ) do:[:spec| + Preferences setPreference: spec first toValue: spec last]! Item was added: + ----- Method: ReleaseBuilderDeveloper>>installReleaseSpecifics (in category 'utilities') ----- + installReleaseSpecifics + "Currently just clear and add the ServerDirectories + and update streams we want as default." + + "Clear all server entries" + ServerDirectory serverNames do: [:each | ServerDirectory removeServerNamed: each]. + + "Add default entries, added an entry for the new file area. + The others are the current ones that see to work + as of 2005-02-28 and I recreated them using source." + ServerDirectory addServer: (ServerDirectory new + type: #ftp; + user: ''; + server: 'box1.squeakfoundation.org'; + altUrl: 'http://box1.squeakfoundation.org/files'; + directory: 'files'; + keepAlive: false) named: 'Squeak.org Archive'. + ServerDirectory addServer: (ServerDirectory new + type: #ftp; + server: 'st.cs.uiuc.edu'; + user: 'anonymous'; + directory: '/Smalltalk/Squeak'; + keepAlive: false) named: 'UIUC Archive'. + ServerDirectory addServer: (ServerDirectory new + type: #ftp; + server: 'ftp.create.ucsb.edu'; + user: 'anonymous'; + directory: '/pub/Smalltalk/Squeak'; + keepAlive: false) named: 'UCSBCreate Archive'. + ServerDirectory addServer: SuperSwikiServer defaultSuperSwiki named: 'Bob SuperSwiki'. + ServerDirectory addServer: (SuperSwikiServer new + type: #http; + server: 'squeakland.org:8080'; + altUrl: 'http://www.squeakland.org/uploads'; + directory: '/super/SuperSwikiProj'; + keepAlive: false; + acceptsUploads: true) named: 'Squeakland SuperSwiki'. + ServerDirectory addServer: (HTTPServerDirectory new + type: #ftp; + user: 'sqland'; + server: 'www.squeakland.org'; + altUrl: 'http://www.squeakland.org/projects'; + directory: 'projects'; + keepAlive: false) named: 'Squeakland Projects'. + + "Add the update streams here just as Squeakland does? + serverName := 'Squeakland'. + serverURL := 'squeakland.org'. + serverDir := serverURL , '/'. + updateServer := ServerDirectory new. + updateServer + server: serverURL; + directory: 'public:=html/updates/'; + altUrl: serverDir. + Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}. + " + ! Item was added: + ReleaseBuilder subclass: #ReleaseBuilderNihongo + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: '45Deprecated'! Item was added: + ----- Method: ReleaseBuilderNihongo>>release (in category 'release') ----- + release + "self release" + + Utilities emptyScrapsBook. + + Display setExtent: 960@720 depth: 16. + World color: (Color r: 0.935 g: 0.935 b: 0.935). + + "Preferences takanawa." + Preferences setPreference: #magicHalos toValue: false. + Preferences setPreference: #magicHalos toValue: true. + Preferences setPreference: #mouseOverHalos toValue: false. + Preferences setPreference: #mouseOverHalos toValue: true. + + Player abandonUnnecessaryUniclasses. + Player freeUnreferencedSubclasses. + Player removeUninstantiatedSubclassesSilently. + + PartsBin initialize. + Flaps disableGlobalFlaps: false. + Flaps addAndEnableEToyFlaps. + ActiveWorld addGlobalFlaps. + Flaps sharedFlapsAlongBottom. + + Locale currentPlatform: (Locale isoLanguage: 'ja'). + Locale switchToID: (LocaleID isoLanguage: 'ja'). + Preferences restoreDefaultFonts. + StrikeFont setupDefaultFallbackFont. + Project current updateLocaleDependents. + + "Dump all projects" + Project allSubInstancesDo:[:prj| prj == Project current ifFalse:[Project deletingProject: prj]]. + + ChangeSet current clear. + ChangeSet current name: 'Unnamed1'. + Smalltalk garbageCollect. + + + ! Item was added: + ReleaseBuilder subclass: #ReleaseBuilderSqueakland + instanceVariableNames: '' + classVariableNames: '' + poolDictionaries: '' + category: '45Deprecated'! Item was added: + ----- Method: ReleaseBuilderSqueakland>>finalCleanup (in category 'utilities') ----- + finalCleanup + "ReleaseBuilder new initialCleanup" + + + Smalltalk abandonTempNames. + Smalltalk zapAllOtherProjects. + + super finalCleanup! Item was added: + ----- Method: ReleaseBuilderSqueakland>>finalStripping (in category 'utilities') ----- + finalStripping + "ReleaseBuilderSqueakland new finalStripping" + + #(#Helvetica #Palatino #Courier #ComicSansMS ) + do: [:n | TextConstants + removeKey: n + ifAbsent: []]. + Smalltalk + at: #Player + ifPresent: [:superCls | superCls + allSubclassesDo: [:cls | + cls isSystemDefined + ifFalse: [cls removeFromSystem]]]. + Smalltalk garbageCollect. + Smalltalk discardFFI; discardSUnit; discardSpeech. + "discardMVC;" + SystemOrganization removeEmptyCategories. + ! Item was added: + ----- Method: ReleaseBuilderSqueakland>>initialCleanup (in category 'utilities') ----- + initialCleanup + "ReleaseBuilder new initialCleanup" + + Smalltalk at: #Browser ifPresent:[:br| br initialize]. + ChangeSet removeChangeSetsNamedSuchThat: + [:cs| cs name ~= ChangeSet current name]. + + super initialCleanup! Item was added: + ----- Method: ReleaseBuilderSqueakland>>installPreferences (in category 'utilities') ----- + installPreferences + + #( + (honorDesktopCmdKeys false) + (warnIfNoChangesFile false) + (warnIfNoSourcesFile false) + (showDirectionForSketches true) + (menuColorFromWorld false) + (unlimitedPaintArea true) + (useGlobalFlaps false) + (mvcProjectsAllowed false) + (projectViewsInWindows false) + (automaticKeyGeneration true) + (securityChecksEnabled true) + (showSecurityStatus false) + (startInUntrustedDirectory true) + (warnAboutInsecureContent false) + (promptForUpdateServer false) + (fastDragWindowForMorphic false) + + (externalServerDefsOnly true) + (expandedFormat false) + (eToyFriendly true) + (eToyLoginEnabled true) + (magicHalos true) + (mouseOverHalos true) + (biggerHandles false) + (selectiveHalos true) + (includeSoundControlInNavigator true) + (readDocumentAtStartup true) + (preserveTrash true) + (slideDismissalsToTrash true) + (propertySheetFromHalo true) + + ) do:[:spec| + Preferences setPreference: spec first toValue: spec last]. + "Workaround for bug" + Preferences enable: #readDocumentAtStartup. + ! Item was added: + ----- Method: ReleaseBuilderSqueakland>>installReleaseSpecifics (in category 'utilities') ----- + installReleaseSpecifics + "ReleaseBuilderSqueakland new installReleaseSpecifics" + + | serverName serverURL serverDir updateServer | + + ProjectLauncher splashMorph: (FileDirectory default readOnlyFileNamed: 'scripts\SqueaklandSplash.morph') fileInObjectAndCode. + + "Dump all morphs so we don't hold onto anything" + World submorphsDo:[:m| m delete]. + + World color: (Color r: 0.9 g: 0.9 b: 1.0). + + "Clear all server entries" + ServerDirectory serverNames do: [:each | ServerDirectory removeServerNamed: each]. + SystemVersion current resetHighestUpdate. + + "Add the squeakalpha update stream" + serverName := 'Squeakalpha'. + serverURL := 'squeakalpha.org'. + serverDir := serverURL , '/'. + + updateServer := ServerDirectory new. + updateServer + server: serverURL; + directory: 'updates/'; + altUrl: serverDir; + user: 'sqland'; + password: nil. + Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}. + + "Add the squeakland update stream" + serverName := 'Squeakland'. + serverURL := 'squeakland.org'. + serverDir := serverURL , '/'. + + updateServer := ServerDirectory new. + updateServer + server: serverURL; + directory: 'public_html/updates/'; + altUrl: serverDir. + Utilities updateUrlLists addFirst: {serverName. {serverDir. }.}. + + ! Item was added: + ----- Method: ReleaseBuilderSqueakland>>installVersionInfo (in category 'utilities') ----- + installVersionInfo + "ReleaseBuilderSqueakland new installVersionInfo" + + | highestUpdate newVersion | + highestUpdate := SystemVersion current highestUpdate. + (self confirm: 'Reset highest update (' , highestUpdate printString , ')?') + ifTrue: [SystemVersion current highestUpdate: 0]. + + newVersion := UIManager default request: 'New version designation:' initialAnswer: 'Squeakland 3.8.' , highestUpdate printString. + SystemVersion newVersion: newVersion. + (self confirm: self version , ' + Is this the correct version designation? + If not, choose no, and fix it.') ifFalse: [^ self]. + ! Item was added: + ----- Method: ReleaseBuilderSqueakland>>setupLanguageSpecifics (in category 'utilities') ----- + setupLanguageSpecifics + "ReleaseBuilderSqueakland new setupLanguageSpecifics" + Locale current languageEnvironment setupSqueaklandSpecifics! |
On 2 May 2013 22:48, <[hidden email]> wrote:
> Frank Shearar uploaded a new version of 45Deprecated to project The Inbox: > http://source.squeak.org/inbox/45Deprecated-fbs.2.mcz > > ==================== Summary ==================== > > Name: 45Deprecated-fbs.2 > Author: fbs > Time: 2 May 2013, 10:48:54.126 pm > UUID: 929d7158-8a95-4cc2-a867-25158661ed87 > Ancestors: 45Deprecated-fbs.1 > > The special purpose ReleaseBuilders here. Move all apparently unused instance-side ReleaseBuilder methods here. > > =============== Diff against 45Deprecated-fbs.1 =============== Several of the instance-side ReleaseBuilder methods are plain broken - no senders of #discardFFI for instance - or are duplicated (like #fixObsoleteReferences, which is implemented nearly identically in BOTH ScriptLoader AND SmalltalkImage). frank |
Free forum by Nabble | Edit this page |