[squeak-dev] Squeak 4.5: ReleaseBuilder-cmm.109.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 24 20:02:13 UTC 2014


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'.!



More information about the Squeak-dev mailing list