The Trunk: ReleaseBuilder-mt.143.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.143.mcz

commits-2
Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.143.mcz

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

Name: ReleaseBuilder-mt.143
Author: mt
Time: 9 August 2016, 4:00:59.348781 pm
UUID: 0df4c0a8-3a25-ce40-aaec-7d4012d61c76
Ancestors: ReleaseBuilder-mt.142

Account for additional repositores such as Squeak's inbox. Additional check for undeclared symbols, which recompiling all source code does not detect.

=============== Diff against ReleaseBuilder-mt.142 ===============

Item was added:
+ ----- Method: ReleaseBuilder class>>addAdditionalRepositories (in category 'scripts - support') -----
+ addAdditionalRepositories
+
+ MCRepositoryGroup default addRepository: self inboxRepository.
+
+ #(
+ 'http://www.squeaksource.com/MetacelloRepository'
+ 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository'
+ ) collect: [:url |
+ MCRepositoryGroup default addRepository: (MCHttpRepository
+ location: url
+ user: 'squeak'
+ password: 'squeak')].!

Item was added:
+ ----- Method: ReleaseBuilder class>>checkForUndeclaredSymbols (in category 'scripts - support') -----
+ checkForUndeclaredSymbols
+ "Parses through all source code in the image and looks for undeclard symbols in those."
+
+ | msgs |
+ msgs := OrderedCollection new.
+
+ SystemNavigation default allClasses
+ do: [:cls |
+ {cls. cls class} do: [:b | b selectorsAndMethodsDo: [:selector :method |
+ | parser ranges |
+ parser := SHParserST80 new.
+ parser parseAMethod: true.
+ ranges := parser
+ rangesIn: method getSource
+ classOrMetaClass: method methodClass
+ workspace: nil
+ environment: method methodClass environment.
+ ranges anySatisfy: [:range |
+ range type = #undefinedIdentifier]]]]
+ displayingProgress: [:behavior | 'Checking for undeclared symbols...'].
+
+ msgs ifNotEmpty: [
+ SystemNavigation default browseMessageList: msgs name: 'Invalid Messages ', msgs size autoSelect: nil.
+ Warning signal: 'There is source code with undeclared symbols!!'].!

Item was changed:
  ----- Method: ReleaseBuilder class>>clearCaches (in category 'scripts') -----
  clearCaches
  "Clear caches, discard unused references, free space."
 
  Smalltalk cleanUp: true.
+
  Project current resourceManager reset. "Zap eventual resources"
  self discardUserObjects.
  MCFileBasedRepository flushAllCaches.
 
- "Clear all user login data."
- MCHttpRepository clearCredentials.
- Utilities setAuthorInitials: String empty.
-
  Environment allInstancesDo: [ : env | env purgeUndeclared ].
  Undeclared removeUnreferencedKeys.
 
  Smalltalk garbageCollect.!

Item was added:
+ ----- Method: ReleaseBuilder class>>inboxRepository (in category 'accessing') -----
+ inboxRepository
+ ^ MCRepository inbox!

Item was changed:
  ----- Method: ReleaseBuilder class>>prepareSourceCode (in category 'preparing') -----
  prepareSourceCode
  "Update code. Remove foreign packages."
 
  MCMcmUpdater defaultUpdateURL: self buildRepository description.
 
  MCMcmUpdater updateMissingPackages: true.
  MCMcmUpdater enableUpdatesForAllPackages.
 
  MCMcmUpdater default doUpdate: false. "non-interactive".
 
  self
  unloadForeignPackages;
  checkForDirtyPackages;
+ loadWellKnownPackages;
+ checkForUndeclaredSymbols.
- loadWellKnownPackages.
 
  Compiler recompileAll.!