author | Claus Gittinger <cg@exept.de> |
Mon, 14 May 2018 02:21:18 +0200 | |
changeset 1048 | 582b3a028cbc |
parent 973 | 8a67537c9bea |
child 995 | 92bb466548a9 |
child 1068 | d31a825dfb42 |
permissions | -rw-r--r-- |
170 | 1 |
"{ Package: 'stx:goodies/monticello' }" |
2 |
||
972
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
3 |
"{ NameSpace: Smalltalk }" |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
4 |
|
170 | 5 |
LibraryDefinition subclass:#stx_goodies_monticello |
767
8054b14c28d5
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
756
diff
changeset
|
6 |
instanceVariableNames:'' |
8054b14c28d5
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
756
diff
changeset
|
7 |
classVariableNames:'' |
8054b14c28d5
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
756
diff
changeset
|
8 |
poolDictionaries:'' |
8054b14c28d5
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
756
diff
changeset
|
9 |
category:'* Projects & Packages *' |
170 | 10 |
! |
11 |
||
972
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
12 |
!stx_goodies_monticello class methodsFor:'documentation'! |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
13 |
|
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
14 |
documentation |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
15 |
" |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
16 |
Package documentation: |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
17 |
|
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
18 |
This library provides support classes to read and write monticello packages |
973
8a67537c9bea
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
972
diff
changeset
|
19 |
(as used in Squeak and Pharo) and a GUI to browse and load such packages. |
972
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
20 |
|
973
8a67537c9bea
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
972
diff
changeset
|
21 |
Notice that Squeak packages usually do not work out-of-the-box in ST/X. |
972
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
22 |
" |
e907afea8852
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
958
diff
changeset
|
23 |
! ! |
170 | 24 |
|
25 |
!stx_goodies_monticello class methodsFor:'description'! |
|
26 |
||
27 |
excludedFromPreRequisites |
|
28 |
"list all packages which should be ignored in the automatic |
|
29 |
preRequisites scan. See #preRequisites for more." |
|
30 |
||
31 |
^ #( |
|
32 |
) |
|
33 |
! |
|
34 |
||
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
35 |
mandatoryPreRequisites |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
36 |
"list all required mandatory packages. |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
37 |
Packages are mandatory, if they contain superclasses of the package's classes |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
38 |
or classes which are extended by this package. |
170 | 39 |
This list can be maintained manually or (better) generated and |
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
40 |
updated by scanning the superclass hierarchies |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
41 |
(the browser has a menu function for that) |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
42 |
However, often too much is found, and you may want to explicitely |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
43 |
exclude individual packages in the #excludedFromPreRequisites method." |
170 | 44 |
|
45 |
^ #( |
|
756 | 46 |
#'stx:libbasic' "String - extended " |
47 |
#'stx:libbasic3' "VersionInfo - extended " |
|
48 |
#'stx:libtool' "Tools::NewSystemBrowser - extended " |
|
49 |
#'stx:libview2' "ApplicationModel - superclass of extended Tools::NewSystemBrowser " |
|
50 |
#'stx:libcompat' |
|
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
51 |
) |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
52 |
! |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
53 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
54 |
referencedPreRequisites |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
55 |
"list all packages containing classes referenced by the packages's members. |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
56 |
This list can be maintained manually or (better) generated and |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
57 |
updated by looking for global variable accesses |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
58 |
(the browser has a menu function for that) |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
59 |
However, often too much is found, and you may want to explicitely |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
60 |
exclude individual packages in the #excludedFromPreRequisites method." |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
61 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
62 |
^ #( |
767
8054b14c28d5
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
756
diff
changeset
|
63 |
'stx:goodies/communication' "/ HTTPInterface |
170 | 64 |
) |
65 |
! ! |
|
66 |
||
67 |
!stx_goodies_monticello class methodsFor:'description - contents'! |
|
68 |
||
69 |
classNamesAndAttributes |
|
70 |
"lists the classes which are to be included in the project. |
|
71 |
Each entry in the list may be: a single class-name (symbol), |
|
72 |
or an array-literal consisting of class name and attributes. |
|
73 |
Attributes are: #autoload or #<os> where os is one of win32, unix,..." |
|
74 |
||
75 |
^ #( |
|
756 | 76 |
"<className> or (<className> attributes...) in load order" |
77 |
InMidstOfFileinNotification |
|
78 |
MCAncestry |
|
79 |
MCBrowserList |
|
80 |
MCChangeSelectionRequest |
|
81 |
MCConflict |
|
82 |
MCDefinition |
|
83 |
MCDefinitionIndex |
|
84 |
MCDependencySorter |
|
85 |
(MCDependentsWrapper autoload) |
|
86 |
MCDialog |
|
87 |
MCDirtyPackageInfo |
|
88 |
MCDoItParser |
|
89 |
MCEmptyPackageInfo |
|
90 |
MCFrontier |
|
91 |
MCInteractiveLoadingQuery |
|
92 |
MCLazyPropertyDictionary |
|
93 |
MCMergeRecord |
|
94 |
MCMergeResolutionRequest |
|
95 |
MCMerger |
|
96 |
MCMock |
|
97 |
MCMockAPoolDictionary |
|
98 |
MCMockDependency |
|
99 |
MCMockPackageInfo |
|
100 |
MCNoChangesException |
|
101 |
MCPackage |
|
102 |
MCPackageCache |
|
103 |
MCPackageEntry |
|
104 |
MCPackageLoader |
|
105 |
MCPackageManager |
|
106 |
MCPatch |
|
107 |
MCPatchOperation |
|
108 |
MCPatcher |
|
109 |
MCReader |
|
110 |
MCRepository |
|
111 |
MCRepositoryBrowser |
|
112 |
MCRepositoryEntry |
|
113 |
MCRepositoryGroup |
|
114 |
MCScanner |
|
115 |
MCSettingsApp |
|
116 |
MCSnapshot |
|
117 |
MCSourceCodeManager |
|
958 | 118 |
MCStXNamespaceQuery |
119 |
MCStXPackageInfo |
|
756 | 120 |
MCStXPackageQuery |
958 | 121 |
MCStXSnapshotTransformation |
122 |
MCStxVersionInfo |
|
756 | 123 |
MCTimestampAnnotation |
124 |
MCTool |
|
125 |
(MCToolWindowBuilder autoload) |
|
126 |
MCVariableDefinition |
|
127 |
MCVersion |
|
128 |
MCVersionDependency |
|
129 |
MCVersionEntry |
|
130 |
MCVersionLoader |
|
131 |
MCVersionMerger |
|
132 |
MCVersionNameAndMessageRequest |
|
133 |
MCVersionNotification |
|
134 |
MCVersionSorter |
|
135 |
MCWriter |
|
136 |
MethodReference |
|
137 |
PackageOrganizer |
|
138 |
#'stx_goodies_monticello' |
|
139 |
MCAddition |
|
958 | 140 |
MCClassComment |
756 | 141 |
MCClassDefinition |
142 |
MCClassInstanceVariableDefinition |
|
143 |
MCClassTraitDefinition |
|
144 |
MCClassTraitParser |
|
145 |
MCClassVariableDefinition |
|
146 |
MCCodeTool |
|
147 |
MCCommitDialog |
|
148 |
MCDictionaryRepository |
|
149 |
MCDiffyVersion |
|
150 |
MCFileBasedRepository |
|
151 |
MCFilteredVersionSorter |
|
152 |
MCGOODSRepository |
|
153 |
MCInstanceVariableDefinition |
|
154 |
MCMczWriter |
|
155 |
MCMethodDefinition |
|
156 |
MCMockDefinition |
|
157 |
MCMockDependentItem |
|
158 |
MCModification |
|
159 |
MCMultiPackageLoader |
|
160 |
MCOrganizationDefinition |
|
161 |
MCPackageList |
|
162 |
MCPoolImportDefinition |
|
163 |
MCRemoval |
|
164 |
MCRepositoryDialog |
|
165 |
MCRepositoryList |
|
958 | 166 |
(MCSaveVersionDialog autoload) |
756 | 167 |
MCScriptDefinition |
168 |
MCSnapshotReader |
|
169 |
MCStWriter |
|
958 | 170 |
MCStXSnapshotPostReadTransformation |
171 |
MCStXSnapshotPreWriteTransformation |
|
756 | 172 |
MCSystemCategoryParser |
173 |
MCThreeWayMerger |
|
174 |
MCTraitParser |
|
175 |
MCVersionHistoryBrowser |
|
176 |
MCVersionInfo |
|
177 |
MCVersionInfoWriter |
|
178 |
MCVersionInspector |
|
179 |
MCVersionList |
|
180 |
MCVersionReader |
|
181 |
MCWorkingAncestry |
|
182 |
MCWorkingCopy |
|
958 | 183 |
(MCWorkingCopyBrowser autoload) |
756 | 184 |
MCWriteOnlyRepository |
185 |
MCDirectoryRepository |
|
958 | 186 |
(MCFileRepositoryInspector autoload) |
756 | 187 |
MCFtpRepository |
188 |
MCHttpRepository |
|
189 |
MCLazyVersionInfo |
|
190 |
MCMcdWriter |
|
191 |
MCMczReader |
|
192 |
MCPatchBrowser |
|
193 |
MCPostscriptDefinition |
|
194 |
MCPreambleDefinition |
|
195 |
MCRemovalPostscriptDefinition |
|
196 |
MCRemovalPreambleDefinition |
|
958 | 197 |
(MCRepositoryInspector autoload) |
198 |
(MCSMCacheRepository autoload) |
|
756 | 199 |
MCSMReleaseRepository |
200 |
MCSmtpRepository |
|
958 | 201 |
(MCSnapshotBrowser autoload) |
756 | 202 |
MCStReader |
203 |
MCStxMczWriter |
|
204 |
MCStxStWriter |
|
958 | 205 |
MCTraitDefinition |
206 |
(MCWorkingHistoryBrowser autoload) |
|
207 |
MCCacheRepository |
|
208 |
(MCChangeSelector autoload) |
|
209 |
MCMcdReader |
|
210 |
(MCMergeBrowser autoload) |
|
211 |
MCSubDirectoryRepository |
|
170 | 212 |
) |
213 |
! |
|
214 |
||
215 |
extensionMethodNames |
|
216 |
"lists the extension methods which are to be included in the project. |
|
843
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
217 |
Entries are pairwise elements, consisting of class-name and selector." |
170 | 218 |
|
219 |
^ #( |
|
756 | 220 |
Behavior traitCompositionString |
221 |
Behavior typeOfClass |
|
222 |
Class asClassDefinition |
|
223 |
Class classDefinitions |
|
224 |
Class poolDictionaryNames |
|
225 |
ClassDescription mcDefinition |
|
226 |
Object isConflict |
|
227 |
SequenceableCollection copyReplaceAll:with:asTokens: |
|
228 |
Stream isMessageStream |
|
229 |
String extractNumber |
|
230 |
String withSqueakLineEndings |
|
231 |
StringCollection asStringWithNativeLineEndings |
|
232 |
StringCollection asStringWithSqueakLineEndings |
|
233 |
Symbol isDoIt |
|
234 |
#'Tools::NewSystemBrowser' projectMenuMonticelloCommit |
|
235 |
UndefinedObject typeOfClass |
|
236 |
UserPreferences mcEnabled |
|
237 |
UserPreferences mcEnabled: |
|
238 |
UserPreferences mcRepositories |
|
239 |
UserPreferences mcRepositories: |
|
240 |
VersionInfo timeStamp |
|
241 |
'Annotation class' mctimestamp: |
|
242 |
'ProjectDefinition class' #'monticelloTimestamps_code' |
|
243 |
'ProjectDefinition class' #'monticelloTimestamps_codeFor:' |
|
244 |
'Timestamp class' fromMethodTimeStamp: |
|
843
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
245 |
Change mcDefinition |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
246 |
Change mcDefinition: |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
247 |
'ProjectDefinition class' monticelloName |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
248 |
'ProjectDefinition class' #'monticelloAncestry_code' |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
249 |
PackageInfo isMCStXPackageInfo |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
250 |
CharacterArray asStringWithSqueakLineEndings |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
251 |
CharacterArray asStringWithNativeLineEndings |
884
ad72b9928675
Added ProjectDefinition>>monticelloNameForMCZ
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
861
diff
changeset
|
252 |
'ProjectDefinition class' monticelloNameForMCZ |
170 | 253 |
) |
254 |
! ! |
|
255 |
||
256 |
!stx_goodies_monticello class methodsFor:'description - project information'! |
|
257 |
||
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
258 |
applicationIconFileName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
259 |
"Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file" |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
260 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
261 |
^ nil |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
262 |
"/ ^ self applicationName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
263 |
! |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
264 |
|
170 | 265 |
companyName |
266 |
"Return a companyname which will appear in <lib>.rc" |
|
267 |
||
268 |
^ 'eXept Software AG' |
|
269 |
! |
|
270 |
||
271 |
description |
|
272 |
"Return a description string which will appear in vc.def / bc.def" |
|
273 |
||
426 | 274 |
^ 'Smalltalk/X Monticello Class library' |
275 |
||
276 |
"Modified: / 20-08-2011 / 16:57:40 / cg" |
|
170 | 277 |
! |
278 |
||
279 |
legalCopyright |
|
280 |
"Return a copyright string which will appear in <lib>.rc" |
|
281 |
||
426 | 282 |
^ 'Public - See SqueakSource' |
283 |
||
284 |
"Modified: / 20-08-2011 / 16:58:01 / cg" |
|
170 | 285 |
! |
286 |
||
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
287 |
productInstallDirBaseName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
288 |
"Returns a default installDir which will appear in <app>.nsi. |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
289 |
This is usually not the one you want to keep" |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
290 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
291 |
^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
292 |
! |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
293 |
|
170 | 294 |
productName |
295 |
"Return a product name which will appear in <lib>.rc" |
|
296 |
||
297 |
^ 'Smalltalk/X' |
|
298 |
! ! |
|
299 |
||
300 |
!stx_goodies_monticello class methodsFor:'documentation'! |
|
301 |
||
413 | 302 |
version |
973
8a67537c9bea
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
972
diff
changeset
|
303 |
^ '$Header: /cvs/stx/stx/goodies/monticello/stx_goodies_monticello.st,v 1.25 2015-02-21 12:34:04 cg Exp $' |
413 | 304 |
! |
305 |
||
170 | 306 |
version_CVS |
973
8a67537c9bea
class: stx_goodies_monticello
Claus Gittinger <cg@exept.de>
parents:
972
diff
changeset
|
307 |
^ '$Header: /cvs/stx/stx/goodies/monticello/stx_goodies_monticello.st,v 1.25 2015-02-21 12:34:04 cg Exp $' |
170 | 308 |
! ! |
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
309 |