"{ Package: 'stx:libjava' }"
LibraryDefinition subclass:#stx_libjava
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'* Projects & Packages *'
!
!stx_libjava class methodsFor:'accessing'!
svnRepositoryUrl
^'https://jv@swing.fit.cvut.cz/svn/stx/libjava/branches/jk_new_structure/src'
!
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:'accessing - tests'!
excludedFromTestSuite
"List of testcases and/or tests excluded from testsuite.
Entries maybe ClassName or #(ClassName testName)
"
^ #(
LookupTests
)
"Created: / 03-06-2011 / 17:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
testSuite
| suite javaTestCases stTests |
suite := super testSuite.
stTests := suite tests.
suite := TestSuite new.
suite name: self package.
JavaTestsLoader load.
javaTestCases := OrderedCollection new.
Java allClassesDo:
[:jclass|
(jclass ~~ (Java at:'stx.libjava.tests.JUnit3Tests')
and:[jclass ~~ (Java at:'stx.libjava.tests.JUnit4Tests')
and:[jclass isTestCaseLike]])
ifTrue:
[ | tc |
tc := jclass asTestCase.
(tc askFor:#isTestlet) ifTrue:[
tc shouldFork: true.
].
tc isAbstract ifFalse:[javaTestCases add:tc ]]].
javaTestCases do:
[:each |
suite addTests:each buildSuite tests ].
suite tests addAll: stTests.
suite tests withIndexDo:
[:t :i|
Stdout nextPutAll: i printString; space; nextPutAll: t printString; cr].
^suite
"
stx_libjava testSuite
"
"Created: / 07-05-2011 / 19:58:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 07-05-2011 / 22:26:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 04-06-2011 / 17:23:05 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!
testSuiteWithoutJavaTests
^super testSuite.
"Created: / 21-06-2011 / 17:33:46 / 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' "TestResource - superclass of JavaInitializedResource "
#'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' "ObjectFileLoader - referenced by JavaVM class>>_Runtime_loadFileInternalI: "
#'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' "ComboBoxView - 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"
(AbstractJavaTestCase autoload)
Byte
(JUnitTestCaseProxy autoload)
Java
JavaAnnotation
JavaAnnotationContainer
JavaAnnotationDefault
JavaAnnotationDictionary
JavaAnnotationValue
(JavaAntProjectResource autoload)
JavaArray
JavaBehavior
(JavaByteCodeDisassemblerTests autoload)
(JavaByteCodeInterpreterTests autoload)
JavaByteCodeProcessor
(JavaByteCodeProcessorTests autoload)
JavaClassReader
(JavaClassReader2Tests autoload)
(JavaClassReaderTests autoload)
(JavaClassRefTests autoload)
JavaConstantPool
JavaContext
JavaDecompiler
JavaDescriptor
JavaError
JavaExceptionTableEntry
(JavaExceptionThrowerMock autoload)
(JavaFieldRefTests 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
(JavaRuntimeConstantPoolTests autoload)
JavaSlotIndexCache
JavaSourceCodeCache
JavaSourceFileWriter
JavaStartup
(JavaTestCaseProxy autoload)
JavaTestsLoader
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
JavaClassReader2
JavaClassRef
JavaClassRef2
JavaEmbeddedFrameView
JavaField
JavaFieldAnnotationContainer
JavaFieldDescriptor
JavaFieldref
JavaFormalParameterNode
(JavaInitializedResource autoload)
JavaMethodAnnotationContainer
JavaMethodDeclarationNode
JavaMethodDeclaratorNode
JavaMethodDescriptor
JavaMethodNode
JavaMethodWithException
JavaMethodref
JavaParser
JavaStringRef2
(JavaTestsResource autoload)
JavaTypeNode
JavaUnhandledExceptionError
JavaUnresolvedClassConstant
JavaUnresolvedNameandTypeConstant
JavaUnresolvedRefConstant
JavaUnresolvedStringConstant
JavadocDeclarationNode
JavaArrayTypeNode
JavaBooleanTypeNode
JavaBothOldAndNewClassRef
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 isInterface
BooleanArray isJavaArrayClass
ByteArray isJavaArrayClass
DoubleArray isJavaArrayClass
FloatArray isJavaArrayClass
Object isJavaArray
Object isJavaNameAndType
Object isJavaRef
String asArrayOfSubstringsSeparatedBy:
UserPreferences javaTestsDirectory
UserPreferences javaTestsDirectory:
ZipArchive nextBytes:of:startingAt:into:startingAt:
'Boolean class' isJavaPrimitiveType
'Boolean class' javaArrayClass
'Boolean class' javaName
'BooleanArray class' isInterface
'BooleanArray class' isJavaReferenceType
'BooleanArray class' javaComponentClass
'BooleanArray class' javaName
'ByteArray class' isInterface
'ByteArray class' isJavaArrayClass
'ByteArray class' isJavaReferenceType
'ByteArray class' javaArrayClass
'ByteArray class' javaComponentClass
'ByteArray class' javaName
'Character class' isJavaPrimitiveType
'Character class' javaArrayClass
'Character class' javaName
'CharacterArray class' decodeFromJavaUTF8:
'CharacterArray class' fromJavaUTF8Bytes:
'CharacterArray class' isJavaArrayClass
'CharacterArray class' javaArrayClass
'CharacterArray class' javaComponentClass
'DoubleArray class' isInterface
'DoubleArray class' isJavaReferenceType
'DoubleArray class' javaComponentClass
'DoubleArray class' javaName
'Float class' isJavaPrimitiveType
'Float class' javaArrayClass
'Float class' javaName
'FloatArray class' isInterface
'FloatArray class' isJavaReferenceType
'FloatArray class' javaComponentClass
'FloatArray class' javaName
'GenericToolbarIconLibrary class' javaClassBrowserIcon
'Integer class' isJavaPrimitiveType
'Integer class' javaArrayClass
'Integer class' javaName
'LargeInteger class' isJavaPrimitiveType
'LargeInteger class' javaArrayClass
'LargeInteger class' javaName
'Object class' isJavaArrayClass
'Object class' isJavaClassType
'Object class' isJavaPrimitiveType
'Object class' isJavaReferenceType
'Object class' isJavaType
'ShortFloat class' isJavaPrimitiveType
'ShortFloat class' javaArrayClass
'ShortFloat class' javaName
'SignedIntegerArray class' isInterface
'SignedIntegerArray class' isJavaArrayClass
'SignedIntegerArray class' javaComponentClass
'SignedIntegerArray class' javaName
'SignedLongIntegerArray class' isInterface
'SignedLongIntegerArray class' isJavaArrayClass
'SignedLongIntegerArray class' isJavaReferenceType
'SignedLongIntegerArray class' javaComponentClass
'SignedLongIntegerArray class' javaName
'String class' isInterface
'String class' javaName
'UndefinedObject class' isJavaPrimitiveType
'UndefinedObject class' javaName
'WordArray class' isInterface
'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:"'1213'"$"
! !
!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$'
! !