[squeak-dev] The Inbox: ReleaseBuilder-ct.217.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Oct 18 16:22:32 UTC 2021


A new version of ReleaseBuilder was added to project The Inbox:
http://source.squeak.org/inbox/ReleaseBuilder-ct.217.mcz

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

Name: ReleaseBuilder-ct.217
Author: ct
Time: 18 October 2021, 6:22:31.185498 pm
UUID: 8ead8d23-1488-af45-8b0c-3d7413f65aff
Ancestors: ReleaseBuilder-mt.216

Revises format of auto-generated Markdown changelogs. Don't abuse horizontal lines and enumeration points for all items. Sort the changes by package and time before printing them. For reference, include the version name for every change note.

Also bumps the version number in #changesBetweenReleases to 5.3.

Depends on Collections-ct.958.

=============== Diff against ReleaseBuilder-mt.216 ===============

Item was changed:
  ----- Method: ReleaseBuilder class>>changesBetweenReleases (in category 'scripts - changes') -----
  changesBetweenReleases
  	
  	| repos configs result |
+ 	repos :=#(53) collect: [:ea |
- 	repos :=#(52) collect: [:ea |
  		(MCHttpRepository
  		    location: 'http://source.squeak.org/squeak', ea
  		    user: 'squeak'
  		    password: 'squeak')].
  	configs := repos collect: [:ea | ea description -> (self firstConfigurationIn: ea map: 'update')].
  	configs := configs, {(self buildRepository description -> self buildConfiguration)}.
  	
  	result := OrderedDictionary new.
  	configs overlappingPairsDo: [:c1 :c2 |
  		result
  			at: c2 key
  			put: (self changesBetween: c1 value and: c2 value)].
  		
  	^ result
  		!

Item was changed:
  ----- Method: ReleaseBuilder class>>fileOutChangesBetweenReleases (in category 'scripts - changes') -----
  fileOutChangesBetweenReleases
  	"Generate mark-down files with all commit messages by release. To be used to write release notes."
  	
  	| fileNames |
  	fileNames := OrderedCollection new.
  	
  	self changesBetweenReleases keysAndValuesDo: [:location :c |
  		fileNames add: ('commits-{1}.md' format: {(location findTokens: '/') last}).
  		FileStream forceNewFileNamed: fileNames last do: [:strm |
+ 		c withKeysSortedSafely keysAndValuesDo: [:pkg :changes |
- 		c keysAndValuesDo: [:pkg :changes |
  			strm nextPutAll: '# '; nextPutAll: pkg name; cr.
+ 			(changes withKeysSorted: #dateAndTime ascending) keysAndValuesDo: [:ver :msg |
+ 				strm
+ 					nextPutAll: '- **';
+ 					nextPutAll: ver name;
+ 					nextPutAll: ':** '.
+ 				msg lines withIndexDo: [:line :index | line ifNotEmpty: [:m |
+ 					index > 1 ifTrue: [strm nextPutAll: '  '].
+ 					strm nextPutAll: m.
+ 					strm cr]]]]]].
- 			changes keysAndValuesDo: [:ver :msg |
- 				msg linesDo: [:line | line withBlanksTrimmed ifNotEmpty: [:m |
- 					(m first isDigit or: [{$*. $-} includes: m first])
- 						ifTrue: [strm nextPutAll: '   ', m]
- 						ifFalse: [strm nextPutAll: ' - ', m].
- 					strm cr]].
- 				strm nextPutAll: '------------------'; cr]]]].
  
  	self inform: 'Files written:\' withCRs, (fileNames joinSeparatedBy: String cr).!



More information about the Squeak-dev mailing list