core/stx_goodies_metacello_core.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 19 Sep 2012 01:38:26 +0000
changeset 20 8caf2f257260
parent 16 25ac697dc747
child 24 3313f2289211
permissions -rw-r--r--
- fixes for package support

"{ Package: 'stx:goodies/metacello/core' }"

LibraryDefinition subclass:#stx_goodies_metacello_core
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!


!stx_goodies_metacello_core class methodsFor:'description'!

excludedFromPreRequisites
    "list all packages which should be ignored in the automatic
     preRequisites scan. See #preRequisites for more."

    ^ #(
    )
!

preRequisites
    "list all required packages.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies and looking for
     global variable accesses. (the browser has a menu function for that)
     Howevery, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPrerequisites method."

    ^ #(
        #'stx:goodies/metacello/base'    "ConfigurationOf - superclass of MetacelloBaseConfiguration "
        #'stx:goodies/monticello'    "MCDictionaryRepository - referenced by MetacelloPlatform>>createRepository: "
        #'stx:libbasic'    "GenericException - superclass of MetacelloStackCacheNotification "
    )
! !

!stx_goodies_metacello_core class methodsFor:'description - contents'!

classNamesAndAttributes
    "lists the classes which are to be included in the project.
     Each entry in the list may be: a single class-name (symbol),
     or an array-literal consisting of class name and attributes.
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."

    ^ #(
        "<className> or (<className> attributes...) in load order"
        MetacelloMethodSectionPath
        MetacelloMethodSpec
        MetacelloPackageSpecResolutionError
        MetacelloPlatform
        #'stx_goodies_metacello_core'
        MetacelloSymbolicVersionMethodSpec
        MetacelloVersionMethodSpec
        MetacelloAbstractConstructor
        MetacelloBaseConfiguration
        MetacelloCannotUpdateReleasedVersionError
        MetacelloCleanNotification
        MetacelloClearStackCacheNotification
        MetacelloErrorInProjectConstructionNotification
        MetacelloMethodSection
        MetacelloProject
        MetacelloProjectRegistration
        MetacelloProjectRegistry
        MetacelloProjectSpecForLoad
        MetacelloProjectSpecGenerator
        MetacelloProjectSpecLoadError
        MetacelloScriptEngine
        MetacelloScriptExecutor
        MetacelloScriptGitHubDownloadNotification
        MetacelloScriptNotification
        MetacelloScriptingError
        MetacelloSemanticVersionNumber
        MetacelloSkipDirtyPackageLoad
        MetacelloSpec
        MetacelloSpecLoader
        MetacelloStackCacheNotification
        MetacelloValidationFailure
        MetacelloValidationIssue
        MetacelloValidationNotification
        MetacelloVersion
        MetacelloVersionDoesNotExistError
        MetacelloVersionNumber
        MetacelloAbstractPackageSpec
        MetacelloAbstractVersionConstructor
        MetacelloBaselineSpecGenerator
        MetacelloCleanLoadAndTestsNotification
        MetacelloCleanLoadNotification
        MetacelloConfigurationSpecGenerator
        MetacelloConflictingProjectError
        MetacelloLockedProjectError
        MetacelloMemberListSpec
        MetacelloMemberSpec
        MetacelloProjectSpec
        MetacelloProjectSpecLoadConflict
        MetacelloResolveProjectUpgrade
        MetacelloScriptApiExecutor
        MetacelloScriptEnsureProjectLoadedForDevelopment
        MetacelloScriptImageExecutor
        MetacelloScriptProjectSpecNotification
        MetacelloScriptRegistryExecutor
        MetacelloSymbolicVersionDoesNotExistError
        MetacelloSymbolicVersionSpec
        MetacelloUseUpgradeError
        MetacelloValidationCriticalWarning
        MetacelloValidationError
        MetacelloValidationWarning
        MetacelloValueHolderSpec
        MetacelloVersionDefinitionError
        MetacelloVersionMethodSection
        MetacelloVersionSpec
        MetacelloVersionValidator
        MetacelloAddMemberSpec
        MetacelloAllowConflictingProjectUpgrade
        MetacelloAllowProjectDowngrade
        MetacelloAllowProjectUpgrade
        MetacelloBaselineConstructor
        MetacelloCopyMemberSpec
        MetacelloGenericProjectSpec
        MetacelloGroupSpec
        MetacelloLookupBaselineSpecForEnsureLoad
        MetacelloLookupProjectSpec
        MetacelloLookupProjectSpecForLoad
        MetacelloMergeMemberSpec
        MetacelloPackagesSpec
        MetacelloProjectReferenceSpec
        MetacelloProjectSpecLoadedNotification
        MetacelloRemoveMemberSpec
        MetacelloSymbolicVersionNotDefinedError
        MetacelloToolBoxConstructor
        MetacelloVersionConstructor
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
        Block setAuthorInMetacelloConfig:
        Block setBlessingInMetacelloConfig:
        Block setDescriptionInMetacelloConfig:
        Block setPackage:withInMetacelloConfig:
        Block setProject:withInMetacelloConfig:
        Block setTimestampInMetacelloConfig:
        Collection addToMetacelloPackages:
        Collection asMetacelloAttributeList
        Collection asMetacelloAttributePath
        Collection mergeIntoMetacelloPackages:
        Collection removeFromMetacelloPackages:
        Collection setForDo:withInMetacelloConfig:
        Collection setForVersion:withInMetacelloConfig:
        Collection setIncludesInMetacelloPackage:
        Collection setLoadsInMetacelloProject:
        Collection setRequiresInMetacelloPackage:
        Integer metacelloIntegerLessThanSelf:
        Integer metacelloStringLessThanSelf:
        Integer metacelloVersionComponentLessThan:
        Object metacelloIntegerLessThanSelf:
        Object metacelloStringLessThanSelf:
        Object metacelloVersionComponentLessThan:
        String addToMetacelloPackages:
        String asMetacelloVersionNumber
        String mergeIntoMetacelloPackages:
        String metacelloIntegerLessThanSelf:
        String metacelloStringLessThanSelf:
        String metacelloVersionComponentLessThan:
        String removeFromMetacelloPackages:
        String setAuthorInMetacelloConfig:
        String setAuthorInMetacelloVersion:
        String setBlessingInMetacelloConfig:
        String setBlessingInMetacelloVersion:
        String setDescriptionInMetacelloConfig:
        String setDescriptionInMetacelloVersion:
        String setIncludesInMetacelloPackage:
        String setLoadsInMetacelloProject:
        String setPackage:withInMetacelloConfig:
        String setProject:withInMetacelloConfig:
        String setRequiresInMetacelloPackage:
        String setTimestampInMetacelloConfig:
        String setTimestampInMetacelloVersion:
        Symbol asMetacelloAttributeList
        Symbol asMetacelloAttributePath
        Symbol setForDo:withInMetacelloConfig:
        Symbol setForVersion:withInMetacelloConfig:
        Symbol setPostLoadDoItInMetacelloSpec:
        Symbol setPreLoadDoItInMetacelloSpec:
        Timestamp setTimestampInMetacelloVersion:
        UndefinedObject asMetacelloVersionNumber
        UndefinedObject setAuthorInMetacelloVersion:
        UndefinedObject setBlessingInMetacelloVersion:
        UndefinedObject setDescriptionInMetacelloVersion:
        UndefinedObject setPostLoadDoItInMetacelloSpec:
        UndefinedObject setPreLoadDoItInMetacelloSpec:
        UndefinedObject setProject:withInMetacelloConfig:
        UndefinedObject setTimestampInMetacelloVersion:
        Block execute:against:
        Block setBaseline:withInMetacelloConfig:
        Block setConfiguration:withInMetacelloConfig:
        Collection execute:against:
        Integer metacelloSemanticIntegerLessThanSelf:
        Integer metacelloSemanticStringLessThanSelf:
        Integer metacelloSemanticVersionComponentLessThan:
        Object metacelloSemanticIntegerLessThanSelf:
        Object metacelloSemanticStringLessThanSelf:
        Object metacelloSemanticVersionComponentLessThan:
        String asMetacelloSemanticVersionNumber
        String execute:against:
        String metacelloSemanticIntegerLessThanSelf:
        String metacelloSemanticStringLessThanSelf:
        String metacelloSemanticVersionComponentLessThan:
        String setPostLoadDoItInMetacelloSpec:
        String setPreLoadDoItInMetacelloSpec:
        Timestamp setTimestampInMetacelloConfig:
        UndefinedObject asMetacelloSemanticVersionNumber
        UndefinedObject metacelloRegistrationHash
        UndefinedObject registrationsCompareEqual:
    )
! !

!stx_goodies_metacello_core class methodsFor:'description - project information'!

applicationIconFileName
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"

    ^ nil
    "/ ^ self applicationName
!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'Dale Henrichs & Jan Vrany'

    "Modified: / 10-09-2012 / 22:14:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Metacello -- a Smalltalk project configuration management tool'

    "Modified: / 10-09-2012 / 22:15:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ 'Copyright Dale Henrichs 2008-2012\nCopyright Jan Vrany 2012 (port & Smalltalk/X specific code)'

    "Modified: / 10-09-2012 / 22:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

productInstallDirBaseName
    "Returns a default installDir which will appear in <app>.nsi.
     This is usually not the one you want to keep"

    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
!

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'Metacello'

    "Modified: / 10-09-2012 / 22:16:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_metacello_core class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
     Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
    "        

    ^ '$URL::                                                                                                                        $'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'nil             '"$"
! !

!stx_goodies_metacello_core class methodsFor:'documentation'!

version_SVN
    ^ '$Id::                                                                                                                        $'
! !