mercurial/stx_libscm_mercurial.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 01 Feb 2013 12:02:22 +0000
changeset 210 54a73fa50d40
parent 205 e8dbcfa7eb62
child 212 8ec5884fba41
permissions -rw-r--r--
Added copyright notice.

"
 COPYRIGHT (c) 2012-2013 by Jan Vrany
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libscm/mercurial' }"

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

!stx_libscm_mercurial class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2012-2013 by Jan Vrany
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
! !

!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 HGStXTests "
        #'stx:libbasic'    "GenericException - superclass of HGCommitError "
        #'stx:libbasic2'    "Singleton - superclass of HGStatus::Added "
        #'stx:libbasic3'    "AbstractSourceCodeManager - superclass of HGSourceCodeManager "
        #'stx:libhtml'    "HTMLDocumentView - referenced by HGSourceCodeManagementSettingsAppl>>help "
        #'stx:libscm/common'    "SCMAbstractDialog - superclass of HGCommitDialog "
        #'stx:libtool'    "AbstractFileBrowser - superclass of HGWorkingCopyBrowser "
        #'stx:libview'    "ImageMask - referenced by HGIconLibrary class>>compare "
        #'stx:libview2'    "SimpleDialog - superclass of HGCommitDialog "
    )
! !

!stx_libscm_mercurial class methodsFor:'description - compilation'!

additionalRules_bc_dot_mak
    "allows for additional static libraries to be added to the bc.mak file.
     Subclasses may redefine this"

    ^ '
doc:
        pushd docs & $(MAKE_BAT) html

doc-install:
        pushd docs & $(MAKE_BAT) html-install


clean::
        pushd docs & $(MAKE_BAT) clean

'

    "Created: / 11-11-2012 / 12:22:21 / jv"
    "Modified: / 24-01-2013 / 22:26:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalRules_make_dot_proto
    "allows for additional rules to be added to the make.proto file."

    ^ '
doc:
        $(MAKE) -C docs html

doc-install:
        $(MAKE) -C docs html-install

clean::
        $(MAKE) -C docs clean
'

    "Created: / 01-11-2012 / 22:35:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    "Modified: / 24-01-2013 / 22:27:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!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
        HGWorkingCopyBrowser
        HGMergeInfo
        HGCachedFileData
        HGMergeTool
    )
!

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
        'AbstractFileBrowser class' hgMenu
        'ConfigurableFeatures class' hasHGSupport
        'ConfigurableFeatures class' hasHGSupportEnabled
        AbstractFileBrowser currentHgRepository
        AbstractFileBrowser hasHGWorkingCopySelected
        AbstractFileBrowser hgCommit
        AbstractFileBrowser hgExecuteCommand:
        AbstractFileBrowser hgExecuteCommand:objects:
        AbstractFileBrowser hgStatus
        AbstractFileBrowser hgMenuMerge
        #'Tools::NewSystemBrowser' commonMenuHGBrowseTemporaryWorkingCopy
        AbstractFileBrowser hgMenuMerge:
        AbstractFileBrowser hgResolve
        AbstractFileBrowser hgResolveList
        AbstractFileBrowser hgResolveListUnresolved
        AbstractFileBrowser hgResolveMark
        AbstractFileBrowser hgRevert
        AbstractFileBrowser hgUpdate
        AbstractFileBrowser hgUpdateClean
        AbstractFileBrowser hgSummary
        AbstractFileBrowser hgBranches
        AbstractFileBrowser hgHeads
    )
! !

!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::                                                                                                                        §'
! !