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.'.! |
Free forum by Nabble | Edit this page |