tools/stx_libjava_tools.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 20 Jan 2015 10:49:24 +0100
changeset 3331 ee36f2088d60
parent 3330 b14c58b2876c
child 3360 1a8899091305
child 3370 0d56a220d44c
child 3408 4f3cc813be4b
permissions -rw-r--r--
JavaClassReloaderTests moved from stx:libjava/experiments to stx:libjava

"{ Package: 'stx:libjava/tools' }"

"{ NameSpace: Smalltalk }"

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


!stx_libjava_tools class methodsFor:'description'!

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

    ^ #(
        #'jv:smallsense'    "SmallSense::ParseTreeIndex - referenced by JavaSourceHighlighter>>formatClassDefinition:in: "
        #'stx:goodies/smallsense' "SmallSense::ParseTreeIndex - referenced by JavaSourceHighlighter>>formatClassDefinition:in:"
        #'stx:goodies/sunit'   
    )

    "Modified (comment): / 31-07-2014 / 09:16:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

mandatoryPreRequisites
    "list packages which are mandatory as a prerequisite.
     This are packages containing superclasses of my classes and classes which
     are extended by myself.
     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
     This method is generated automatically,
     by searching along the inheritance chain of all of my classes."

    ^ #(
        #'stx:libbasic'    "ConfigurableFeatures - extended"
        #'stx:libjava'    "JavaObject - extended"
        #'stx:libtool'    "AbstractSettingsApplication - superclass of JavaSettingsApplication"
        #'stx:libview'    "DisplaySurface - superclass of JavaListInspectorView"
        #'stx:libview2'    "ApplicationModel - extended"
        #'stx:libwidg2'    "HierarchicalItem - superclass of JavaCodeBundleEditor::Item"
    )
!

referencedPreRequisites
    "list packages which are a prerequisite, because they contain
     classes which are referenced by my classes.
     We do not need these packages as a prerequisite for loading or compiling.
     This method is generated automatically,
     by searching all classes (and their packages) which are referenced by my classes."

    ^ #(
        #'stx:libbasic2'    "BackgroundQueueProcessingJob - referenced by JavaSourceDocument class>>initialize"
        #'stx:libcomp'    "ParseError - referenced by JavaScannerBase>>syntaxError:position:to:"
    )
!

subProjects
    "list packages which are known as subprojects.
     The generated makefile will enter those and make there as well.
     However: they are not forced to be loaded when a package is loaded;
     for those, redefine requiredPrerequisites"

    ^ #(
    )
! !

!stx_libjava_tools class methodsFor:'description - compilation'!

additionalRules_bc_dot_mak
    ^ '
java: ant

ant:
        ant -f java\build.xml 

antIfPossible:
        -ant -f java\build.xml 

full::  ant
'

    "Modified: / 17-04-2013 / 19:15:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalRules_make_dot_proto
    ^ '
java: ant

ant:
        ant -f java/build.xml 

antIfPossible:
        -ant -f java/build.xml 

full::  ant
'

    "Modified: / 17-04-2013 / 19:16:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalTargets_bc_dot_mak

    ^ ' antIfPossible'

    "Modified: / 17-04-2013 / 19:16:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalTargets_make_dot_proto

    ^ ' antIfPossible'

    "Created: / 05-09-2006 / 16:05:12 / cg"
    "Modified: / 17-04-2013 / 19:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_libjava_tools 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"
        JavaAbstractSourceHighlighter
        JavaCodeBundleEditor
        JavaCodeLibraryEditor
        JavaCompiler
        (JavaCompilerTests autoload)
        JavaLintAnnotation
        JavaLintHighlighter
        JavaLintPopupWindow
        JavaLintService
        JavaListInspectorView
        JavaMapInspectorView
        JavaScannerBase
        JavaSetInspectorView
        JavaSettingsApplication
        JavaSourceDocument
        JavaSourceRef
        JavaToolbox
        #'stx_libjava_tools'
        JavaAbstractLexicalHighlighter
        JavaScanner
        JavaSyntaxHighlighter
        GroovyScanner
        JavaLexicalHighlighter
        GroovySourceHighlighter
    )
!

extensionMethodNames
    "list class/selector pairs of extensions.
     A correponding method with real names must be present in my concrete subclasses"

    ^ #(
        JavaObject inspectorClass
        #'Tools::NewSystemBrowser' classMenuNewGroovyClass
        'ConfigurableFeatures class' hasGroovySupport
        'ConfigurableFeatures class' hasJavaToolingSupport
    )
! !

!stx_libjava_tools class methodsFor:'description - java'!

javaBundle

    ^JavaCodeBundle standardPackageBundleFor: self package

    "Created: / 15-01-2013 / 17:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_libjava_tools 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-2011\nCopyright eXept Software AG 1998-2011'
!

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

    ^ 'Smalltalk/X'
!

stcOptimizationOptions
    "do not inline the not operation here - it is overwritten"

    ^ '+optspace3 -inlinenot'

    "Created: / 23-08-2006 / 01:27:22 / cg"
! !

!stx_libjava_tools 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:"'1941            '"$"
! !

!stx_libjava_tools class methodsFor:'documentation'!

version_CVS
    ^ '$Header: /cvs/stx/stx/libjava/tools/stx_libjava_tools.st,v 1.4 2013-09-06 00:45:28 vrany Exp $'
!

version_HG

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

version_SVN
    ^ 'Id'
! !