author | Claus Gittinger <cg@exept.de> |
Sat, 01 Sep 2018 17:33:17 +0200 | |
changeset 1093 | 9ae1f3f8b1f4 |
parent 1082 | 0fc9d3b9894f |
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 |
1082 | 36 |
"list packages which are mandatory as a prerequisite. |
37 |
This are packages containing superclasses of my classes and classes which |
|
38 |
are extended by myself. |
|
39 |
They are mandatory, because we need these packages as a prerequisite for loading and compiling. |
|
40 |
This method is generated automatically, |
|
41 |
by searching along the inheritance chain of all of my classes. |
|
42 |
Please take a look at the #referencedPreRequisites method as well." |
|
170 | 43 |
|
44 |
^ #( |
|
1082 | 45 |
#'stx:libbasic' "AbstractTime - extended" |
46 |
#'stx:libbasic3' "AbstractSourceCodeManager - superclass of MCSourceCodeManager" |
|
47 |
#'stx:libcompat' "PackageInfo - extended" |
|
48 |
#'stx:libtool' "AbstractSettingsApplication - superclass of MCSettingsApp" |
|
49 |
#'stx:libview2' "ApplicationModel - extended" |
|
50 |
#'stx:libwidg2' "AbstractHierarchicalItem - superclass of MCPackageEntry" |
|
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 |
1082 | 55 |
"list packages which are a prerequisite, because they contain |
56 |
classes which are referenced by my classes. |
|
57 |
These packages are NOT needed as a prerequisite for compiling or loading, |
|
58 |
however, a class from it may be referenced during execution and having it |
|
59 |
unloaded then may lead to a runtime doesNotUnderstand error, unless the caller |
|
60 |
includes explicit checks for the package being present. |
|
61 |
This method is generated automatically, |
|
62 |
by searching all classes (and their packages) which are referenced by my classes. |
|
63 |
Please also take a look at the #mandatoryPreRequisites method" |
|
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
64 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
65 |
^ #( |
1082 | 66 |
#'stx:goodies/communication' "FTPClient - referenced by MCFtpRepository>>clientDo:" |
67 |
#'stx:libbasic2' "Iterator - referenced by MCPackageList>>makeGenerator" |
|
68 |
#'stx:libcomp' "Parser - referenced by MCRepositoryBrowser>>repositoryAddFromExpressionString" |
|
69 |
#'stx:libhtml' "HTMLDocumentView - referenced by MCRepositoryBrowser>>openDocumentation" |
|
70 |
#'stx:libview' "Color - referenced by MCCommitDialog>>findUniqueVersionNumber" |
|
71 |
#'stx:libwidg' "PopUpMenu - referenced by MCVersionInspector>>pickAncestor" |
|
72 |
) |
|
73 |
! |
|
74 |
||
75 |
subProjects |
|
76 |
"list packages which are known as subprojects. |
|
77 |
The generated makefile will enter those and make there as well. |
|
78 |
However: they are not forced to be loaded when a package is loaded; |
|
79 |
for those, redefine #referencedPrerequisites or #mandatoryPreRequisites." |
|
80 |
||
81 |
^ #( |
|
170 | 82 |
) |
83 |
! ! |
|
84 |
||
85 |
!stx_goodies_monticello class methodsFor:'description - contents'! |
|
86 |
||
87 |
classNamesAndAttributes |
|
88 |
"lists the classes which are to be included in the project. |
|
89 |
Each entry in the list may be: a single class-name (symbol), |
|
90 |
or an array-literal consisting of class name and attributes. |
|
91 |
Attributes are: #autoload or #<os> where os is one of win32, unix,..." |
|
92 |
||
93 |
^ #( |
|
756 | 94 |
"<className> or (<className> attributes...) in load order" |
95 |
InMidstOfFileinNotification |
|
96 |
MCAncestry |
|
97 |
MCBrowserList |
|
98 |
MCChangeSelectionRequest |
|
99 |
MCConflict |
|
1068 | 100 |
MCCredentialsRequest |
756 | 101 |
MCDefinition |
102 |
MCDefinitionIndex |
|
103 |
MCDependencySorter |
|
104 |
MCDialog |
|
105 |
MCDirtyPackageInfo |
|
106 |
MCDoItParser |
|
107 |
MCEmptyPackageInfo |
|
1093 | 108 |
MCFileTreeFileUtils |
756 | 109 |
MCFrontier |
110 |
MCInteractiveLoadingQuery |
|
111 |
MCLazyPropertyDictionary |
|
112 |
MCMergeRecord |
|
113 |
MCMergeResolutionRequest |
|
114 |
MCMerger |
|
115 |
MCMock |
|
116 |
MCMockAPoolDictionary |
|
117 |
MCMockDependency |
|
118 |
MCMockPackageInfo |
|
119 |
MCNoChangesException |
|
120 |
MCPackage |
|
121 |
MCPackageCache |
|
122 |
MCPackageEntry |
|
123 |
MCPackageLoader |
|
124 |
MCPackageManager |
|
125 |
MCPatch |
|
126 |
MCPatchOperation |
|
127 |
MCPatcher |
|
1068 | 128 |
MCPermissionDenied |
756 | 129 |
MCReader |
130 |
MCRepository |
|
131 |
MCRepositoryBrowser |
|
132 |
MCRepositoryEntry |
|
133 |
MCRepositoryGroup |
|
134 |
MCScanner |
|
1068 | 135 |
MCServerCredentials |
136 |
MCServerRegistry |
|
756 | 137 |
MCSettingsApp |
138 |
MCSnapshot |
|
139 |
MCSourceCodeManager |
|
958 | 140 |
MCStXNamespaceQuery |
141 |
MCStXPackageInfo |
|
756 | 142 |
MCStXPackageQuery |
958 | 143 |
MCStXSnapshotTransformation |
144 |
MCStxVersionInfo |
|
756 | 145 |
MCTimestampAnnotation |
146 |
MCTool |
|
147 |
MCVariableDefinition |
|
148 |
MCVersion |
|
149 |
MCVersionDependency |
|
150 |
MCVersionEntry |
|
151 |
MCVersionLoader |
|
152 |
MCVersionMerger |
|
153 |
MCVersionNameAndMessageRequest |
|
154 |
MCVersionNotification |
|
155 |
MCVersionSorter |
|
156 |
MCWriter |
|
157 |
MethodReference |
|
158 |
PackageOrganizer |
|
159 |
#'stx_goodies_monticello' |
|
160 |
MCAddition |
|
958 | 161 |
MCClassComment |
756 | 162 |
MCClassDefinition |
163 |
MCClassInstanceVariableDefinition |
|
164 |
MCClassTraitDefinition |
|
165 |
MCClassTraitParser |
|
166 |
MCClassVariableDefinition |
|
167 |
MCCodeTool |
|
168 |
MCCommitDialog |
|
169 |
MCDictionaryRepository |
|
170 |
MCDiffyVersion |
|
171 |
MCFileBasedRepository |
|
1093 | 172 |
MCFileTreeFileSystemUtils |
756 | 173 |
MCFilteredVersionSorter |
174 |
MCGOODSRepository |
|
175 |
MCInstanceVariableDefinition |
|
176 |
MCMczWriter |
|
177 |
MCMethodDefinition |
|
178 |
MCMockDefinition |
|
179 |
MCMockDependentItem |
|
180 |
MCModification |
|
181 |
MCMultiPackageLoader |
|
182 |
MCOrganizationDefinition |
|
183 |
MCPackageList |
|
184 |
MCPoolImportDefinition |
|
185 |
MCRemoval |
|
186 |
MCRepositoryDialog |
|
187 |
MCRepositoryList |
|
188 |
MCScriptDefinition |
|
189 |
MCSnapshotReader |
|
190 |
MCStWriter |
|
958 | 191 |
MCStXSnapshotPostReadTransformation |
192 |
MCStXSnapshotPreWriteTransformation |
|
756 | 193 |
MCSystemCategoryParser |
194 |
MCThreeWayMerger |
|
195 |
MCTraitParser |
|
196 |
MCVersionHistoryBrowser |
|
197 |
MCVersionInfo |
|
198 |
MCVersionInfoWriter |
|
199 |
MCVersionInspector |
|
200 |
MCVersionList |
|
201 |
MCVersionReader |
|
202 |
MCWorkingAncestry |
|
203 |
MCWorkingCopy |
|
204 |
MCWriteOnlyRepository |
|
205 |
MCDirectoryRepository |
|
206 |
MCFtpRepository |
|
207 |
MCHttpRepository |
|
208 |
MCLazyVersionInfo |
|
209 |
MCMcdWriter |
|
210 |
MCMczReader |
|
211 |
MCPatchBrowser |
|
212 |
MCPostscriptDefinition |
|
213 |
MCPreambleDefinition |
|
214 |
MCRemovalPostscriptDefinition |
|
215 |
MCRemovalPreambleDefinition |
|
216 |
MCSMReleaseRepository |
|
217 |
MCSmtpRepository |
|
218 |
MCStReader |
|
219 |
MCStxMczWriter |
|
220 |
MCStxStWriter |
|
958 | 221 |
MCTraitDefinition |
1068 | 222 |
MCCacheRepository |
1093 | 223 |
MCFileTreeRepository |
1068 | 224 |
MCGemstoneRepository |
225 |
MCMcdReader |
|
226 |
MCSmalltalkhubRepository |
|
227 |
MCSqueaksourceRepository |
|
228 |
MCSubDirectoryRepository |
|
229 |
(MCDependentsWrapper autoload) |
|
230 |
(MCToolWindowBuilder autoload) |
|
231 |
(MCSaveVersionDialog autoload) |
|
232 |
(MCWorkingCopyBrowser autoload) |
|
233 |
(MCFileRepositoryInspector autoload) |
|
234 |
(MCRepositoryInspector autoload) |
|
235 |
(MCSMCacheRepository autoload) |
|
236 |
(MCSnapshotBrowser autoload) |
|
958 | 237 |
(MCWorkingHistoryBrowser autoload) |
238 |
(MCChangeSelector autoload) |
|
239 |
(MCMergeBrowser autoload) |
|
170 | 240 |
) |
241 |
! |
|
242 |
||
243 |
extensionMethodNames |
|
244 |
"lists the extension methods which are to be included in the project. |
|
1082 | 245 |
Entries are 2-element array literals, consisting of class-name and selector. |
246 |
A correponding method with real names must be present in my concrete subclasses |
|
247 |
if it has extensions." |
|
170 | 248 |
|
249 |
^ #( |
|
756 | 250 |
Behavior traitCompositionString |
251 |
Behavior typeOfClass |
|
252 |
Class asClassDefinition |
|
253 |
Class classDefinitions |
|
254 |
Class poolDictionaryNames |
|
255 |
ClassDescription mcDefinition |
|
256 |
Object isConflict |
|
257 |
SequenceableCollection copyReplaceAll:with:asTokens: |
|
258 |
Stream isMessageStream |
|
259 |
String extractNumber |
|
260 |
String withSqueakLineEndings |
|
261 |
StringCollection asStringWithNativeLineEndings |
|
262 |
StringCollection asStringWithSqueakLineEndings |
|
263 |
Symbol isDoIt |
|
264 |
#'Tools::NewSystemBrowser' projectMenuMonticelloCommit |
|
265 |
UndefinedObject typeOfClass |
|
266 |
UserPreferences mcEnabled |
|
267 |
UserPreferences mcEnabled: |
|
268 |
UserPreferences mcRepositories |
|
269 |
UserPreferences mcRepositories: |
|
270 |
VersionInfo timeStamp |
|
271 |
'Annotation class' mctimestamp: |
|
272 |
'ProjectDefinition class' #'monticelloTimestamps_code' |
|
273 |
'ProjectDefinition class' #'monticelloTimestamps_codeFor:' |
|
274 |
'Timestamp class' fromMethodTimeStamp: |
|
843
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
275 |
Change mcDefinition |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
276 |
Change mcDefinition: |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
277 |
'ProjectDefinition class' monticelloName |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
278 |
'ProjectDefinition class' #'monticelloAncestry_code' |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
279 |
PackageInfo isMCStXPackageInfo |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
280 |
CharacterArray asStringWithSqueakLineEndings |
a4ea1147dd16
More support Squeak/Pharo interoperability - part 1:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
767
diff
changeset
|
281 |
CharacterArray asStringWithNativeLineEndings |
884
ad72b9928675
Added ProjectDefinition>>monticelloNameForMCZ
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
861
diff
changeset
|
282 |
'ProjectDefinition class' monticelloNameForMCZ |
170 | 283 |
) |
284 |
! ! |
|
285 |
||
286 |
!stx_goodies_monticello class methodsFor:'description - project information'! |
|
287 |
||
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
288 |
applicationIconFileName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
289 |
"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
|
290 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
291 |
^ nil |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
292 |
"/ ^ self applicationName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
293 |
! |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
294 |
|
170 | 295 |
companyName |
296 |
"Return a companyname which will appear in <lib>.rc" |
|
297 |
||
298 |
^ 'eXept Software AG' |
|
299 |
! |
|
300 |
||
301 |
description |
|
302 |
"Return a description string which will appear in vc.def / bc.def" |
|
303 |
||
426 | 304 |
^ 'Smalltalk/X Monticello Class library' |
305 |
||
306 |
"Modified: / 20-08-2011 / 16:57:40 / cg" |
|
170 | 307 |
! |
308 |
||
309 |
legalCopyright |
|
310 |
"Return a copyright string which will appear in <lib>.rc" |
|
311 |
||
426 | 312 |
^ 'Public - See SqueakSource' |
313 |
||
314 |
"Modified: / 20-08-2011 / 16:58:01 / cg" |
|
170 | 315 |
! |
316 |
||
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
317 |
productInstallDirBaseName |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
318 |
"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
|
319 |
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
|
320 |
|
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
321 |
^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
322 |
! |
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
323 |
|
170 | 324 |
productName |
325 |
"Return a product name which will appear in <lib>.rc" |
|
326 |
||
327 |
^ 'Smalltalk/X' |
|
328 |
! ! |
|
329 |
||
330 |
!stx_goodies_monticello class methodsFor:'documentation'! |
|
331 |
||
413 | 332 |
version |
1068 | 333 |
^ '$Header$' |
413 | 334 |
! |
335 |
||
170 | 336 |
version_CVS |
1068 | 337 |
^ '$Header$' |
170 | 338 |
! ! |
731
a5381bbaee2e
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
551
diff
changeset
|
339 |