src/stx_libjava.st
author vranyj1
Sat, 07 May 2011 18:23:38 +0000
branchjk_new_structure
changeset 763 1e82b558abd3
parent 762 d995915ebc0b
child 764 3c1d3f2d29a5
permissions -rw-r--r--
Few fixes toward new repository layout

"{ Package: 'stx:libjava' }"

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


!stx_libjava class methodsFor:'accessing'!

svnRepositoryUrlBase

    | url |
    url := stx_libjava svnRepositoryUrl.
    url ifNil:[url := 'https://swing.fit.cvut.cz/svn/stx/libjava/trunk/src'].
    (url endsWith: 'src') ifTrue:[url := url copyTo: url size - 4].
    ^url

    "Created: / 08-04-2011 / 16:57:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !


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

    ^ #(
        #'squeak:petitparser'    "PPParser - superclass of JavaParser::BlockParser "
        #'stx:goodies/sunit'    "TestAsserter - superclass of JUnitTestCaseProxy "
        #'stx:libbasic'    "Object - superclass of JavaUnresolvedFieldrefConstant "
        #'stx:libbasic2'    "ZipArchive - referenced by Java class>>classSource:package:in: "
        #'stx:libbasic3'    "MessageTracer - referenced by JavaMethod>>setBreakPoint "
        #'stx:libcomp'    "Parser - referenced by JavaClass>>evaluatorClass "
        #'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
        #'stx:libtool'    "DebugView - referenced by Java class>>flushClasses "
        #'stx:libview'    "DisplaySurface - superclass of JavaView "
        #'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
        #'stx:libwidg'    "Label - referenced by JavaVM class>>processEvent: "
        #'stx:libwidg2'    "MenuPanel - referenced by JavaVM class>>processEvent: "
    )
! !

!stx_libjava 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"
        Byte
        (JUnitTestCaseProxy autoload)
        Java
        JavaAnnotation
        JavaAnnotationContainer
        JavaAnnotationDefault
        JavaAnnotationDictionary
        JavaAnnotationValue
        JavaArray
        JavaBehavior
        (JavaByteCodeDisassemblerTests autoload)
        (JavaByteCodeInterpreterTests autoload)
        JavaByteCodeProcessor
        (JavaByteCodeProcessorTests autoload)
        JavaClassReader
        (JavaClassReaderTests autoload)
        (JavaClassRefTests autoload)
        JavaConstantPool
        (JavaConstantPoolsTests autoload)
        JavaContext
        JavaDecompiler
        JavaDescriptor
        JavaError
        JavaExceptionTableEntry
        (JavaExceptionThrowerMock autoload)
        (JavaFieldRefTests autoload)
        (JavaInitializedResource autoload)
        (JavaInterfaceMethodRefTests autoload)
        (JavaJUnitTests autoload)
        JavaJavadocNode
        JavaLanguage
        JavaLibraries
        (JavaLibrariesResource autoload)
        JavaLocalVariableTable
        JavaLocalVariableTableEntry
        JavaLookup
        (JavaLookupTestsResource autoload)
        JavaMethod
        (JavaMethodRefTests autoload)
        JavaNameAndType2
        JavaNameandType
        JavaNativeMemory
        JavaNode
        JavaObject
        JavaObjectDictionary
        JavaParseResult
        (JavaParserNavigationTests autoload)
        (JavaParserTestCase autoload)
        (JavaParserTests autoload)
        JavaPopUpView
        JavaProcess
        JavaRef
        JavaRef2
        (JavaRefMock autoload)
        (JavaRefTests autoload)
        JavaRelease
        JavaResolver
        (JavaResolverTests autoload)
        (JavaRuntimeConstantPoolTests autoload)
        JavaSlotIndexCache
        JavaSourceCodeCache
        JavaSourceFileWriter
        JavaStartup
        JavaTestsLoader
        (JavaTestsResource autoload)
        JavaTopView
        (JavaUTF8Tests autoload)
        JavaUnresolvedConstant
        JavaVM
        JavaView
        (LookupTests autoload)
        PPJavaNode
        Short
        SmalltalkAppletContext
        SmalltalkAppletStub
        (TestletTestCaseProxy autoload)
        #'stx_libjava'
        JavaAnnotationArrayValue
        JavaAnnotationClassValue
        JavaAnnotationEnumValue
        JavaAnnotationNestedAnnotationValue
        JavaAnnotationPrimitiveValue
        JavaByteCodeDisassembler
        JavaByteCodeEnumerator
        JavaByteCodeInterpreter
        JavaClass
        JavaClassAnnotationContainer
        JavaClassContentRef2
        JavaClassRef
        JavaClassRef2
        JavaEmbeddedFrameView
        JavaField
        JavaFieldAnnotationContainer
        JavaFieldDescriptor
        JavaFieldref
        JavaFormalParameterNode
        JavaMethodAnnotationContainer
        JavaMethodDeclarationNode
        JavaMethodDeclaratorNode
        JavaMethodDescriptor
        JavaMethodNode
        JavaMethodWithException
        JavaMethodref
        JavaParser
        JavaTypeNode
        JavaUnhandledExceptionError
        JavaUnresolvedClassConstant
        JavaUnresolvedNameandTypeConstant
        JavaUnresolvedRefConstant
        JavaUnresolvedStringConstant
        JavadocDeclarationNode
        JavaArrayTypeNode
        JavaBooleanTypeNode
        JavaBuiltInClassPointerRef
        JavaByteCodeSteppableInterpreter
        JavaCharTypeNode
        JavaClassOrInterfaceTypeNode
        JavaClassPointerRef
        JavaDoubleTypeNode
        JavaFieldRef2
        JavaFloatTypeNode
        JavaIntTypeNode
        JavaInterfaceMethodref
        JavaLongTypeNode
        JavaMethodRef2
        JavaMethodWithHandler
        JavaUnresolvedFieldrefConstant
        JavaUnresolvedMethodrefConstant
        JavaVoidTypeNode
        JavaArrayClassPointerRef
        JavaInterfaceMethodRef2
        JavaNativeMethod
        JavaUnresolvedInterfaceMethodrefConstant
    )
!

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

    ^ #(
        BooleanArray isJavaArrayClass
        ByteArray isJavaArrayClass
        DoubleArray isJavaArrayClass
        FloatArray isJavaArrayClass
        Object isJavaArray
        Object isJavaRef
        String asArrayOfSubstringsSeparatedBy:
        UserPreferences javaTestsDirectory
        UserPreferences javaTestsDirectory:
        ZipArchive nextBytes:of:startingAt:into:startingAt:
        'Boolean class' arrayClass
        'Boolean class' isJavaPrimitiveType
        'Boolean class' javaName
        'BooleanArray class' isJavaReferenceType
        'BooleanArray class' javaComponentClass
        'BooleanArray class' javaName
        'ByteArray class' isJavaReferenceType
        'ByteArray class' javaComponentClass
        'ByteArray class' javaName
        'Character class' arrayClass
        'Character class' isJavaPrimitiveType
        'Character class' javaName
        'CharacterArray class' decodeFromJavaUTF8:
        'CharacterArray class' fromJavaUTF8Bytes:
        'DoubleArray class' isJavaReferenceType
        'DoubleArray class' javaComponentClass
        'DoubleArray class' javaName
        'Float class' arrayClass
        'Float class' isJavaPrimitiveType
        'Float class' javaName
        'FloatArray class' isJavaReferenceType
        'FloatArray class' javaComponentClass
        'FloatArray class' javaName
        'GenericToolbarIconLibrary class' javaClassBrowserIcon
        'Integer class' arrayClass
        'Integer class' isJavaPrimitiveType
        'Integer class' javaName
        'IntegerArray class' isJavaArrayClass
        'IntegerArray class' javaName
        'LargeInteger class' arrayClass
        'LargeInteger class' isJavaPrimitiveType
        'LargeInteger class' javaName
        'LongIntegerArray class' isJavaArrayClass
        'LongIntegerArray class' isJavaReferenceType
        'LongIntegerArray class' javaComponentClass
        'LongIntegerArray class' javaName
        'Object class' isJavaArrayClass
        'Object class' isJavaClassType
        'Object class' isJavaPrimitiveType
        'Object class' isJavaReferenceType
        'Object class' isJavaType
        'ShortFloat class' arrayClass
        'ShortFloat class' isJavaPrimitiveType
        'ShortFloat class' javaName
        'String class' isJavaArrayClass
        'String class' javaComponentClass
        'String class' javaName
        'UndefinedObject class' isJavaPrimitiveType
        'UndefinedObject class' javaName
        'WordArray class' isJavaArrayClass
        'WordArray class' isJavaReferenceType
        'WordArray class' javaComponentClass
        'WordArray class' javaName
    )
! !

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

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

    ^ 'Smalltalk/X'
! !

!stx_libjava 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:"'1098M'"$"
! !

!stx_libjava class methodsFor:'file generation'!

basicFileNamesToGenerate
    "answer a dictionary (filename -> generator method) with all the files, that have to be generated for this
     package"

    |dict|

    dict := super basicFileNamesToGenerate.

    dict 
        at:'builder/package.deps.rake' put: #'generate_package_dot_deps_dot_rake'.

    ^ dict.

    "Created: / 11-03-2011 / 09:32:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_libjava class methodsFor:'documentation'!

version_SVN
    ^ '$Id$'
! !