[Pkg] 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 Packages
mailing list