Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
authorStefan Vogel <sv@exept.de>
Sat, 09 Mar 2013 00:52:21 +0100
changeset 2448 d7ecc37e95a6
parent 2447 055223e5351e
child 2449 2c8d14e14a4f
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
stx_libjava.st
--- a/stx_libjava.st	Sat Mar 09 00:47:20 2013 +0100
+++ b/stx_libjava.st	Sat Mar 09 00:52:21 2013 +0100
@@ -4,7 +4,7 @@
  New code and modifications done at SWING Research Group [1]:
 
  COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
-			    SWING Research Group, Czech Technical University in Prague
+                            SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -21,10 +21,10 @@
 "{ Package: 'stx:libjava' }"
 
 LibraryDefinition subclass:#stx_libjava
-	instanceVariableNames:''
-	classVariableNames:''
-	poolDictionaries:''
-	category:'* Projects & Packages *'
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'* Projects & Packages *'
 !
 
 !stx_libjava class methodsFor:'documentation'!
@@ -36,7 +36,7 @@
  New code and modifications done at SWING Research Group [1]:
 
  COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
-			    SWING Research Group, Czech Technical University in Prague
+                            SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -59,7 +59,7 @@
 !
 
 extensionsVersion_SVN
-    ^ '$Id: stx_libjava.st,v 1.14 2013-03-08 13:20:51 cg Exp $'
+    ^ '$Id: stx_libjava.st,v 1.15 2013-03-08 23:52:21 stefan Exp $'
 ! !
 
 !stx_libjava class methodsFor:'accessing'!
@@ -88,7 +88,7 @@
      Entries maybe ClassName or #(ClassName testName)
     "
     ^ #(
-	LookupTests
+        LookupTests
     )
 
     "Created: / 03-06-2011 / 17:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -106,31 +106,31 @@
     javaTestCases := OrderedCollection new.
 
     Java allClassesDo:
-	[:jclass|
-	(jclass name ~~ #'stx/libjava/tests/JUnit3Tests'
-	    and:[jclass name ~~  #'stx/libjava/tests/JUnit4Tests'
-		and:[jclass isTestCaseLike]])
-		    ifTrue:
-			[ | tc |
-			tc := jclass asTestCase.
-			tc isAbstract ifFalse:[javaTestCases add:tc ]]].
+        [:jclass|
+        (jclass name ~~ #'stx/libjava/tests/JUnit3Tests'
+            and:[jclass name ~~  #'stx/libjava/tests/JUnit4Tests'
+                and:[jclass isTestCaseLike]])
+                    ifTrue:
+                        [ | tc |
+                        tc := jclass asTestCase.
+                        tc isAbstract ifFalse:[javaTestCases add:tc ]]].
 
     javaTestCases do:
-		[:each |
-		suite addTests:each buildSuite tests ].
+                [:each |
+                suite addTests:each buildSuite tests ].
 
 
     suite tests addAll: stTests.
 
     suite tests withIndexDo:
-	[:t :i|
-	Stdout nextPutAll: i printString; space; nextPutAll: t printString; cr].
+        [:t :i|
+        Stdout nextPutAll: i printString; space; nextPutAll: t printString; cr].
 
     Java dumpConfigOn: Stdout.
     ^suite
 
     "
-	stx_libjava testSuite
+        stx_libjava testSuite
 
     "
 
@@ -153,29 +153,43 @@
      preRequisites scan. See #preRequisites for more."
 
     ^ #(
+        #'stx:goodies/sunit'    "TestSuite - referenced by stx_libjava class>>testSuite "
     )
 !
 
-preRequisites
-    "list all required packages.
+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 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."
+     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/sunit'    "TestSuite - referenced by stx_libjava class>>testSuite "
-	#'stx:libbasic'    "WriteStream - superclass of JavaSocket "
-	#'stx:libbasic2'    "BitArray - superclass of extended BooleanArray "
-	#'stx:libbasic3'    "WrappedMethod - extended "
-	#'stx:libcomp'    "VariableNode - referenced by ProxyMethodCompiler>>compile:arguments:selector: "
-	#'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
-	#'stx:libtool'    "DebugView - referenced by Java class>>flushClasses "
-	#'stx:libview'    "SimpleView - superclass of JavaView "
-	#'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
-	#'stx:libwidg'    "Scroller - referenced by JavaVM class>>processEvent: "
-	#'stx:libwidg2'    "ComboBoxView - referenced by JavaVM class>>processEvent: "
+        #'stx:libbasic'    "Link - superclass of JavaProcess "
+        #'stx:libbasic2'    "BitArray - extended "
+        #'stx:libbasic3'    "WrappedMethod - extended "
+        #'stx:libview'    "TopView - superclass of JavaPopUpView "
+    )
+!
+
+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:libcomp'    "MethodNode - referenced by JavaNativeMethod>>numberOfArgs: "
+        #'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
+        #'stx:libtool'    "WorkspaceApplication - referenced by GroovyEvaluator>>evaluate:in:receiver:notifying:logged:ifFail: "
+        #'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
+        #'stx:libwidg'    "Button - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WButtonPeer_create: "
+        #'stx:libwidg2'    "CheckBox - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WCheckboxPeer_create: "
     )
 ! !
 
@@ -198,46 +212,46 @@
 additionalRules_bc_dot_mak
     ^ '
 ant:
-	ant -f java\build.xml
+        ant -f java\build.xml
 
 antIfPossible:
-	-ant -f java\build.xml
+        -ant -f java\build.xml
 
 full::  ant
 
 $(ZLIB):
-	cd $(ZLIB_DIR)
-	$(MAKE) $(MAKE_ZLIB_ARG) $(ZLIB)
-	cd ..\..\libjava
+        cd $(ZLIB_DIR)
+        $(MAKE) $(MAKE_ZLIB_ARG) $(ZLIB)
+        cd ..\..\libjava
 
 $(BZ2LIB):
-	cd $(BZ2LIB_DIR)
-	$(MAKE) $(MAKE_BZ2LIB_ARG) bz2.lib
-	cd ..\..\libjava
+        cd $(BZ2LIB_DIR)
+        $(MAKE) $(MAKE_BZ2LIB_ARG) bz2.lib
+        cd ..\..\libjava
 
 !!ifdef USEBC
 support\fdlibm\libfdm.lib:
-	cd support\fdlibm
-	$(MAKE) -f Makefile.bcc
-	cd ..\..
+        cd support\fdlibm
+        $(MAKE) -f Makefile.bcc
+        cd ..\..
 !!endif
 !!ifdef USEVC
 support\fdlibm\libfdm.lib:
-	cd support\fdlibm
-	$(MAKE) -f Makefile.msvc
-	cd ..\..
+        cd support\fdlibm
+        $(MAKE) -f Makefile.msvc
+        cd ..\..
 !!endif
 !!if defined(USEMING32)
 support\fdlibm\libfdm.lib:
-	cd support\fdlibm
-	$(MAKE) -f Makefile.mingw32
-	cd ..\..
+        cd support\fdlibm
+        $(MAKE) -f Makefile.mingw32
+        cd ..\..
 !!endif
 !!if defined(USEMINGW64)
 support\fdlibm\libfdm.lib:
-	cd support\fdlibm
-	$(MAKE) -f Makefile.mingw64
-	cd ..\..
+        cd support\fdlibm
+        $(MAKE) -f Makefile.mingw64
+        cd ..\..
 !!endif
 
 '
@@ -248,18 +262,18 @@
 additionalRules_make_dot_proto
     ^ '
 ant:
-	ant -f java/build.xml
+        ant -f java/build.xml
 
 antIfPossible:
-	-ant -f java/build.xml
+        -ant -f java/build.xml
 
 full::  ant
 
 zlib:
-	cd $(ZLIB_DIR); $(MAKE) $(MAKE_ZLIB_ARG)
+        cd $(ZLIB_DIR); $(MAKE) $(MAKE_ZLIB_ARG)
 
 support/fdlibm/libfdm.a:
-	$(MAKE) CCCONFOPT="$(CCCONFOPT)" -C support/fdlibm
+        $(MAKE) CCCONFOPT="$(CCCONFOPT)" -C support/fdlibm
 
 '
 
@@ -303,161 +317,159 @@
      Attributes are: #autoload or #<os> where os is one of win32, unix,..."
 
     ^ #(
-	"<className> or (<className> attributes...) in load order"
-	JavaVMData
-	(JavaRefsAndConstantPoolTestCase autoload)
-	GroovyCompiler
-	GroovyEvaluator
-	GroovyLanguage
-	GroovySourceFileWriter
-	Java
-	JavaAnnotation
-	JavaAnnotationContainer
-	JavaAnnotationDefault
-	JavaAnnotationDictionary
-	JavaAnnotationValue
-	(JavaAntProjectResource autoload)
-	JavaArray
-	JavaByte
-	(JavaByteCodeProcessorTests autoload)
-	(JavaByteCodeDisassemblerTests autoload)
-	JavaByteCodeProcessor
-	JavaClassAccessor
-	(JavaClassLoadingTests autoload)
-	(JavaClassRefTests autoload)
-	JavaClassRegistry
-	JavaClassReloader
-	JavaConstantPool
-	JavaConstants
-	JavaContext
-	JavaDecompiler
-	JavaDescriptor
-	JavaError
-	JavaExceptionTableEntry
-	JavaField
-	(JavaFieldRefTests autoload)
-	(JavaFreshlyInitializedResource autoload)
-	(JavaInitializedResource autoload)
-	(JavaInterfaceMethodRefTests autoload)
-	(JavaJUnitTests autoload)
-	JavaLanguage
-	JavaLibraries
-	(JavaLibrariesResource autoload)
-	JavaLocalVariableTable
-	JavaLocalVariableTableEntry
-	JavaLookup
-	JavaMathSupport
-	(JavaMethodRefTests autoload)
-	JavaMonitor
-	(JavaMonitorsTests autoload)
-	JavaNameAndType2
-	JavaNativeMemory
-	JavaObject
-	JavaObjectDictionary
-	JavaPackage
-	JavaPopUpView
-	JavaProcess
-	JavaRef2
-	(JavaRefMock autoload)
-	JavaRelease
-	JavaResolver
-	(JavaRuntimeConstantPoolTests autoload)
-	JavaShort
-	JavaSlotIndexCache
-	JavaSocket
-	JavaSourceCodeCache
-	JavaSourceFileWriter
-	(JavaTestCaseProxy autoload)
-	JavaTestsLoader
-	(JavaTestsResource autoload)
-	JavaTopView
-	(JavaUTF8Tests autoload)
-	JavaUnresolvedConstant
-	JavaUtilities
-	JavaView
-	JavaZipSupport
-	PPJavaNode
-	ProxyMethod
-	ProxyMethodCompiler
-	ProxyMethodNode
-	SmalltalkAppletContext
-	SmalltalkAppletStub
-	(TestletTestCaseProxy autoload)
-	#'stx_libjava'
-	JavaAnnotationArrayValue
-	JavaAnnotationClassValue
-	JavaAnnotationEnumValue
-	JavaAnnotationNestedAnnotationValue
-	JavaAnnotationPrimitiveValue
-	JavaBehavior
-	JavaByteCodeDisassembler
-	JavaByteCodeEnumerator
-	JavaByteCodeProcessorAdapter
-	JavaClassAnnotationContainer
-	JavaClassContentRef2
-	JavaClassReader
-	JavaClassRef2
-	JavaEmbeddedFrameView
-	JavaFieldAnnotationContainer
-	JavaFieldDescriptor
-	JavaFieldDescriptorWithUnionType
-	JavaInvalidRefError
-	JavaMethod
-	JavaMethodAnnotationContainer
-	JavaMethodDeclarationNode
-	JavaMethodDescriptor
-	JavaStringRef2
-	JavaUnhandledExceptionError
-	JavaUnresolvedClassConstant
-	JavaUnresolvedStringConstant
-	JavaVM
-	JavadocDeclarationNode
-	ProxyMethodConditionNode
-	ProxyMethodGuardNode
-	ProxyMethodInvocationNode
-	JavaByteCodePreresolver
-	JavaClass
-	JavaFieldRef2
-	JavaMethodRef2
-	JavaMethodWithException
-	ProxyMethodAndNode
-	ProxyMethodBlockInvocationNode
-	ProxyMethodMethodInvocationNode
-	ProxyMethodTypeCheckNode
-	GroovyClass
-	JavaInterfaceMethodRef2
-	JavaMethodWithHandler
-	ProxyMethodJavaMethodInvocationNode
-	ProxyMethodJavaTypeCheckNode
-	JavaNativeMethod
-	ProxyMethodJavaFieldAccessor
-	ProxyMethodJavaFieldGetter
-	ProxyMethodJavaFieldSetter
-	(JavaExceptionTests autoload)
-	#'JavaCompiler_Eclipse'
-	JavaMetaclass
-	GroovyMetaclass
-	(JavaClassReaderTests autoload)
-	JavaNioSupport
-	(JavaNativeMemoryTests autoload)
-	JavaFinalizationRegistry
-	JavaMirror
-	JavaClassQuery
-	(JUnitTestCaseProxy autoload)
-	(JavaLookupResolutionAlgorithmTests autoload)
-	(JavaLookupTests autoload)
-	(JavaLookupTestsResource autoload)
-	JavaCodeLibraryOrBundle
-	JavaCodeBundle
-	JavaClassPathBundle
-	JavaCodeLibrary
-	#'JavaNativeMethodImpl_OpenJDK6'
-	#'JavaNativeMethodImpl_SunJDK6'
-	#'JavaNativeMethodImpl_OpenJDK7'
-	#'JavaNativeMethodImpl_SunJDK7'
+        "<className> or (<className> attributes...) in load order"
+        JavaVMData
+        (JavaRefsAndConstantPoolTestCase autoload)
+        GroovyCompiler
+        GroovyEvaluator
+        GroovyLanguage
+        GroovySourceFileWriter
+        Java
+        JavaAnnotation
+        JavaAnnotationContainer
+        JavaAnnotationDefault
+        JavaAnnotationDictionary
+        JavaAnnotationValue
+        (JavaAntProjectResource autoload)
+        JavaArray
+        JavaByte
+        (JavaByteCodeProcessorTests autoload)
+        (JavaByteCodeDisassemblerTests autoload)
+        JavaByteCodeProcessor
+        JavaClassAccessor
+        (JavaClassLoadingTests autoload)
+        (JavaClassRefTests autoload)
+        JavaClassRegistry
+        JavaClassReloader
+        JavaConstantPool
+        JavaConstants
+        JavaContext
+        JavaDecompiler
+        JavaDescriptor
+        JavaError
+        JavaExceptionTableEntry
+        JavaField
+        (JavaFieldRefTests autoload)
+        (JavaFreshlyInitializedResource autoload)
+        (JavaInitializedResource autoload)
+        (JavaInterfaceMethodRefTests autoload)
+        (JavaJUnitTests autoload)
+        JavaLanguage
+        JavaLibraries
+        (JavaLibrariesResource autoload)
+        JavaLocalVariableTable
+        JavaLocalVariableTableEntry
+        JavaLookup
+        JavaMathSupport
+        (JavaMethodRefTests autoload)
+        JavaMonitor
+        (JavaMonitorsTests autoload)
+        JavaNameAndType2
+        JavaNativeMemory
+        JavaObject
+        JavaObjectDictionary
+        JavaPackage
+        JavaPopUpView
+        JavaProcess
+        JavaRef2
+        (JavaRefMock autoload)
+        JavaRelease
+        JavaResolver
+        (JavaRuntimeConstantPoolTests autoload)
+        JavaShort
+        JavaSlotIndexCache
+        JavaSocket
+        JavaSourceCodeCache
+        JavaSourceFileWriter
+        (JavaTestCaseProxy autoload)
+        JavaTestsLoader
+        (JavaTestsResource autoload)
+        JavaTopView
+        (JavaUTF8Tests autoload)
+        JavaUnresolvedConstant
+        JavaUtilities
+        JavaView
+        JavaZipSupport
+        PPJavaNode
+        ProxyMethod
+        ProxyMethodCompiler
+        ProxyMethodNode
+        SmalltalkAppletContext
+        SmalltalkAppletStub
+        (TestletTestCaseProxy autoload)
+        #'stx_libjava'
+        JavaAnnotationArrayValue
+        JavaAnnotationClassValue
+        JavaAnnotationEnumValue
+        JavaAnnotationNestedAnnotationValue
+        JavaAnnotationPrimitiveValue
+        JavaBehavior
+        JavaByteCodeDisassembler
+        JavaByteCodeEnumerator
+        JavaByteCodeProcessorAdapter
+        JavaClassAnnotationContainer
+        JavaClassContentRef2
+        JavaClassReader
+        JavaClassRef2
+        JavaEmbeddedFrameView
+        JavaFieldAnnotationContainer
+        JavaFieldDescriptor
+        JavaFieldDescriptorWithUnionType
+        JavaInvalidRefError
+        JavaMethod
+        JavaMethodAnnotationContainer
+        JavaMethodDeclarationNode
+        JavaMethodDescriptor
+        JavaStringRef2
+        JavaUnhandledExceptionError
+        JavaUnresolvedClassConstant
+        JavaUnresolvedStringConstant
+        JavaVM
+        JavadocDeclarationNode
+        ProxyMethodConditionNode
+        ProxyMethodGuardNode
+        ProxyMethodInvocationNode
+        JavaByteCodePreresolver
+        JavaClass
+        JavaFieldRef2
+        JavaMethodRef2
+        JavaMethodWithException
+        ProxyMethodAndNode
+        ProxyMethodBlockInvocationNode
+        ProxyMethodMethodInvocationNode
+        ProxyMethodTypeCheckNode
+        GroovyClass
+        JavaInterfaceMethodRef2
+        JavaMethodWithHandler
+        ProxyMethodJavaMethodInvocationNode
+        ProxyMethodJavaTypeCheckNode
+        JavaNativeMethod
+        ProxyMethodJavaFieldAccessor
+        ProxyMethodJavaFieldGetter
+        ProxyMethodJavaFieldSetter
+        (JavaExceptionTests autoload)
+        #'JavaCompiler_Eclipse'
+        JavaMetaclass
+        GroovyMetaclass
+        (JavaClassReaderTests autoload)
+        JavaNioSupport
+        (JavaNativeMemoryTests autoload)
+        JavaFinalizationRegistry
+        JavaMirror
+        JavaClassQuery
+        (JUnitTestCaseProxy autoload)
+        (JavaLookupResolutionAlgorithmTests autoload)
+        (JavaLookupTests autoload)
+        (JavaLookupTestsResource autoload)
+        JavaCodeLibraryOrBundle
+        JavaCodeBundle
+        JavaClassPathBundle
+        JavaCodeLibrary
+        #'JavaNativeMethodImpl_OpenJDK6'
+        #'JavaNativeMethodImpl_SunJDK6'
+        #'JavaNativeMethodImpl_OpenJDK7'
+        #'JavaNativeMethodImpl_SunJDK7'
     )
-
-    "Modified: / 15-02-2013 / 18:54:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 extensionMethodNames
@@ -465,166 +477,164 @@
      Entries are 2-element array literals, consisting of class-name and selector."
 
     ^ #(
-	Behavior isInterface
-	BooleanArray isInterface
-	CharacterArray asDottedJavaClassName
-	CharacterArray asJavaComponentClassName
-	CharacterArray asNiceJavaClassName
-	CharacterArray asSTXInternalJavaClassName
-	CharacterArray asSlashedJavaClassName
-	CharacterArray isJavaArrayDescriptor
-	CharacterArray isJavaPrimitiveTypeDescriptor
-	Delay waitWithState:
-	Object isGroovyClass
-	Object isJavaArray
-	Object isJavaNameAndType
-	Object isJavaPackage
-	Object isJavaRef
-	Object isJavaWrapperClass
-	Object javaBox:
-	Object javaUnwrap:
-	Object javaUnwrapFrom:
-	Object javaWrap:
-	Process clearInterrupted
-	Process isInterrupted
-	Process isSleeping
-	Process isWaiting
-	Process javaInterrupt
-	Process setInterrupted
-	Set #'java__contains:'
-	SmallInteger javaUnwrapFrom:
-	String asArrayOfSubstringsSeparatedBy:
-	WrappedMethod descriptor
-	WrappedMethod isAbstract
-	ZipArchive nextBytes:of:startingAt:into:startingAt:
-	'Boolean class' isJavaPrimitiveType
-	'Boolean class' javaArrayClass
-	'Boolean class' javaBox:
-	'Boolean class' javaName
-	'Boolean class' javaUnbox:onError:
-	'Boolean class' javaUnwrap:
-	'Boolean class' javaWrapperClass
-	'BooleanArray class' isInterface
-	'BooleanArray class' isJavaArrayClass
-	'BooleanArray class' isJavaReferenceType
-	'BooleanArray class' javaArrayClass
-	'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' javaBox:
-	'Character class' javaName
-	'Character class' javaUnbox:onError:
-	'Character class' javaWrapperClass
-	'CharacterArray class' decodeFromJavaUTF8:
-	'CharacterArray class' fromJavaUTF8Bytes:
-	'CharacterArray class' isJavaArrayClass
-	'CharacterArray class' javaArrayClass
-	'CharacterArray class' javaComponentClass
-	'ConfigurableFeatures class' hasJavaSupport
-	'DoubleArray class' isInterface
-	'DoubleArray class' isJavaArrayClass
-	'DoubleArray class' isJavaReferenceType
-	'DoubleArray class' javaArrayClass
-	'DoubleArray class' javaComponentClass
-	'DoubleArray class' javaName
-	'Float class' isJavaPrimitiveType
-	'Float class' javaArrayClass
-	'Float class' javaBox:
-	'Float class' javaName
-	'Float class' javaWrapperClass
-	'FloatArray class' isInterface
-	'FloatArray class' isJavaArrayClass
-	'FloatArray class' isJavaReferenceType
-	'FloatArray class' javaArrayClass
-	'FloatArray class' javaComponentClass
-	'FloatArray class' javaName
-	'Integer class' isJavaPrimitiveType
-	'Integer class' javaArrayClass
-	'Integer class' javaBox:
-	'Integer class' javaName
-	'Integer class' javaUnbox:onError:
-	'Integer class' javaUnbox:onError:min:max:
-	'Integer class' javaWrapperClass
-	'LargeInteger class' isJavaPrimitiveType
-	'LargeInteger class' javaArrayClass
-	'LargeInteger class' javaBox:
-	'LargeInteger class' javaName
-	'LargeInteger class' javaUnbox:onError:
-	'LargeInteger class' javaWrapperClass
-	'Object class' isJavaArrayClass
-	'Object class' isJavaClassType
-	Behavior isJavaPrimitiveType
-	'Object class' isJavaReferenceType
-	'Object class' isJavaType
-	'ProjectDefinition class' javaClassPath
-	'ProjectDefinition class' javaSourcePath
-	'ShortFloat class' isJavaPrimitiveType
-	'ShortFloat class' javaArrayClass
-	'ShortFloat class' javaBox:
-	'ShortFloat class' javaName
-	'ShortFloat class' javaWrapperClass
-	'SignedIntegerArray class' isInterface
-	'SignedIntegerArray class' isJavaArrayClass
-	'SignedIntegerArray class' javaArrayClass
-	'SignedIntegerArray class' javaComponentClass
-	'SignedIntegerArray class' javaName
-	'SignedLongIntegerArray class' isInterface
-	'SignedLongIntegerArray class' isJavaArrayClass
-	'SignedLongIntegerArray class' isJavaReferenceType
-	'SignedLongIntegerArray class' javaArrayClass
-	'SignedLongIntegerArray class' javaComponentClass
-	'SignedLongIntegerArray class' javaName
-	'SignedWordArray class' isJavaArrayClass
-	'SignedWordArray class' isJavaReferenceType
-	'SignedWordArray class' javaComponentClass
-	'SignedWordArray class' javaName
-	'UndefinedObject class' isJavaPrimitiveType
-	'UndefinedObject class' javaName
-	'WordArray class' isInterface
-	'WordArray class' isJavaArrayClass
-	'WordArray class' isJavaReferenceType
-	'WordArray class' javaArrayClass
-	'WordArray class' javaComponentClass
-	'WordArray class' javaName
-	'Boolean class' javaWrap:
-	ProgrammingLanguage isGroovy
-	ProgrammingLanguage isJavaLike
-	UserPreferences javaRelease
-	UserPreferences javaReleaseSelector
-	UserPreferences javaReleaseSelector:
-	Class javaMirror
-	Class javaMirrorClass
-	ExecutableFunction isJavaConstructor
-	Process isParked
-	Semaphore parkWithTimeoutMs:
-	Object isSocket
-	Socket isSocket
-	Socket reOpenIfPossible
-	Method isStatic
-	Class classLoader
-	Method isAbstract
-	Method javaClass
-	Class lookupMethodByNameAndType:
-	Object getJavaLockWord
-	Object getJavaMonitor
-	Object javaWrapRequired
-	'Boolean class' javaWrapRequired
-	CharacterArray withoutSuffix:
-	ExecutableFunction isProxyMethod
-	'ProjectDefinition class' javaBundle
-	'String class' javaName
-	'Unicode16String class' javaName
-	Context arg1Index
+        Behavior isInterface
+        BooleanArray isInterface
+        CharacterArray asDottedJavaClassName
+        CharacterArray asJavaComponentClassName
+        CharacterArray asNiceJavaClassName
+        CharacterArray asSTXInternalJavaClassName
+        CharacterArray asSlashedJavaClassName
+        CharacterArray isJavaArrayDescriptor
+        CharacterArray isJavaPrimitiveTypeDescriptor
+        Delay waitWithState:
+        Object isGroovyClass
+        Object isJavaArray
+        Object isJavaNameAndType
+        Object isJavaPackage
+        Object isJavaRef
+        Object isJavaWrapperClass
+        Object javaBox:
+        Object javaUnwrap:
+        Object javaUnwrapFrom:
+        Object javaWrap:
+        Process clearInterrupted
+        Process isInterrupted
+        Process isSleeping
+        Process isWaiting
+        Process javaInterrupt
+        Process setInterrupted
+        Set #'java__contains:'
+        SmallInteger javaUnwrapFrom:
+        String asArrayOfSubstringsSeparatedBy:
+        WrappedMethod descriptor
+        WrappedMethod isAbstract
+        ZipArchive nextBytes:of:startingAt:into:startingAt:
+        'Boolean class' isJavaPrimitiveType
+        'Boolean class' javaArrayClass
+        'Boolean class' javaBox:
+        'Boolean class' javaName
+        'Boolean class' javaUnbox:onError:
+        'Boolean class' javaUnwrap:
+        'Boolean class' javaWrapperClass
+        'BooleanArray class' isInterface
+        'BooleanArray class' isJavaArrayClass
+        'BooleanArray class' isJavaReferenceType
+        'BooleanArray class' javaArrayClass
+        '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' javaBox:
+        'Character class' javaName
+        'Character class' javaUnbox:onError:
+        'Character class' javaWrapperClass
+        'CharacterArray class' decodeFromJavaUTF8:
+        'CharacterArray class' fromJavaUTF8Bytes:
+        'CharacterArray class' isJavaArrayClass
+        'CharacterArray class' javaArrayClass
+        'CharacterArray class' javaComponentClass
+        'ConfigurableFeatures class' hasJavaSupport
+        'DoubleArray class' isInterface
+        'DoubleArray class' isJavaArrayClass
+        'DoubleArray class' isJavaReferenceType
+        'DoubleArray class' javaArrayClass
+        'DoubleArray class' javaComponentClass
+        'DoubleArray class' javaName
+        'Float class' isJavaPrimitiveType
+        'Float class' javaArrayClass
+        'Float class' javaBox:
+        'Float class' javaName
+        'Float class' javaWrapperClass
+        'FloatArray class' isInterface
+        'FloatArray class' isJavaArrayClass
+        'FloatArray class' isJavaReferenceType
+        'FloatArray class' javaArrayClass
+        'FloatArray class' javaComponentClass
+        'FloatArray class' javaName
+        'Integer class' isJavaPrimitiveType
+        'Integer class' javaArrayClass
+        'Integer class' javaBox:
+        'Integer class' javaName
+        'Integer class' javaUnbox:onError:
+        'Integer class' javaUnbox:onError:min:max:
+        'Integer class' javaWrapperClass
+        'LargeInteger class' isJavaPrimitiveType
+        'LargeInteger class' javaArrayClass
+        'LargeInteger class' javaBox:
+        'LargeInteger class' javaName
+        'LargeInteger class' javaUnbox:onError:
+        'LargeInteger class' javaWrapperClass
+        'Object class' isJavaArrayClass
+        'Object class' isJavaClassType
+        Behavior isJavaPrimitiveType
+        'Object class' isJavaReferenceType
+        'Object class' isJavaType
+        'ProjectDefinition class' javaClassPath
+        'ProjectDefinition class' javaSourcePath
+        'ShortFloat class' isJavaPrimitiveType
+        'ShortFloat class' javaArrayClass
+        'ShortFloat class' javaBox:
+        'ShortFloat class' javaName
+        'ShortFloat class' javaWrapperClass
+        'SignedIntegerArray class' isInterface
+        'SignedIntegerArray class' isJavaArrayClass
+        'SignedIntegerArray class' javaArrayClass
+        'SignedIntegerArray class' javaComponentClass
+        'SignedIntegerArray class' javaName
+        'SignedLongIntegerArray class' isInterface
+        'SignedLongIntegerArray class' isJavaArrayClass
+        'SignedLongIntegerArray class' isJavaReferenceType
+        'SignedLongIntegerArray class' javaArrayClass
+        'SignedLongIntegerArray class' javaComponentClass
+        'SignedLongIntegerArray class' javaName
+        'SignedWordArray class' isJavaArrayClass
+        'SignedWordArray class' isJavaReferenceType
+        'SignedWordArray class' javaComponentClass
+        'SignedWordArray class' javaName
+        'UndefinedObject class' isJavaPrimitiveType
+        'UndefinedObject class' javaName
+        'WordArray class' isInterface
+        'WordArray class' isJavaArrayClass
+        'WordArray class' isJavaReferenceType
+        'WordArray class' javaArrayClass
+        'WordArray class' javaComponentClass
+        'WordArray class' javaName
+        'Boolean class' javaWrap:
+        ProgrammingLanguage isGroovy
+        ProgrammingLanguage isJavaLike
+        UserPreferences javaRelease
+        UserPreferences javaReleaseSelector
+        UserPreferences javaReleaseSelector:
+        Class javaMirror
+        Class javaMirrorClass
+        ExecutableFunction isJavaConstructor
+        Process isParked
+        Semaphore parkWithTimeoutMs:
+        Object isSocket
+        Socket isSocket
+        Socket reOpenIfPossible
+        Method isStatic
+        Class classLoader
+        Method isAbstract
+        Method javaClass
+        Class lookupMethodByNameAndType:
+        Object getJavaLockWord
+        Object getJavaMonitor
+        Object javaWrapRequired
+        'Boolean class' javaWrapRequired
+        CharacterArray withoutSuffix:
+        ExecutableFunction isProxyMethod
+        'ProjectDefinition class' javaBundle
+        'String class' javaName
+        'Unicode16String class' javaName
+        Context arg1Index
     )
-
-    "Modified: / 07-02-2013 / 16:31:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !stx_libjava class methodsFor:'description - java'!
@@ -679,6 +689,13 @@
     "Modified: / 15-11-2012 / 23:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+productInstallDirBaseName
+    "Returns a default installDir which will appear in <app>.nsi.
+     This is usually not the one you want to keep"
+
+    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
+!
+
 productName
     "Return product name which will appear in <lib>.rc"
 
@@ -700,7 +717,7 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'2242            '"$"
+    ^ "$SVN-Revision:"'Nicht versioniertes Verzeichnis'"$"
 ! !
 
 !stx_libjava class methodsFor:'file generation'!
@@ -714,7 +731,7 @@
     dict := super basicFileNamesToGenerate.
 
     dict
-	at:'builder/package.deps.rake' put: #'generate_package_dot_deps_dot_rake'.
+        at:'builder/package.deps.rake' put: #'generate_package_dot_deps_dot_rake'.
 
     ^ dict.
 
@@ -731,11 +748,11 @@
 !stx_libjava class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/stx_libjava.st,v 1.14 2013-03-08 13:20:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/stx_libjava.st,v 1.15 2013-03-08 23:52:21 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/stx_libjava.st,v 1.14 2013-03-08 13:20:51 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/stx_libjava.st,v 1.15 2013-03-08 23:52:21 stefan Exp $'
 !
 
 version_SVN