[squeak-dev] The Trunk: ReleaseBuilder-mt.194.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Jan 22 12:54:52 UTC 2019
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.!
More information about the Squeak-dev
mailing list
|