libs-steptalk/Examples/Developer/versions.st

35 lines
932 B
Smalltalk
Raw Normal View History

" Print versions of all (public) GNUstep classes
Use:
> stexec versions.st
To include AppKit classes:
> stexec -environment AppKit versions.st
"
| classes versions names |
classes := Environment objectDictionary allValues.
classes := classes select: [ :class | class isClass].
classes := classes select: [ :class | class respondsToSelector:#className].
classes := classes select: [ :class | class respondsToSelector:#version].
versions := NSMutableDictionary dictionary.
classes do:
[ :class |
versions setObject: (class version)
forKey: (class className).
].
names := versions allKeys sortedArrayUsingSelector: #compare:.
names do:
[ :key |
Transcript showLine: ( key, ' ',
((versions objectForKey:key) stringValue))
].