The Inbox: ReleaseBuilder-dtl.206.mcz

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

The Inbox: ReleaseBuilder-dtl.206.mcz

commits-2
David T. Lewis uploaded a new version of ReleaseBuilder to project The Inbox:
http://source.squeak.org/inbox/ReleaseBuilder-dtl.206.mcz

==================== Summary ====================

Name: ReleaseBuilder-dtl.206
Author: dtl
Time: 25 February 2020, 8:59:15.139043 pm
UUID: 152e98c7-855a-4aef-a8c3-c6530f11688a
Ancestors: ReleaseBuilder-fn.205

Tidy up change sets for release images. Empty the home project change set and give it a better name.

=============== Diff against ReleaseBuilder-fn.205 ===============

Item was changed:
  ----- Method: ReleaseBuilder class>>configureProjects (in category 'scripts') -----
  configureProjects
  "Set up the desired configuration of projects, which might be a single project, multiple projects..."
 
+ | homeProject rootProject activeChangeSets |
- | homeProject rootProject |
  homeProject := Project current.
  rootProject := homeProject.
 
  homeProject isMorphic ifFalse: [
  Warning signal: 'The current project is not Morphic. Please create a new Morphic project, enter it, and restart the release building process.'].
 
  "The home project is a single Morphic project. Let the home project have a parent MVC project as the root of the project tree. The MVC project supports emergency debugging in the event of unrecoverable Morphic problems, and will fall back on the traditional emergency evaluator if MVC debugging fails. If MVC is not installed in the image, then do nothing."
  Project current removeAllOtherProjects.
  (Smalltalk classNamed: #MVCProject)
  ifNil: [Warning signal: 'MVC must be installed in the release image.']
  ifNotNil: [:mvc | rootProject := (mvc new name: 'The root project')].
 
  self
  assert: homeProject isTopProject;
  assert: rootProject isTopProject not.
 
  rootProject beTopProject.
 
  self
  assert: rootProject isTopProject;
  assert: homeProject isTopProject not.
 
  self
  assert: rootProject subProjects size = 1;
  assert: homeProject parent == rootProject;
+ assert: rootProject isMVC.
+
+ "Set home project name and clean up change sets"
+ homeProject changeSet clear; name: 'The home project'.
+ activeChangeSets := Project allSubInstances collect: [:e | e changeSet].
+ ChangeSet allInstances
+ select: [ :cs | (activeChangeSets includes: cs) not ]
+ thenDo: [:cs | cs name: nil].
+ ChangeSet gatherChangeSets.
+ !
- assert: rootProject isMVC.!