[squeak-dev] The Trunk: ReleaseBuilder-mt.139.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jul 29 15:02:10 UTC 2016


Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.139.mcz

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

Name: ReleaseBuilder-mt.139
Author: mt
Time: 29 July 2016, 5:02:02.533103 pm
UUID: cee7fc24-d57e-8a46-a5d7-142aa6e0d44d
Ancestors: ReleaseBuilder-mt.138

Some updates for guided release process.

=============== Diff against ReleaseBuilder-mt.138 ===============

Item was changed:
  ----- Method: ReleaseBuilder class>>buildConfiguration (in category 'accessing') -----
  buildConfiguration
  
  	| max versionName |
  	max := 0.
  	versionName := ''.
  	
+ 	(self buildRepository versionNamesForPackageNamed: MCMcmUpdater updateMapName) do: [:nm |
- 	(self buildRepository versionNamesForPackageNamed: 'update') do: [:nm |
  		((nm findTokens: $.) atLast: 2) asInteger in: [:versionNumber |
  			versionNumber > max ifTrue: [max := versionNumber. versionName := nm]]].
  	
  	^ self buildRepository versionNamed: versionName 
  !

Item was changed:
  ----- Method: ReleaseBuilder class>>requestNextReleaseVersion (in category 'manual - steps') -----
  requestNextReleaseVersion
  	"self requestNextReleaseVersion"
  	
  	| nextMinor nextMajor current |
  	current := {
  		SystemVersion current majorVersionNumber.
  		SystemVersion current minorVersionNumber}.
  	nextMinor := {
  		current first.
  		current second + 1}.
  	nextMajor := {
  		current first + 1.
  		0}.
  
  	(UIManager default
  		chooseFrom: {
  			'{1}.{2}' format: {nextMinor first. nextMinor second}.
  			'{1}.{2}' format: {nextMajor first. nextMajor second}}
  		title: 'Please Choose Next Version') in: [:answer |
+ 			answer ifNil: [^ self requestNextReleaseVersion].
- 			answer ifNil: [^ false].
  			answer = 1 ifTrue: [
  				NextMinorVersion := nextMinor second].
  			answer = 2 ifTrue: [
  				NextMajorVersion := nextMajor first.
+ 				NextMinorVersion := 0]].!
- 				NextMinorVersion := 0]].
- 				
- 	^ true!

Item was changed:
  ----- Method: ReleaseBuilder class>>setNewSystemVersion: (in category 'manual') -----
  setNewSystemVersion: version
  
  	self class
  		compile: ('initialize
  	Smalltalk addToStartUpList: self.
  	
  	SystemVersion newVersion: ''{1}''.' format: {version})
  		classified: 'class initialization'.
  
+ 	self initialize.
+ 	
+ 	SystemVersion current isRelease
+ 		ifFalse: [self uploadNewSystemVersion].!
- 	self initialize.!

Item was changed:
  ----- Method: ReleaseBuilder class>>startUp: (in category 'class initialization') -----
  startUp: resuming
  	resuming
+ 		ifTrue: [NextTask := nil. DeferredTask ifNotNil: [:task | DeferredTask := nil. task value]]
+ 		ifFalse: [DeferredTask := nil. NextTask ifNotNil: [:task | NextTask := nil. task value]].!
- 		ifTrue: [DeferredTask ifNotNil: [:task | DeferredTask := nil. task value]. NextTask := nil]
- 		ifFalse: [NextTask ifNotNil: [:task | NextTask := nil. task value]. DeferredTask := nil].!

Item was changed:
  ----- Method: ReleaseBuilder class>>step0AssureAlpha (in category 'manual - steps') -----
  step0AssureAlpha
+ 	"Re-open the trunk again."
+ 	
+ 	self requestNextReleaseVersion.
- 
- 	self requestNextReleaseVersion ifFalse: [^ self].
  	self setNewSystemVersion: self versionString, 'alpha'.!

Item was changed:
  ----- Method: ReleaseBuilder class>>step1FeatureFreeze (in category 'manual - steps') -----
  step1FeatureFreeze
  
  	(UIManager default
  		confirm: ('Do you really want to feature-freeze the trunk\in preparation for the next release {1}?\Bugfixes only after this.' withCRs format: {self versionString})
  		title: 'Release Builder Step 1 of 4: Feature Freeze') ifFalse: [^ self].
  
  	self setNewSystemVersion: self versionString, 'beta'.!

Item was changed:
  ----- Method: ReleaseBuilder class>>step4Release (in category 'manual - steps') -----
  step4Release
  	"Creates the release. New file, clean-ed up."
  	
- 	| fileName |
  	(UIManager default
  		confirm: ('Do you want release {1}{2}?' withCRs format: {
  						self versionString.
  						(self releaseLocally ifTrue: [' locally'] ifFalse: [''])})
  		title: 'Release Builder Step 4 of 4: The Release')
  		 ifFalse: [^ self].
  	
  	"If you re-open the current trunk image again, it will be an alpha version for the next release."
  	DeferredTask := [self step0AssureAlpha].
- 	Smalltalk snapshot: true andQuit: false.
  	
+ 	"We continue with preparing the release image."
+ 	NextTask := [self step5DoRelease].
- 	"Create new .image and .changes files for the release image."
- 	self setNewSystemVersion: self versionString.
- 	fileName := ('squeak-{1}.{2}{3}' format: {
- 		SystemVersion current majorVersionNumber.
- 		SystemVersion current minorVersionNumber.
- 		self releaseLocally ifTrue: ['-offline'] ifFalse: ['']}).
- 	Smalltalk saveAs: fileName.
- 
- 	"Update the image state."
- 	[ self
- 		setTopProject;
- 		prepareSourceCode;
- 		prepareEnvironment;
- 		switchToNewRepository: self releaseRepository.
- 	] on: MCEmptyVersion do: [:warning | warning resume].
  	
+ 	"Now save it but do not quit."
+ 	Smalltalk snapshot: true andQuit: false.!
- 	NextTask := [self uploadForSmalltalkCI: fileName.].
- 	
- 	Smalltalk condenseChanges.
- 	Smalltalk snapshot: true "Important!!" andQuit: false.!

Item was added:
+ ----- Method: ReleaseBuilder class>>step5DoRelease (in category 'manual - steps') -----
+ step5DoRelease
+ 	"Creates the release. New file, clean-ed up."
+ 	
+ 	| fileName |
+ 
+ 	"Create new .image and .changes files for the release image."
+ 	self setNewSystemVersion: self versionString.
+ 	fileName := ('squeak-{1}.{2}{3}' format: {
+ 		SystemVersion current majorVersionNumber.
+ 		SystemVersion current minorVersionNumber.
+ 		self releaseLocally ifTrue: ['-offline'] ifFalse: ['']}).
+ 	Smalltalk saveAs: fileName.
+ 
+ 	"Update the image state."
+ 	[ self
+ 		setTopProject;
+ 		prepareSourceCode;
+ 		prepareEnvironment;
+ 		switchToNewRepository: self releaseRepository.
+ 	] on: MCEmptyVersion do: [:warning | warning resume].
+ 	
+ 	NextTask := [self uploadForSmalltalkCI: fileName.].
+ 	
+ 	Smalltalk condenseChanges.
+ 	Smalltalk snapshot: true "Important!!" andQuit: false.
+ 	"Finished. See NextTask."!

Item was added:
+ ----- Method: ReleaseBuilder class>>uploadNewSystemVersion (in category 'manual') -----
+ uploadNewSystemVersion
+ 	"TODO: Just commit changes in the ReleaseBuilder because #initialize will change the system version:"
+ 	
+ 	UIManager default
+ 		confirm: 'Do you want to set the new system version for all?'
+ 		title: 'Publish New System Version'.
+ 		
+ 		
+ 	self inform: 'Upload not implemented.'.!



More information about the Squeak-dev mailing list