stx_libtool.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 30 Jan 2013 11:15:09 +0000
branchjv
changeset 12401 4714b9640528
parent 12321 13d791d84a47
parent 11908 80a7c21c9e9f
child 12406 1fbd331e4489
permissions -rw-r--r--
Merged 235b77901045 and 8332590c5a41 (branch default)

"
 COPYRIGHT (c) 2006 by eXept Software AG
              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:libtool' }"

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

!stx_libtool class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2006 by eXept Software AG
              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.
"
!

documentation
"
    Build- and package information for creation of the st/x standard library: stx_libtool.
    This library contains developer tools.
"
!

extensionsVersion_CVS
    ^ '$Header: /cvs/stx/stx/libtool/extensions.st,v 1.81 2012/09/09 20:44:34 cg Exp $'
!

 !


!stx_libtool class methodsFor:'description'!

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

    ^ #(
        #'stx:libdb'    "SQL::SQLError - referenced by StoreSourceCodeManagementSettingsAppl>>tryToConnectTo: "
        #'stx:goodies/simpleServices'    "WindowMigrationServer - referenced by AbstractSettingsApplication::MiscCommunicationSettingsAppl>>hasWindowMigrationServer "
        #'stx:goodies/soap'    "SOAP::SoapHttpModule - referenced by AbstractLauncherApplication::LauncherDialogs class>>communicationsSettings "      
        #'stx:goodies/webServer'    "HTTPService - referenced by Tools::NewSystemBrowser>>classMenuNewWebService "
        #'stx:goodies/webServer/ui'    "HTTPServerSettingsAppl - referenced by AbstractSettingsApplication::HTTPStartServerSettingsApplication>>hasCreatedServer "
        #'stx:goodies/xml/stx'    "XMLCoder - referenced by Tools::NewSystemBrowser>>selectorMenuFileOutXMLAs "
        #'stx:goodies/xml/vw'    "XML::SourceScannerNodeBuilder - referenced by ChangesBrowser class>>readXMLChangesFrom:inBackground: "     
        #'stx:libwidg3'    "ClockView - referenced by WorkspaceApplication>>addStopWatch "
        #'stx:libjava'    "JavaMethod - referenced by AbstractLauncherApplication::LauncherDialogs class>>javaSettings "
        #'stx:libjavascript'    "JavaScriptCompiler - referenced by WorkspaceApplication>>compilerClassForSyntaxName: "
        #'stx:libtool2'    "Tools::InternationalLanguageTranslationEditor - referenced by AbstractFileBrowser>>openResourceFileEditor "
        #'stx:goodies/refactoryBrowser/refactoring'    "RenameClassVariableRefactoring - referenced by Tools::NewSystemBrowser>>codeMenuRenameClassVariable:inClass: "
        #'stx:goodies/refactoryBrowser/parser'    "ParseTreeRewriter - superclass of extended ParseTreeSourceRewriter "


        #'exept:expecco'    "Expecco::ExpeccoNetAPI - referenced by AbstractLauncherApplication>>bugReporterAvailable "
        #'exept:httpPortal'    "WebApplicationModel - referenced by Tools::NewSystemBrowser>>classMenuNewWebApplication "
        #'exept:osi/asn1'    "OSI::ASN1Browser - referenced by FileBrowser>>openASN1Browser "
        #'stx:libwebkit'    "WebKitView - referenced by Tools::WebBrowserPage>>webKitView "
        #'stx:libsvn'
        #'exept:vncViewer'    "VNCRenderer - referenced by FileApplicationNoteBook::XViewApplication>>setupView "
        #'exept:xml/inspector'    "XML::XMLInspector - referenced by AbstractFileBrowser>>inspectXmlFile "
        #'stx:goodies/communication'    "SmalltalkShareServer - referenced by AbstractLauncherApplication::LauncherDialogs class>>communicationsSettings "
        #'stx:goodies/monticello'    "MCRepositoryBrowser - referenced by Tools::NewSystemBrowser>>projectMenuMonticelloBrowseRepositories "
        #'stx:goodies/refactoryBrowser/browser'    "ProtocolEnvironment - referenced by Tools::NewSystemBrowser>>selectedProtocolsAsEnvironment "
        #'stx:goodies/refactoryBrowser/changes'    "RemoveInstanceVariableChange - referenced by Tools::NewSystemBrowser>>codeMenuRemoveInstanceVariable:inClass: "
        #'stx:goodies/refactoryBrowser/helpers'    "RBMethod - referenced by Tools::NewSystemBrowser>>handlingRefactoringErrorDo: "
        #'stx:goodies/refactoryBrowser/lint'    "RBCompositeLintRule - referenced by Tools::NewSystemBrowser>>smalllintRulesAll "


    )

    "Modified: / 06-07-2011 / 16:16:13 / jv"
    "Modified: / 26-03-2012 / 16:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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'    "TestResult - referenced by Tools::MethodList>>listEntryForMethod:selector:class:showClass:showCategory:classFirst:suppressInheritanceInfo: "
        #'stx:libbasic'    "Magnitude - superclass of SyntaxElement "
        #'stx:libbasic2'    "List - superclass of BookmarkList "
        #'stx:libbasic3'    "MessageTally - superclass of Tools::Profiler "
        #'stx:libboss'    "BinaryOutputManager - referenced by Tools::Profiler>>storeStatisticsOn: "
        #'stx:libcomp'    "SyntaxHighlighter - superclass of SyntaxHighlighter2 "
        #'stx:libhtml'    "HTMLDocumentView - referenced by Tools::NewSystemBrowser>>openDocumentation "
        #'stx:libui'    "MenuComponentSpec - superclass of EditFieldWithCompletionSpec "
        #'stx:libview'    "XEmbedContainerView - superclass of XTermView "
        #'stx:libview2'    "Model - superclass of Tools::ChangeSetDiffTool::OpenDialog "
        #'stx:libwidg'    "Button - superclass of ViewWithAcceptAndCancelBar::AcceptAndCancelBar::ButtonWithHelpText "
        #'stx:libwidg2'    "SelectionInListModelView - superclass of Tools::TagsBrowser::TagView "
    )
! !


!stx_libtool class methodsFor:'description - compilation'!

additionalBaseAddressDefinition_bc_dot_mak
    "this is an optional definition, which (if present) may speed up the dll-loading a little
     on win32 systems."

    ^ '
# see stdHeader_bc for LIBTOOL_BASE
LIB_BASE=$(LIBTOOL_BASE)
'
! !


!stx_libtool 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"
        AboutBox
        AbstractFileApplicationNoteBookComponent
        AbstractFileBrowser
        AbstractLauncherApplication
        (AbstractVersionDiffBrowserItem autoload)
        (AbstractRevisionItem autoload)
        AbstractSettingsApplication
        (ApplicationBuilder autoload)
        Bookmark
        BookmarkBar
        BookmarkEditor
        BookmarkList
        BookmarkListEditor
        BookmarkVisitor
        BookmarksEditDialog
        BrowserView
        (ChangeSetBrowser autoload)
        ChangesBrowser
        (ClassInspectorView autoload)
        (ClassItem autoload)
        (ClassItemRoot autoload)
        (ClassItemRootForRevision autoload)
        (ClassNameItem autoload)
        (ClassRevisionTree autoload)
        (ClassVariablesInspectorView autoload)
        CodeGenerator
        (CodeGeneratorTests autoload)
        CodeGeneratorTool
        (ColorInspectorView autoload)
        DebugView
        Diff
        (Diff3TextView autoload)
        DiffListUtility
        DiffTextView
        (EWorldIconLibrary autoload)
        EditFieldWithCompletion
        EditFieldWithCompletionSpec
        (EventMonitor autoload)
        (ExpandableRevisionItem autoload)
        FileBrowser
        FileBrowserV2PanelView
        (FileBrowserV2SettingsDialog autoload)
        (FileBrowserV2Tests autoload)
        FileBrowserV2UISpecifications
        FileDialog
        (FileDialogV2 autoload)
        FileOperation
        FilenameEditFieldV2
        (HierarchicalClassRevisionList autoload)
        (HierarchicalVersionDiffBrowser autoload)
        InspectorView
        (Launcher autoload)
        (LibraryBuilder autoload)
        MemoryMonitor
        MemoryMonitorView
        (MemoryUsageView autoload)
        MultiViewToolApplication
        (NewChangesBrowser autoload)
        (OldLauncher autoload)
        (ProcessMonitor autoload)
        ProcessMonitorV2
        (ProjectView autoload)
        (RCSConflictEditTextView autoload)
        (SemaphoreMonitor autoload)
        SettingsDialog
        (SmalltalkInspectorView autoload)
        (SourceRevisionItem autoload)
        SyntaxElement
        SyntaxHighlighter2
        SystemBrowser
        (SystemStatusMonitor autoload)
        (TerminalApplication autoload)
        (TextDiffTests autoload)
        #'Tools::AbstractTestRunner'
        #'Tools::BreakpointBrowser'
        #'Tools::Browslet'
        #'Tools::BrowsletCanvas'
        #'Tools::CachedTags'
        #'Tools::ChangeSetBrowser2'
        #'Tools::ChangeSetDiffTool'
        #'Tools::ChangeSetSelectionDialog'
        #'Tools::ChangeSetSpec'
        #'Tools::CheckinInfoDialog'
        #'Tools::ClassChecker'
        #'Tools::ClassSorter'
        #'Tools::CodeCompletionMenu'
        #'Tools::CodeCritics'
        #'Tools::CodeView2'
        (#'Tools::CodeView2DemoApp' autoload)
        #'Tools::CodeViewService'
        #'Tools::BackgroundSourceProcessingService'
        (#'Tools::CompilerWarningToDoListEntry' autoload)
        #'Tools::DiffCodeView2'
        (#'Tools::DiffCodeView2DemoApp' autoload)
        #'Tools::HierarchicalChangesetDialog'
        #'Tools::InlineMessageDialog'
        #'Tools::Inspector2'
        #'Tools::Inspector2Tab'
        #'Tools::LintRuleDetail'
        #'Tools::LintRuleSelectionDialog'
        #'Tools::MethodCategoryCache'
        #'Tools::MethodRewriter'
        #'Tools::NavigationHistory'
        (#'Tools::NavigationHistoryTests' autoload)
        #'Tools::NavigationState'
        #'Tools::NavigatorModel'
        #'Tools::NewClassWizardDialog'
        #'Tools::NewSystemBrowserCodeView'
        #'Tools::Profiler'
        #'Tools::ProfilerInfoBuilder'
        #'Tools::ProfilerInfoItem'
        #'Tools::ProjectLoader'
        #'Tools::SearchDialog'
        #'Tools::SmalltalkDiffTool'
        (#'Tools::SmalltalkMergeTool' autoload)
        #'Tools::SpecialCodeView'
        #'Tools::StringSearchTool'
        #'Tools::Tag'
        #'Tools::TagList'
        #'Tools::TagsBrowser'
        #'Tools::TextDiffTool'
        (#'Tools::ToDoList' autoload)
        (#'Tools::ToDoListBrowser' autoload)
        (#'Tools::ToDoListEntry' autoload)
        (#'Tools::ToDoNotification' autoload)
        #'Tools::WebBrowserPage'
        VersionDiffBrowser
        (VersionRevisionItem autoload)
        ViewWithAcceptAndCancelBar
        Win32FileDialog
        (XTermView unix)
        #'stx_libtool'
        AbstractDirectoryBrowser
        AbstractSourceCodeManagementSettingsAppl
        BookmarkMenuBuilder
        ContextInspectorView
        DictionaryInspectorView
        DiffCodeView
        FileApplicationNoteBook
        FileBrowserV2
        FileBrowserV2SettingsAppl
        FileDialogWithPreview
        AbstractFileFinderApplicationComponent
        FindFileApplication
        ImageInspectorView
        NewLauncher
        OrderedCollectionInspectorView
        SetInspectorView
        SmalltalkCodeGeneratorTool
        #'Tools::BreakpointService'
        #'Tools::BrowserList'
        #'Tools::BrowserListWithFilter'
        #'Tools::CodeCompletionService'
        #'Tools::CodeHighlightingService'
        #'Tools::CodeNavigationService'
        #'Tools::CodeView2SettingsAppl'
        #'Tools::NavigatorCanvas'
        #'Tools::NewSystemBrowser'
        #'Tools::OrganizerCanvas'
        #'Tools::SendersBrowslet'
        #'Tools::StringSearchToolForTextView'
        #'Tools::TestRunnerEmbedded'
        #'Tools::VisualProfilerCanvas'
        WorkspaceApplication
        BookmarkAddMenuBuilder
        BookmarkToolbarMenuBuilder
        CVSSourceCodeManagementSettingsAppl
        DirectoryContentsBrowser
        DirectoryTreeBrowser
        PerforceSourceCodeManagementSettingsAppl
        StoreSourceCodeManagementSettingsAppl
        #'Tools::ChangeList'
        #'Tools::ChangeSetDiffList'
        #'Tools::ClassCategoryList'
        #'Tools::ClassGeneratorList'
        #'Tools::ClassList'
        #'Tools::LintRuleList'
        #'Tools::MethodCategoryList'
        #'Tools::MethodList'
        #'Tools::NamespaceList'
        #'Tools::ProjectList'
        #'Tools::VariableList'
        #'Tools::FullMethodCategoryList'
        #'Tools::HierarchicalChangeList'
        #'Tools::HierarchicalClassCategoryList'
        #'Tools::HierarchicalClassList'
        #'Tools::HierarchicalLintRuleList'
        #'Tools::HierarchicalProjectList'
        #'Tools::ImplementingClassList'
        #'Tools::ImplementingMethodList'
        #'Tools::NamespaceFilter'
        #'Tools::TestRunner2'
        #'Tools::HierarchicalPackageFilterList'
        #'Tools::InheritanceClassList'
        #'Tools::LintHighlighter'
        #'Tools::LintService'
        #'Tools::SourceCodeManagerConfigurationTestTool'
        FileBasedSourceCodeManagementSettingsAppl
        DataBaseSourceCodeManagementSettingsAppl
        DirectoryDifferenceViewApplication
        MercurialSourceCodeManagementSettingsAppl
        GitSourceCodeManagementSettingsAppl
        #'Tools::LintAnnotation'
        #'Tools::ProjectCheckerBrowser'
        ParseTreeIndex
        #'Tools::Diff2CodeView2'
        #'Tools::Diff3CodeView2'
        #'Tools::TextDiff2Tool'
        #'Tools::TextDiff3Tool'
        Diff2
        Diff3
        Diff3Hunk
        Diff3InclusiveVisitor
        Diff3ExclusiveVisitor
        #'Tools::TextMergeInfo'
        FileBrowserV3
        #'Tools::ChangeSetDiffInfo'
        PerforceSourceCodeManagerUtilities
    )

    "Modified: / 16-01-2013 / 11:58:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

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

    ^ #(
        Breakpoint icon
        BreakpointDescription icon
        ByteArray inspectorExtraAttributes
        Change flattenOnto:
        Change flattenedChanges
        Change removed
        Change removed:
        ChangeSet condenseChangesForRemoved
        ChangeSet flattenOnto:
        ChangeSet flattenedChanges
        ChangeSet inspector2TabBrowser
        ChangeSet inspector2Tabs
        Character inspectorExtraAttributes
        CharacterArray inspector2TabBytes
        CharacterArray inspector2TabText
        CharacterArray inspector2Tabs
        CharacterArray inspectorExtraAttributes
        Color inspectorClass
        Color inspectorExtraAttributes
        CompositeChange condenseChangesForRemoved
        CompositeChange flattenOnto:
        CompositeChange removed
        CompositeChange removed:
        Date inspectorExtraAttributes
        Dictionary inspector2TabLabel
        Dictionary inspectorClass
        EditTextView absoluteXOfPosition:
        EditTextView absoluteYOfCursor
        EditTextView xOfPosition:
        EditTextView yOfCursor
        EditTextView yOfPosition:
        ExecutableFunction printStringForBrowserWithSelector:
        Form inspectorClass
        Image inspectorClass
        Integer inspectorExtraAttributes
        MenuView shortKeys
        Method inspectorExtraAttributes
        Method printStringForBrowserWithSelector:inClass:
        Method selectorPrintStringInBrowserFor:
        Method selectorPrintStringInBrowserFor:class:
        MethodDictionary inspectorClass
        Object inspect
        Object inspector2TabCommon
        Object inspector2TabForBasicInspect
        Object inspector2TabForInspectorClass
        Object inspector2TabLabel
        Object inspector2Tabs
        Object inspectorExtraAttributes
        Object isTestCaseLike
        Object newInspector2Tab
        OrderedCollection inspectorClass
        PopUpMenu asMenu
        ProfileTree method
        ProfileTree package
        RunArray inspectorClass
        SelectionInListModelView textStartLeft
        SelectionInListModelView textStartLeft:
        Set inspectorClass
        SimpleView isCodeView2
        StringCollection inspector2TabText
        StringCollection inspector2Tabs
        Symbol formattedCode
        Text inspector2TabText
        Text inspectorExtraAttributes
        Timestamp inspectorExtraAttributes
        UserPreferences alwaysOpenNewTabWhenCtrlClick
        UserPreferences alwaysOpenNewTabWhenCtrlClick:
        UserPreferences showBookmarkBar
        UserPreferences showBookmarkBar:
        UserPreferences showEmbeddedTestRunnerInBrowser
        UserPreferences showEmbeddedTestRunnerInBrowser:
        UserPreferences showGlobalHistory
        UserPreferences showGlobalHistory:
        UserPreferences showLocalHistory
        UserPreferences showLocalHistory:
        UserPreferences showMethodTemplate
        UserPreferences showMethodTemplate:
        UserPreferences sortAndIndentClassesByInheritance
        UserPreferences sortAndIndentClassesByInheritance:
        UserPreferences useCodeView2In:
        UserPreferences useCodeView2InBrowser
        UserPreferences useCodeView2InBrowser:
        UserPreferences useCodeView2InDebugger
        UserPreferences useCodeView2InDebugger:
        UserPreferences useCodeView2InTools
        UserPreferences useCodeView2InTools:
        UserPreferences useCodeView2InWorkspace
        UserPreferences useCodeView2InWorkspace:
        UserPreferences webBrowserLikeLayout
        UserPreferences webBrowserLikeLayout:
        'AbstractSyntaxHighlighter class' formatExpression:in:elementsInto:
        'AbstractSyntaxHighlighter class' formatMethod:in:using:elementsInto:
        'GenericToolbarIconLibrary class' bookmarks22x22
        'GenericToolbarIconLibrary class' bug16x16Icon
        'GenericToolbarIconLibrary class' bug24x24Icon
        'GenericToolbarIconLibrary class' bug32x32Icon
        'GenericToolbarIconLibrary class' lint16x16Icon
        'GenericToolbarIconLibrary class' lint24x24Icon
        'GenericToolbarIconLibrary class' lint32x32Icon
        'NameSpace class' inspectorClass
        Block inspectorExtraAttributes
        CharacterArray inspector2TabHTML
        Image inspector2TabImage
        Image inspector2Tabs
        UserPreferences codeView2AutoIndent
        UserPreferences codeView2AutoIndent:
        UserPreferences codeView2ShowAcceptCancel
        UserPreferences codeView2ShowAcceptCancel:
        UserPreferences sourceCodeManagementMenuLayout
        UserPreferences sourceCodeManagementMenuLayout:
        UserPreferences useInPlaceSearchInBrowserLists
        UserPreferences useInPlaceSearchInBrowserLists:
        'GenericToolbarIconLibrary class' smalllintWarning16x16
        'GenericToolbarIconLibrary class' versionMerged24x24
        ArrayedCollection inspector2TabForHexDump
        LimitedPrecisionReal inspectorExtraAttributes
        UninterpretedBytes inspector2Tabs
        UserPreferences changesBrowserClassName
        UserPreferences fileBrowserClass
        UserPreferences fileBrowserClass:
        UserPreferences fileBrowserClassName
        UserPreferences confirmRefactorings
        UserPreferences confirmRefactorings:
        Character inspectorValueStringInListFor:
        CharacterArray inspectorValueStringInListFor:
        Color inspectorValueStringInListFor:
        Object inspectorValueStringInListFor:
        Symbol inspectorValueStringInListFor:
        UndefinedObject inspectorValueStringInListFor:
        Behavior inspectorExtraAttributes
        Behavior inspectorValueStringInListFor:
        Collection inspectorValueStringInListFor:
        Iterator inspectorValueStringInListFor:
    )
! !


!stx_libtool 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 nt.def / bc.def"

    ^ 'Smalltalk/X Tools'
!

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

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

    "Modified: / 18-07-2012 / 19:11:53 / cg"
!

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

    ^ 'Smalltalk/X'
! !


!stx_libtool 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:: https://vranyj1@swing.fit.cvut.cz/svn/stx/libtool/branches/jv/stx_libtool.st                                           $'
!

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

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


!stx_libtool class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.85 2012-10-23 13:59:10 cg Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.85 2012-10-23 13:59:10 cg Exp $'
!

version_SVN
    ^ '$Id: stx_libtool.st 8090 2013-01-17 21:52:18Z vranyj1 $'
! !