mercurial/stx_libscm_mercurial.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 11 Dec 2012 10:48:47 +0100
changeset 161 ed22df640210
parent 159 c70809dc1e70
child 162 108fc9ee061e
permissions -rw-r--r--
Bugfix: added lost NewSystemBrowser>>commonMenuHGPushSlice.

"{ 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'    "TestCase - superclass of HGStXTests "
        #'stx:libbasic'    "CharacterArray - superclass of extended String "
        #'stx:libbasic2'    "Singleton - superclass of HGStatus "
        #'stx:libbasic3'    "AbstractSourceCodeManager - superclass of HGSourceCodeManager "
        #'stx:libscm/common'    "SCMAbstractSourceCodeManager - superclass of HGSourceCodeManager "
        #'stx:libtool'    "AbstractSettingsApplication - superclass of HGSourceCodeManagementSettingsAppl "
        #'stx:libview'    "Depth1Image - referenced by HGSourceCodeManagementSettingsAppl class>>defaultIcon1 "
        #'stx:libview2'    "SimpleDialog - superclass of HGCommitDialog "
    )
! !

!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
        HGRepositoryObject
        (HGTestCase autoload)
        (HGTests autoload)
        HGWorkingCopyFile
        #'stx_libscm_mercurial'
        HGBranch
        HGWorkingCopy
        HGChangesetId
        HGStatus
        HGError
        HGRepositoryError
        HGCommandError
        (HGCommandParserTests autoload)
        HGChangeset
        HGPackageModel
        HGCommitDialog
        HGIconLibrary
        HGPackageModelRegistry
        HGSourceCodeManagementSettingsAppl
        HGSourceCodeManager
        HGAuthorQuery
        HGCommandParseError
        HGCommitTask
        HGChangesetFile
        (HGStXTests autoload)
        HGRevisionInfo
        HGRevisionAnnotation
        HGNoSuchBranchError
        HGChange
        HGConfig
        HGCommitError
        HGRemote
        HGPushError
        HGPushWouldCreateNewHeadError
    )
!

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 asHGChangesetId
        Integer asHGChangesetId
        Object asHGChangesetId
        String asHGChangesetId
        UserPreferences hgCommand
        UserPreferences hgCommand:
        UserPreferences hgAutopush
        UserPreferences hgAutopush:
        Object asHGRevision
        'Annotation class' HGRevision:
        'ProjectDefinition class' hgBinaryRevision
        'ProjectDefinition class' hgLogicalRevision
        'ProjectDefinition class' hgPostLoad
        #'Tools::NewSystemBrowser' commonMenuHGBrowseWorkingCopy
        #'Tools::NewSystemBrowser' selectedProjectsForHG
        'Tools::NewSystemBrowser class' #'classMenuSCMExtra_HG'
        'Tools::NewSystemBrowser class' #'projectMenuSCMExtra_HG'
        #'Tools::NewSystemBrowser' commonMenuHGPushSlice
    )
! !

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

    ^ 'Jan Vrany'

    "Modified: / 23-11-2012 / 20:27:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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

    ^ 'Mercurial integration for Smalltalk/X'

    "Modified: / 23-11-2012 / 20:27:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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

    ^ 'Copyright Jan Vrany 2012'

    "Modified: / 23-11-2012 / 20:27:46 / 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"

    ^ 'Smalltalk/X Mercurial Integration'

    "Modified: / 23-11-2012 / 20:28:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!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

    ^ '$Changeset: <not expanded> $'
!

version_SVN
    ^ '§Id::                                                                                                                        §'
! !