Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.194.mcz ==================== Summary ==================== Name: ReleaseBuilder-mt.194 Author: mt Time: 22 January 2019, 1:54:52.748809 pm UUID: d8d38edc-1fc5-7442-b1aa-cd69c2047a6b Ancestors: ReleaseBuilder-mt.193 Addition to Kernel-mt.1211 1) Adds hook to ReleaseBuilder to manage/prepare processes. 2) Adds special save-and-quit to ReleaseBuilder, which restarts the UI process. Note: We still have to adapt our Travis/smalltalkCI script to make use of UI-process restart. See the discussion about wrong source pointers: http://forum.world.st/Re-Wrong-method-source-pointer-in-Squeak5-2-tp5093412.html =============== Diff against ReleaseBuilder-mt.193 =============== Item was added: + ----- Method: ReleaseBuilder class>>prepareProcesses (in category 'preparing') ----- + prepareProcesses + "Re-start running processes if necessary. Call this at late as possible in the release process. Only required to processes that are not reset at image #startUp." + + Delay startTimerEventLoop.! Item was added: + ----- Method: ReleaseBuilder class>>saveAndQuit (in category 'saving') ----- + saveAndQuit + + Smalltalk condenseChanges. + Smalltalk snapshot: true "Important to sync changes and image!!" andQuit: false. + + "Finally, we have to make sure that all method activations are up to date." + self prepareProcesses. + + "Start new UI process; terminate current one." + self assert: Processor activeProcess == Project current uiProcess. + Project current + addDeferredUIMessage: [Smalltalk snapshot: true andQuit: true]; + spawnNewProcessIfThisIsUI: Processor activeProcess. + Processor activeProcess terminate.! Item was changed: ----- Method: ReleaseBuilder class>>saveAsNewRelease (in category 'saving') ----- saveAsNewRelease "Use this to create a new release image to be used in the automated release artifact building process on http://www.github.com/squeak-smalltalk/squeak-app." | fileName | self setNewSystemVersion: self versionString. self assert: self versionString = SystemVersion current version. 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 prepareSourceCode; prepareEnvironment; switchToNewRepository: self releaseRepository; addAdditionalRepositories. + self saveAndQuit.! - Smalltalk condenseChanges. - Smalltalk snapshot: true "Important!!" andQuit: true.! Item was changed: ----- Method: ReleaseBuilder class>>saveAsNewTrunk (in category 'saving') ----- saveAsNewTrunk "Use this to create a new release image to be used in the automated release artifact building process on http://www.github.com/squeak-smalltalk/squeak-app." | fileName | fileName := ('squeak-trunk{1}' format: { self releaseLocally ifTrue: ['-offline'] ifFalse: ['']}). Smalltalk saveAs: fileName. self prepareSourceCode; prepareEnvironment; switchToNewRepository: self buildRepository. + self saveAndQuit.! - Smalltalk condenseChanges. - Smalltalk snapshot: true "Important!!" andQuit: true.! |
Free forum by Nabble | Edit this page |