[squeak-dev] The Trunk: SystemReporter-mt.49.mcz

Marcel Taeumel marcel.taeumel at hpi.de
Wed Feb 17 16:14:52 UTC 2021


I wanted to figure out which inbox code I already loaded into my image.
Am 17.02.2021 17:08:58 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:

Am 17.02.2021 17:08:34 schrieb commits at source.squeak.org <commits at source.squeak.org>:
Marcel Taeumel uploaded a new version of SystemReporter to project The Trunk:
http://source.squeak.org/trunk/SystemReporter-mt.49.mcz

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

Name: SystemReporter-mt.49
Author: mt
Time: 17 February 2021, 5:08:25.667893 pm
UUID: 29b81ef5-5233-3c4f-981d-2c8205f4ce49
Ancestors: SystemReporter-eem.48

Adds report about "Image Packages" to help organize all code artifacts in your personal working image.

=============== Diff against SystemReporter-eem.48 ===============

Item was changed:
----- Method: SystemReporter>>initialize (in category 'initialize-release') -----
initialize
self
add: #'Contributors' method: #reportContributors;
add: #Image method: #reportImage;
add: #'Image Parameters' method: #reportImageParameters;
add: #'Image Sources' method: #reportSources;
add: #'Image Preferences' method: #reportPreferences;
+ add: #'Image Packages' method: #reportImagePackages;
add: #'MC Repositories' method: #reportRepositories;
add: #'MC Working Copies' method: #reportWorkingCopies;
add: #'VM General' method: #reportVM;
add: #'VM Options' method: #reportVMOptions;
add: #'VM Modules' method: #reportModules;
add: #'VM Parameters' method: #reportVMParameters;
add: #'VM Stats' method: #reportVMStats.
Smalltalk os platformName = 'Win32' ifTrue: [
self
add: #'VM Configuration' method: #reportWin32VMConfig.
].
self
add: #'OS General' method: #reportOS.
Smalltalk os platformName = 'Win32' ifTrue: [
self
add: #'OS Details' method: #reportWin32OSDetails;
add: #'Hardware Details' method: #reportWin32HardwareDetails;
add: #'GFX Hardware Details' method: #reportWin32GFXDetails.
].
Smalltalk os osVersion = 'linux' ifTrue: [
self
add: #'OS Details' method: #reportLinuxOSDetails
].
self
add: #'Tiny Benchmarks' method: #reportTinyBenchmarks;
add: #'Space Analysis' method: #reportSpaceAnalysis;
add: #'SUnit' method: #reportTestRunner;
add: #'Debug Log' method: #reportDebugLog.
categoriesSelected := Set with: #Image with: #'VM General'.
self updateReport
!

Item was added:
+ ----- Method: SystemReporter>>reportImagePackages: (in category 'reporting') -----
+ reportImagePackages: aStream
+
+ | organizer trunk treated inbox release releaseRepo attribute others |
+ organizer := PackageOrganizer default.
+
+ self header: 'System Categories with Unknown Package' on: aStream.
+ SystemOrganization categories
+ select: [:category | (organizer packageOfSystemCategory: category ifNone: []) isNil]
+ thenDo: [:category | aStream nextPutAll: category; cr].
+
+ aStream cr.
+ self header: 'Packages with Only Cache Repository' on: aStream.
+ organizer packages
+ select: [:package |
+ | repos |
+ repos := package mcPackage workingCopy repositoryGroup repositories.
+ repos size = 1 and: [repos first == MCRepository packageCache]]
+ thenDo: [:package | aStream nextPutAll: package mcPackage workingCopy description; cr].
+
+ aStream cr.
+ self header: 'Official Packages' on: aStream.
+ others := OrderedCollection new.
+ trunk := MCRepository trunk allVersionNames.
+ inbox := MCRepository inbox allVersionNames.
+ treated := MCRepository treated allVersionNames.
+ releaseRepo := [[ReleaseBuilder releaseRepository] valueSupplyingAnswer: {'*'. true}] on: ReleaseBuilderFailed do: [:ex | nil].
+ release := releaseRepo ifNotNil: [:repo | repo allVersionNames] ifNil: [#()].
+
+ (organizer packages sorted: [:a :b | a packageName
+ collect: [:package | package mcPackage workingCopy]
+ thenDo: [:workingCopy | | version repo |
+ version := workingCopy ancestry ancestors ifNotEmpty: [:a | a first].
+ version ifNotNil: [version := version name].
+ attribute := TextEmphasis normal.
+ (release includes: version)
+ ifTrue: [repo := releaseRepo]
+ ifFalse: [(trunk includes: version)
+ ifTrue: [repo := MCRepository trunk]
+ ifFalse: [(inbox includes: version)
+ ifTrue: [repo := MCRepository inbox. attribute := TextEmphasis bold]
+ ifFalse: [(treated includes: version)
+ ifTrue: [repo := treated. attribute := TextColor gray]
+ ifFalse: [others add: workingCopy]]].
+ repo ifNotNil: [ "Only official packages here."
+ aStream withAttribute: attribute do: [
+ aStream
+ nextPutAll: workingCopy description;
+ nextPutAll: ' --- ';
+ nextPutAll: repo description; cr]]]].
+
+ aStream cr.
+ self header: 'Other Packages' on: aStream.
+ others
+ select: [:workingCopy | workingCopy repositoryGroup repositories size > 1]
+ thenDo: [:workingCopy |
+ aStream
+ nextPutAll: workingCopy description;
+ nextPutAll: ' --- ';
+ nextPutAll: workingCopy repositoryGroup repositories second description; cr]
+ !


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210217/6992a8c3/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 124530 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210217/6992a8c3/attachment-0001.png>


More information about the Squeak-dev mailing list