[squeak-dev] The Trunk: ReleaseBuilder-mt.143.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Aug 9 14:01:10 UTC 2016


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



More information about the Squeak-dev mailing list