Marcel Taeumel uploaded a new version of ReleaseBuilder to project The Trunk:
http://source.squeak.org/trunk/ReleaseBuilder-mt.204.mcz==================== Summary ====================
Name: ReleaseBuilder-mt.204
Author: mt
Time: 17 December 2019, 11:57:03.510485 am
UUID: 88468c0b-e210-c343-833e-bc54b8289283
Ancestors: ReleaseBuilder-mt.203
Adds simple check for invalid categories
=============== Diff against ReleaseBuilder-mt.203 ===============
Item was added:
+ ----- Method: ReleaseBuilder class>>checkForNilCategories (in category 'scripts - support') -----
+ checkForNilCategories
+
+ | nilClasses nilMethods |
+ nilClasses := OrderedCollection new.
+ nilMethods := OrderedCollection new.
+
+ SystemNavigation default allClasses
+ do: [:cls |
+ cls category ifNil: [nilClasses add: cls].
+ {cls. cls class} do: [:b | b selectorsAndMethodsDo: [:selector :method |
+ (method methodClass organization categoryOfElement: selector) in: [:category |
+ (category isNil or: [category = 'nil']) ifTrue: [
+ nilMethods add: method methodReference]]]]]
+ displayingProgress: [:behavior | 'Checking for invalid categories...'].
+
+ nilMethods ifNotEmpty: [
+ SystemNavigation default browseMessageList: nilMethods name: 'Messages with invalid categories ', nilMethods size autoSelect: nil].
+ nilClasses ifNotEmpty: [
+ nilClasses explore].
+
+ (nilClasses notEmpty or: [nilMethods notEmpty]) ifTrue: [
+ Warning signal: 'There are classes or methods with invalid categories!!'].!
Item was changed:
----- Method: ReleaseBuilder class>>prepareSourceCode (in category 'preparing') -----
prepareSourceCode
"Update packages. Remove foreign packages. Recompile."
CurrentReadOnlySourceFiles cacheDuring:
[self
updateCorePackages;
unloadForeignPackages;
checkForDirtyPackages;
loadWellKnownPackages;
checkForUndeclaredSymbols;
+ checkForNilCategories;
recompileAll]!