stx_libjava.st
branchdevelopment
changeset 2476 d24ce8174195
parent 2450 1d34ee4362f4
child 2484 38b012c9fcd6
--- a/stx_libjava.st	Fri Mar 29 23:37:04 2013 +0000
+++ b/stx_libjava.st	Sun Mar 31 19:25:00 2013 +0100
@@ -151,6 +151,30 @@
     )
 !
 
+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/petitparser'    "PPDelegateParser - superclass of JavaParserII "
+        #'stx:goodies/sunit'    "TestResource - superclass of JavaAntProjectResource "
+        #'stx:libbasic'    "Class - superclass of JavaClass "
+        #'stx:libbasic2'    "BitArray - extended "
+        #'stx:libbasic3'    "WrappedMethod - extended "
+        #'stx:libcomp'    "ParseNode - superclass of JavaTypeNode "
+        #'stx:libtool'    "InspectorView - superclass of JavaMapInspectorView "
+        #'stx:libview'    "PopUpView - superclass of JavaPopUpView "
+        #'stx:libview2'    "Model - superclass of JavaCodeBundleEditor "
+        #'stx:libwidg2'    "HierarchicalItem - superclass of JavaCodeBundleEditor::Item "
+    )
+!
+
 preRequisites
     "list all required packages.
      This list can be maintained manually or (better) generated and
@@ -173,6 +197,34 @@
         #'stx:libwidg'    "Label - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WLabelPeer_create: "
         #'stx:libwidg2'    "MenuPanel - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WMenuPeer_createMenu: "
     )
+!
+
+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:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
+        #'stx:libjava/experiments'    "NoReflectionObject - referenced by JavaObjectDictionary>>reflectionOf: "
+        #'stx:libjava/tools'    "JavaSyntaxHighlighter::Scanner - referenced by JavaSyntaxHighlighter>>format:kind:in: "
+        #'stx:libwidg'    "ScrollableView - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_MComponentPeer_pSetForeground: "
+    )
+!
+
+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'
+        #'stx:libjava/experiments'
+    )
 ! !
 
 !stx_libjava class methodsFor:'description - compilation'!
@@ -284,13 +336,11 @@
 
     ^ #(
         "<className> or (<className> attributes...) in load order"
-        JavaVMData
-        (JavaRefsAndConstantPoolTestCase autoload)
         GroovyCompiler
         GroovyEvaluator
         GroovyLanguage
         GroovySourceFileWriter
-        Java
+        (JUnitTestCaseProxy autoload)
         JavaAnnotation
         JavaAnnotationContainer
         JavaAnnotationDefault
@@ -299,14 +349,17 @@
         (JavaAntProjectResource autoload)
         JavaArray
         JavaByte
-        (JavaByteCodeProcessorTests autoload)
         (JavaByteCodeDisassemblerTests autoload)
         JavaByteCodeProcessor
+        (JavaByteCodeProcessorTests autoload)
         JavaClassAccessor
         (JavaClassLoadingTests autoload)
+        JavaClassQuery
+        (JavaClassReaderTests autoload)
         (JavaClassRefTests autoload)
-        JavaClassRegistry
         JavaClassReloader
+        JavaCodeLibraryOrBundle
+        #'JavaCompiler_Eclipse'
         JavaConstantPool
         JavaConstants
         JavaContext
@@ -314,10 +367,11 @@
         JavaDescriptor
         JavaError
         JavaExceptionTableEntry
+        (JavaExceptionTests autoload)
         JavaField
         (JavaFieldRefTests autoload)
+        JavaFinalizationRegistry
         (JavaFreshlyInitializedResource autoload)
-        (JavaInitializedResource autoload)
         (JavaInterfaceMethodRefTests autoload)
         (JavaJUnitTests autoload)
         JavaLanguage
@@ -326,12 +380,19 @@
         JavaLocalVariableTable
         JavaLocalVariableTableEntry
         JavaLookup
+        (JavaLookupResolutionAlgorithmTests autoload)
+        (JavaLookupTests autoload)
+        (JavaLookupTestsResource autoload)
         JavaMathSupport
+        JavaMetaclass
         (JavaMethodRefTests autoload)
+        JavaMirror
         JavaMonitor
         (JavaMonitorsTests autoload)
         JavaNameAndType2
         JavaNativeMemory
+        (JavaNativeMemoryTests autoload)
+        JavaNioSupport
         JavaObject
         JavaObjectDictionary
         JavaPackage
@@ -339,6 +400,7 @@
         JavaProcess
         JavaRef2
         (JavaRefMock autoload)
+        (JavaRefsAndConstantPoolTestCase autoload)
         JavaRelease
         JavaResolver
         (JavaRuntimeConstantPoolTests autoload)
@@ -354,6 +416,7 @@
         (JavaUTF8Tests autoload)
         JavaUnresolvedConstant
         JavaUtilities
+        JavaVMData
         JavaView
         JavaZipSupport
         PPJavaNode
@@ -364,6 +427,8 @@
         SmalltalkAppletStub
         (TestletTestCaseProxy autoload)
         #'stx_libjava'
+        GroovyMetaclass
+        Java
         JavaAnnotationArrayValue
         JavaAnnotationClassValue
         JavaAnnotationEnumValue
@@ -377,15 +442,20 @@
         JavaClassContentRef2
         JavaClassReader
         JavaClassRef2
+        JavaClassRegistry
+        JavaCodeBundle
+        JavaCodeLibrary
         JavaEmbeddedFrameView
         JavaFieldAnnotationContainer
         JavaFieldDescriptor
         JavaFieldDescriptorWithUnionType
+        (JavaInitializedResource autoload)
         JavaInvalidRefError
         JavaMethod
         JavaMethodAnnotationContainer
         JavaMethodDeclarationNode
         JavaMethodDescriptor
+        #'JavaNativeMethodImpl_OpenJDK6'
         JavaStringRef2
         JavaUnhandledExceptionError
         JavaUnresolvedClassConstant
@@ -395,46 +465,28 @@
         ProxyMethodConditionNode
         ProxyMethodGuardNode
         ProxyMethodInvocationNode
+        ProxyMethodJavaFieldAccessor
         JavaByteCodePreresolver
         JavaClass
+        JavaClassPathBundle
         JavaFieldRef2
         JavaMethodRef2
         JavaMethodWithException
+        #'JavaNativeMethodImpl_OpenJDK7'
+        #'JavaNativeMethodImpl_SunJDK6'
         ProxyMethodAndNode
         ProxyMethodBlockInvocationNode
+        ProxyMethodJavaFieldGetter
+        ProxyMethodJavaFieldSetter
         ProxyMethodMethodInvocationNode
         ProxyMethodTypeCheckNode
         GroovyClass
         JavaInterfaceMethodRef2
         JavaMethodWithHandler
+        #'JavaNativeMethodImpl_SunJDK7'
         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'
     )
 !