Squeak 4.5: ReleaseBuilder-cmm.109.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Squeak 4.5: ReleaseBuilder-cmm.109.mcz

commits-2
Chris Muller uploaded a new version of ReleaseBuilder to project Squeak 4.5:
http://source.squeak.org/squeak45/ReleaseBuilder-cmm.109.mcz

==================== Summary ====================

Name: ReleaseBuilder-cmm.109
Author: cmm
Time: 22 January 2014, 5:31:35.357 pm
UUID: 72243ad3-2577-402e-a959-c3614454cacc
Ancestors: ReleaseBuilder-cmm.108

Only show the vertical scroll bar if necessary, by default.

==================== Snapshot ====================

SystemOrganization addCategory: #ReleaseBuilder!

Object subclass: #ReleaseBuilder
        instanceVariableNames: ''
        classVariableNames: ''
        poolDictionaries: ''
        category: 'ReleaseBuilder'!

!ReleaseBuilder commentStamp: 'fbs 5/2/2013 22:36' prior: 0!
I'm the script that prepares a trunk image for release. Which version of Squeak I release is stored in ReleaseBuilder class >> squeakVersion.!

----- Method: ReleaseBuilder class>>checkForDirtyPackages (in category 'scripts') -----
checkForDirtyPackages
        MCWorkingCopy checkModified: true.
        (MCWorkingCopy allManagers anySatisfy:
                [ : wc | (wc ancestors size = 1) not or: [ wc modified ] ]) ifTrue: [ Warning signal: 'There are dirty and/or unmerged packages.' ]!

----- Method: ReleaseBuilder class>>configureDesktop (in category 'private') -----
configureDesktop
        self deleteAllWindows.
        MorphicProject initialize.
        "Replace docking bar instance in case its code has changed."
        Project current removeMainDockingBar.
        TheWorldMainDockingBar updateInstances!

----- Method: ReleaseBuilder class>>deleteAllWindows (in category 'private') -----
deleteAllWindows
        (SystemWindow
                windowsIn: ActiveWorld
                satisfying:
                        [ : window | true ]) do:
                                [ : window | [ window makeClosable; delete ]
                                        on: ProvideAnswerNotification
                                        do: [ : noti | noti resume: true ] ]!

----- Method: ReleaseBuilder class>>loadWellKnownPackages (in category 'private') -----
loadWellKnownPackages
        "Load into the release image those packages that have been stripped from Trunk, but still deemed necessary for a release artifact."
        Installer new merge: #squeakRelease!

----- Method: ReleaseBuilder class>>prepareNewBuild (in category 'scripts') -----
prepareNewBuild
        self prepareNewBuild: self releaseRepository.!

----- Method: ReleaseBuilder class>>prepareNewBuild: (in category 'scripts') -----
prepareNewBuild: anMCRepository
        "ReleaseBuilderTrunk prepareNewBuild"
        "Prepare everything that should be done for a new image build"
        MCMcmUpdater updateMissingPackages: true.
        MCMcmUpdater enableUpdatesForAllPackages.
        TTCFont registerAll.
        RealEstateAgent standardSize: 600 @ 400.
        SystemVersion newVersion: self versionString.
        SMLoaderPlus setDefaultFilters: (OrderedCollection with: #filterSafelyAvailable).
        self
                 setDisplayExtent: 800 @ 600 ;
                 setPreferences ;
                 switchToNewRepository: anMCRepository ;
                 checkForDirtyPackages ;
                 configureDesktop.
        Smalltalk cleanUp: true.
        Environment allInstancesDo: [ : env | env purgeUndeclared ].
        Undeclared removeUnreferencedKeys.
        Smalltalk garbageCollect.
        [ self loadWellKnownPackages "<-- 4.5 is not ready for unloaded / reloaded packages" ].
        Compiler recompileAll!

----- Method: ReleaseBuilder class>>releaseRepository (in category 'private') -----
releaseRepository
        "At release time, change 'trunk' to 'squeak45'."
        ^ MCRepository trunk!

----- Method: ReleaseBuilder class>>repositoryUrl (in category 'private') -----
repositoryUrl
        ^ 'http://source.squeak.org'!

----- Method: ReleaseBuilder class>>setDisplayExtent: (in category 'private') -----
setDisplayExtent: extent
"Uncomment next line when the primitives become available in the Squeak VM."
" DisplayScreen hostWindowSize: extent."
        Display extent = extent ifFalse: [ Warning signal: 'Display extent not set to ', extent ]!

----- Method: ReleaseBuilder class>>setPreferences (in category 'private') -----
setPreferences
        Workspace shouldStyle: false.
        SystemWindow reuseWindows: true.
        TextEditor
                 autoEnclose: true ;
                 autoIndent: false ;
                 destructiveBackWord: false ;
                 blinkingCursor: false ;
                 dumbbellCursor: true.
        BalloonMorph setBalloonColorTo:
                (TranslucentColor
                        r: 0.92
                        g: 0.92
                        b: 0.706
                        alpha: 0.75).
        Preferences
                 installBrightWindowColors ;
                 insertionPointColor: Color red ;
                 enable: #scrollBarsWithoutMenuButton ;
                 enable: #swapMouseButtons ;
                 enable: #annotationPanes ;
                 disable: #showSplitterHandles ;
                 enable: #showBoundsInHalo ;
                 disable: #alternateHandlesLook ;
                 disable: #roundedMenuCorners ;
                 disable: #roundedWindowCorners ;
                 enable: #traceMessages ;
                 enable: #thoroughSenders ;
                 enable: #diffsWithPrettyPrint ;
                 disable: #alwaysShowVScrollbar ;
                 enable: #alternativeBrowseIt.
        ProportionalSplitterMorph
                 smartHorizontalSplitters: true ;
                 smartVerticalSplitters: true.
        PluggableButtonMorph roundedButtonCorners: false.
        FillInTheBlankMorph roundedDialogCorners: false.
        Workspace shouldStyle: false.
        NetNameResolver enableIPv6: true!

----- Method: ReleaseBuilder class>>switchToNewRepository: (in category 'private') -----
switchToNewRepository: anMCRepository
        | old44Repository |
        MCMcmUpdater defaultUpdateURL: anMCRepository description.
        old44Repository := MCRepositoryGroup default repositories
                                detect: [:each | each description includesSubString: 'squeak44'] ifNone: [nil].
        old44Repository
                ifNotNil: [MCRepositoryGroup default removeRepository: old44Repository].
        MCRepositoryGroup default addRepository: anMCRepository.!

----- Method: ReleaseBuilder class>>transferCurrentPackagesAsUser:password: (in category 'scripts') -----
transferCurrentPackagesAsUser: username password: password
        "Copy the packages currently loaded in the image from the trunk repository to my releaseRepository."
        | releaseRep |
        releaseRep := self releaseRepository
                user: username;
                password: password;
                yourself.
        MCWorkingCopy allManagers do:
                [ : eachWorkingCopy | eachWorkingCopy ancestors do:
                        [ : eachVersionInfo | (releaseRep includesVersionNamed: eachVersionInfo versionName) ifFalse:
                                [ (MCRepository trunk versionWithInfo: eachVersionInfo)
                                        ifNil: [ Warning signal: eachVersionInfo name , ' not found in trunk.' ]
                                        ifNotNilDo: [ : ver | releaseRep storeVersion: ver ] ] ] ]!

----- Method: ReleaseBuilder class>>versionString (in category 'private') -----
versionString
        ^ 'Squeak4.5'.!