mercurial/monticello/stx_libscm_mercurial_monticello.st
changeset 808 ae9fdbfa8ba4
parent 291 5213876de50a
equal deleted inserted replaced
807:ef00a1303f73 808:ae9fdbfa8ba4
     1 "{ Package: 'stx:libscm/mercurial/monticello' }"
     1 "{ Package: 'stx:libscm/mercurial/monticello' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
     2 
     4 
     3 LibraryDefinition subclass:#stx_libscm_mercurial_monticello
     5 LibraryDefinition subclass:#stx_libscm_mercurial_monticello
     4 	instanceVariableNames:''
     6 	instanceVariableNames:''
     5 	classVariableNames:''
     7 	classVariableNames:''
     6 	poolDictionaries:''
     8 	poolDictionaries:''
    17     ^ #(
    19     ^ #(
    18     )
    20     )
    19 !
    21 !
    20 
    22 
    21 mandatoryPreRequisites
    23 mandatoryPreRequisites
    22     "list all required mandatory packages.
    24     "list packages which are mandatory as a prerequisite.
    23      Packages are mandatory, if they contain superclasses of the package's classes
    25      This are packages containing superclasses of my classes and classes which
    24      or classes which are extended by this package.
    26      are extended by myself.
    25      This list can be maintained manually or (better) generated and
    27      They are mandatory, because we need these packages as a prerequisite for loading and compiling.
    26      updated by scanning the superclass hierarchies
    28      This method is generated automatically,
    27      (the browser has a menu function for that)
    29      by searching along the inheritance chain of all of my classes.
    28      However, often too much is found, and you may want to explicitely
    30      Please take a look at the #referencedPreRequisites method as well."
    29      exclude individual packages in the #excludedFromPreRequisites method."
       
    30 
    31 
    31     ^ #(
    32     ^ #(
    32         #'stx:goodies/monticello'    "MCAncestry - superclass of HGMCVersionInfo "
    33         #'stx:goodies/monticello'    "MCAncestry - superclass of HGMCVersionInfo"
    33         #'stx:libbasic'    "LibraryDefinition - superclass of stx_libscm_mercurial_monticello "
    34         #'stx:libbasic'    "LibraryDefinition - superclass of stx_libscm_mercurial_monticello"
    34     )
    35     )
    35 !
    36 !
    36 
    37 
    37 referencedPreRequisites
    38 referencedPreRequisites
    38     "list all packages containing classes referenced by the packages's members.
    39     "list packages which are a prerequisite, because they contain
    39      This list can be maintained manually or (better) generated and
    40      classes which are referenced by my classes.
    40      updated by looking for global variable accesses
    41      These packages are NOT needed as a prerequisite for compiling or loading,
    41      (the browser has a menu function for that)
    42      however, a class from it may be referenced during execution and having it
    42      However, often too much is found, and you may want to explicitely
    43      unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
    43      exclude individual packages in the #excludedFromPreRequisites method."
    44      includes explicit checks for the package being present.
       
    45      This method is generated automatically,
       
    46      by searching all classes (and their packages) which are referenced by my classes.
       
    47      Please also take a look at the #mandatoryPreRequisites method"
    44 
    48 
    45     ^ #(
    49     ^ #(
    46         #'stx:libbasic2'    "UUID - referenced by HGMCVersionInfo>>initializeWithPackage:changeset: "
    50         #'stx:libbasic2'    "UUID - referenced by HGMCVersionInfo>>initializeWithPackage:changeset:"
    47         #'stx:libscm/mercurial'    "HGPackageModel - referenced by HGMCVersionInfo class>>forPackage: "
    51         #'stx:libscm/mercurial'    "HGChangesetId - referenced by HGMCVersionInfo>>splicedAncestorsFor:"
    48     )
    52     )
    49 !
    53 !
    50 
    54 
    51 subProjects
    55 subProjects
    52     "list packages which are known as subprojects.
    56     "list packages which are known as subprojects.
    73     )
    77     )
    74 !
    78 !
    75 
    79 
    76 extensionMethodNames
    80 extensionMethodNames
    77     "lists the extension methods which are to be included in the project.
    81     "lists the extension methods which are to be included in the project.
    78      Entries are 2-element array literals, consisting of class-name and selector."
    82      Entries are 2-element array literals, consisting of class-name and selector.
       
    83      A correponding method with real names must be present in my concrete subclasses
       
    84      if it has extensions."
    79 
    85 
    80     ^ #(
    86     ^ #(
    81     )
    87     )
    82 ! !
    88 ! !
    83 
    89