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

Chris Cunningham cunningham.cb at gmail.com
Thu Feb 18 16:42:55 UTC 2021


This is nice.

It would be really nice if the Monticello Browser also noted from which
repository the packages were loaded from. That would have been my first
place to look for information like this - and, of course, not find it.

On Wed, Feb 17, 2021 at 8:15 AM Marcel Taeumel <marcel.taeumel at hpi.de>
wrote:

> 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 <= b 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/20210218/cbe37b81/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/20210218/cbe37b81/attachment-0001.png>


More information about the Squeak-dev mailing list