mercurial/stx_libscm_mercurial.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 20 Nov 2012 10:27:50 +0000
changeset 84 76c669414145
parent 80 8f300696b26b
child 88 1ad71a063a20
permissions -rw-r--r--
Added HGVersionInfo.

"{ Package: 'stx:libscm/mercurial' }"

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


!stx_libscm_mercurial 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/sunit'    "TestAsserter - superclass of HGTestCase "
        #'stx:libbasic'    "LibraryDefinition - superclass of stx_libscm_mercurial "
        #'stx:libbasic2'    "Singleton - superclass of HGStatus::Added "
        #'stx:libbasic3'    "AbstractSourceCodeManager - superclass of HGSourceCodeManager "
        #'stx:libscm/common'    "SCMAbstractCommitDialog - superclass of HGCommitDialog "
        #'stx:libtool'    "AbstractSourceCodeManagementSettingsAppl - superclass of HGSourceCodeManagementSettingsAppl "
        #'stx:libview'    "ImageMask - referenced by HGIconLibrary class>>hgLogo2 "
        #'stx:libview2'    "ApplicationModel - superclass of HGSourceCodeManagementSettingsAppl "
    )
! !

!stx_libscm_mercurial 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"
        HGCommand
        HGCommandParser
        (HGRepositoriesResource autoload)
        HGRepository
        HGRepositoryError
        HGRepositoryObject
        (HGTestCase autoload)
        (HGTests autoload)
        HGWorkingCopyFile
        #'stx_libscm_mercurial'
        HGBranch
        HGWorkingCopy
        HGNodeId
        HGStatus
        HGError
        HGCommandError
        (HGCommandParserTests autoload)
        HGChangeset
        HGPackageModel
        HGCommitDialog
        HGIconLibrary
        HGPackageModelRegistry
        HGSourceCodeManagementSettingsAppl
        HGSourceCodeManager
        HGAuthorQuery
        HGCommandParseError
        HGCommitTask
        HGChangesetFile
        (HGStXTests autoload)
        HGVersionInfo
    )
!

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."

    ^ #(
        ByteArray asHGNodeId
        Integer asHGNodeId
        Object asHGNodeId
        String asHGNodeId
        UserPreferences hgCommand
        UserPreferences hgCommand:
    )

    "Modified: / 19-11-2012 / 21:56:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_libscm_mercurial 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"

    ^ 'eXept Software AG'
!

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

    ^ 'Smalltalk/X Class library'
!

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

    ^ 'Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 1998-2012'
!

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"

    ^ 'Smalltalk/X'
! !

!stx_libscm_mercurial 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_libscm_mercurial class methodsFor:'documentation'!

version_HG
    "Never, ever change this method. Ask JV or CG why"
    ^thisContext method mclass theNonMetaclass instVarNamed: #revision
!

version_SVN
    ^ '§Id::                                                                                                                        §'
! !