The Trunk: ReleaseBuilder-mt.194.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: ReleaseBuilder-mt.194.mcz

commits-2
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.!