stx_libtool.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 05 Sep 2013 23:36:32 +0200
changeset 13511 82bd76e1575a
parent 13486 45155c97d8c4
child 13530 2269bce1636d
child 13640 1ea213ca90c5
permissions -rw-r--r--
Added class Tools::Toolbox

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

!stx_libtool class methodsFor:'description'!

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

    ^ #(
        #'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:CC'    "CBrowser::Browser - referenced by AbstractFileBrowser>>openCBrowser "
        #'exept:xml/inspector'    "XML::XMLInspector - referenced by AbstractFileBrowser>>inspectXmlFile "
        #'stx:clients/Demos'    "ClassTreeGraphView - referenced by Tools::NewSystemBrowser>>updateSpecialCodeEditorVisibilityForClass:method: "
        #'stx:clients/MailTool'    "SendMailTool - referenced by Tools::NewSystemBrowser>>sendFileViaEmail:subject: "
        #'stx:clients/Tools'    "ZipTool - referenced by AbstractFileBrowser>>openZipTool "
        #'stx:goodies/communication'    "SmalltalkShareClient - referenced by AbstractLauncherApplication>>remoteImageBrowserAvailable "
        #'stx:goodies/monticello'    "MCInteractiveLoadingQuery - referenced by Tools::ChangeSetBrowser2>>changeMenuApplyChange: "
        #'stx:goodies/rdoit'    "RDoItServer - referenced by AbstractLauncherApplication::LauncherDialogs class>>communicationsSettings "
        #'stx:goodies/refactoryBrowser/browser'    "CategoryEnvironment - referenced by Tools::NewSystemBrowser>>selectedCategoriesAsEnvironment "
        #'stx:goodies/refactoryBrowser/changes'    "RefactoryChangeManager - referenced by Tools::NewSystemBrowser>>hasUndoableOperations "
        #'stx:goodies/refactoryBrowser/helpers'    "BrowserEnvironment - referenced by Tools::NewSystemBrowser>>selectedSelectorsAsEnvironment "
        #'stx:goodies/refactoryBrowser/lint'    "SmalllintChecker - referenced by Tools::NewSystemBrowser>>smalllintRunRule:onEnvironment: "
        #'stx:goodies/refactoryBrowser/refactoring'    "InlineMethodRefactoring - referenced by Tools::NewSystemBrowser>>codeMenuInlineMessage "
        #'stx:goodies/sif'    "SmalltalkInterchangeSTXFileOutManager - referenced by Tools::NewSystemBrowser>>projectMenuFileOutAsWithFormat: "
        #'stx:goodies/simpleServices'    "STXScriptingServer - referenced by AbstractSettingsApplication::RDoItServerSettingsAppl>>scriptingServerPortOrPath "
        #'stx:goodies/soap'    "SOAP::SoapHttpModule - referenced by AbstractLauncherApplication::LauncherDialogs class>>communicationsSettings "
        #'stx:goodies/soap/examples'    "SOAP::BabelFishClient - referenced by WorkspaceApplication>>babelFishTranslate: "
        #'stx:goodies/sunit'    "TestCase - referenced by Tools::NewSystemBrowser>>classTemplateFor:in:asNamespace:private:metaClassUsed: "
        #'stx:goodies/webServer'    "FCGIServer - referenced by AbstractSettingsApplication::HTTPStartServerSettingsApplication>>createFcgiServer "
        #'stx:goodies/webServer/ui'    "HTTPServerSettingsAppl - referenced by AbstractSettingsApplication::HTTPStartServerSettingsApplication>>createServerApplicationFor: "
        #'stx:goodies/xml/stx'    "XMLCoder - referenced by Tools::NewSystemBrowser>>selectorMenuFileOutXMLAs "
        #'stx:goodies/xml/vw'    "XML::XMLParser - referenced by ChangesBrowser class>>readXMLChangesFrom:inBackground: "
        #'stx:libdb'    "SQL::SQLError - referenced by StoreSourceCodeManagementSettingsAppl>>tryToConnectTo: "
        #'stx:libhtml'    "DidYouKnowTipViewer - referenced by AbstractLauncherApplication>>showTipOfTheDay "
        #'stx:libjava'    "JavaClassReader - referenced by AbstractFileBrowser>>singleFileFileIn:lazy: "
        #'stx:libjava/experiments'    "JavaCompiler - referenced by BrowserView>>setAcceptActionForNewJavaClass "
        #'stx:libjavascript'    "STXJavaScriptLanguage - referenced by Tools::NewSystemBrowser>>classOtherClassNewSlice "
        #'stx:libtool2'    "HierarchicalListEditor - referenced by SystemBrowser class>>resourceEditorClassFor: "
        #'stx:libboss'    "BinaryOutputManager - referenced by Tools::Profiler>>storeStatisticsOn: "
    )

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

mandatoryPreRequisites
    "list all required mandatory packages.
     Packages are mandatory, if they contain superclasses of the package's classes
     or classes which are extended by this package.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:goodies/refactoryBrowser/parser'    "RBProgramNodeVisitor - superclass of CodeGenerator "
        #'stx:libbasic'    "Link - superclass of Diff::Change "
        #'stx:libbasic2'    "Iterator - extended "
        #'stx:libbasic3'    "Change - extended "
        #'stx:libcomp'    "BreakpointDescription - extended "
        #'stx:libui'    "ViewWithSubcomponentsSpec - superclass of FileBrowserV2UISpecifications::PanelSpec "
        #'stx:libview'    "TopView - superclass of FileBrowser "
        #'stx:libview2'    "SimpleDialog - superclass of Tools::ChangeSetSelectionDialog "
        #'stx:libwidg'    "ListView - superclass of Tools::NewSystemBrowserCodeView "
        #'stx:libwidg2'    "HierarchicalItemWithLabelAndIcon - superclass of SettingsDialog::HierarchicalApplicationList::ApplicationItem "
    )
!

referencedPreRequisites
    "list all packages containing classes referenced by the packages's members.
     This list can be maintained manually or (better) generated and
     updated by looking for global variable accesses
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:libwidg3'    "ClockView - referenced by WorkspaceApplication>>addStopWatch "
    )
! !

!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
        (AbstractRevisionItem autoload)
        AbstractSettingsApplication
        (AbstractVersionDiffBrowserItem autoload)
        (ApplicationBuilder autoload)
        Bookmark
        BookmarkBar
        BookmarkEditor
        BookmarkList
        BookmarkListEditor
        BookmarkVisitor
        BookmarksEditDialog
        BrowserView
        (ChangeSetBrowser autoload)
        ChangesBrowser
        (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
        ClassInspectorView
        (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::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::ClassCategoryList'
        #'Tools::ClassGeneratorList'
        #'Tools::ClassList'
        #'Tools::LintRuleList'
        #'Tools::MethodCategoryList'
        #'Tools::MethodList'
        #'Tools::NamespaceList'
        #'Tools::ProjectList'
        #'Tools::VariableList'
        #'Tools::FullMethodCategoryList'
        #'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'
        #'Tools::BrowserListWithFilter'
        #'Tools::ChangeList'
        #'Tools::ChangeSetDiffList'
        #'Tools::HierarchicalChangeList'
        FileBasedSourceCodeManagementSettingsAppl
        DataBaseSourceCodeManagementSettingsAppl
        DirectoryDifferenceViewApplication
        MercurialSourceCodeManagementSettingsAppl
        GitSourceCodeManagementSettingsAppl
        PerforceSourceCodeManagerUtilities
        #'Tools::ProjectCheckerBrowser'
        CodeCompletionHelpView
        SyntaxElementVariable
        CodeCompletionHelpMenuView
        #'Tools::Toolbox'
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are pairwise elements, consisting of class-name and selector."

    ^ #(
        Breakpoint icon
        BreakpointDescription icon
        ByteArray inspectorExtraAttributes
        Change flattenOnto:
        Change flattenedChanges
        Change removed
        Change removed:
        ChangeSet condenseChangesForRemoved
        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
        'Smalltalk class' inspectorClass
        ArrayedCollection inspector2TabForHexDump
        Behavior inspectorExtraAttributes
        Behavior inspectorValueStringInListFor:
        Block inspectorExtraAttributes
        Character inspectorValueStringInListFor:
        CharacterArray inspector2TabHTML
        CharacterArray inspectorValueStringInListFor:
        Class inspectorClass
        Collection inspectorValueStringInListFor:
        Color inspectorValueStringInListFor:
        Image inspector2TabImage
        Image inspector2Tabs
        Iterator inspectorValueStringInListFor:
        LimitedPrecisionReal inspectorExtraAttributes
        Object inspectorValueStringInListFor:
        Symbol inspectorValueStringInListFor:
        UndefinedObject inspectorValueStringInListFor:
        UninterpretedBytes inspector2Tabs
        UserPreferences codeView2AutoIndent
        UserPreferences codeView2AutoIndent:
        UserPreferences codeView2ShowAcceptCancel
        UserPreferences codeView2ShowAcceptCancel:
        UserPreferences sourceCodeManagementMenuLayout
        UserPreferences sourceCodeManagementMenuLayout:
        UserPreferences useInPlaceSearchInBrowserLists
        UserPreferences useInPlaceSearchInBrowserLists:
        Timestamp inspectorValueStringInListFor:
        UUID inspectorValueStringInListFor:
        Boolean inspectorValueStringInListFor:
        Point inspectorValueStringInListFor:
        Rectangle inspectorValueStringInListFor:
        ProgrammingLanguage toolbox
        ProgrammingLanguage toolboxClass
    )
! !

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

    ^ '$URL$'
!

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

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

!stx_libtool class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.98 2013-09-05 21:36:32 vrany Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libtool/stx_libtool.st,v 1.98 2013-09-05 21:36:32 vrany Exp $'
! !