--- a/Tools__ChangeSetSpec.st Mon Nov 11 13:38:07 2013 +0000
+++ b/Tools__ChangeSetSpec.st Tue Nov 12 21:47:38 2013 +0000
@@ -48,6 +48,13 @@
privateIn:ChangeSetSpec
!
+ChangeSetSpec::Directory subclass:#PackageDirectory
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:ChangeSetSpec
+!
+
!ChangeSetSpec class methodsFor:'documentation'!
copyright
@@ -119,10 +126,10 @@
specClasses
- ^self allSubclasses"/ reject:[:e|e == Explicit]
+ ^(self allSubclasses " reject:[:e|e == Explicit]") asSortedCollection:[:a :b | a name < b name ].
"Created: / 05-07-2011 / 23:30:45 / jv"
- "Modified: / 03-08-2012 / 15:21:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 12-11-2013 / 15:18:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetSpec methodsFor:'accessing'!
@@ -346,9 +353,10 @@
label
"superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
- ^ 'Loaded package'
+ ^ 'Package (in image)'
"Modified: / 05-07-2011 / 23:31:34 / jv"
+ "Modified: / 12-11-2013 / 15:17:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!ChangeSetSpec::Package methodsFor:'accessing'!
@@ -378,6 +386,45 @@
"Created: / 20-03-2012 / 14:59:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!ChangeSetSpec::PackageDirectory class methodsFor:'accessing'!
+
+label
+ "superclass Tools::ChangeSetSpec class says that I am responsible to implement this method"
+
+ ^ 'Package (in directory)'
+
+ "Created: / 12-11-2013 / 15:17:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!ChangeSetSpec::PackageDirectory methodsFor:'accessing'!
+
+changeSet
+ "superclass Tools::ChangeSetSpec says that I am responsible to implement this method"
+
+ | name files cs |
+
+ name := directory asString.
+ name size > 50 ifTrue:[
+ name := '...' , (name copyFrom: name size - 47)
+ ].
+
+ (directory asFilename / 'abbrev.stc') exists ifTrue:[
+ (directory asFilename / 'abbrev.stc') readingFileDo:[:s |
+ files := OrderedCollection new.
+ Smalltalk withAbbreviationsFromStream: s do:[:className :abbrev :pkg | files add: (abbrev , '.st')]
+ ].
+ cs := ChangeSet fromDirectory: self directory filter:[:filename | files includes: filename baseName ].
+ ] ifFalse:[
+ cs := ChangeSet fromDirectory: self directory
+ ].
+ ^cs
+ name: name;
+ yourself
+
+ "Created: / 12-11-2013 / 15:20:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 12-11-2013 / 17:00:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!ChangeSetSpec class methodsFor:'documentation'!
version_CVS