settings: JavaCodeLibrary validation refactored and improved
Added JavaCodeLibrary>>validate which raises JavaCodeLibraryValidationWarnings. Made
JavaCodeBundleEditor to display items with warnings in read.
--- a/JavaCodeLibrary.st Tue Mar 17 20:56:13 2015 +0000
+++ b/JavaCodeLibrary.st Thu Mar 19 17:27:21 2015 +0000
@@ -20,6 +20,8 @@
"
"{ Package: 'stx:libjava' }"
+"{ NameSpace: Smalltalk }"
+
JavaCodeLibraryOrBundle subclass:#JavaCodeLibrary
instanceVariableNames:'classes sources javadoc'
classVariableNames:''
@@ -103,6 +105,7 @@
sources := something.
! !
+
!JavaCodeLibrary methodsFor:'comparing'!
= another
@@ -115,23 +118,6 @@
"Created: / 14-04-2014 / 23:08:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaCodeLibrary methodsFor:'displaying'!
-
-displayString
- | displayString |
-
- displayString := self name.
- self isLibrary ifTrue:[
- self sources isNil ifTrue:[
- displayString := displayString , ' ' , ('(no sources)' asText colorizeAllWith: Color gray)
- ].
- ].
-
- ^ displayString
-
- "Created: / 15-04-2014 / 18:56:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
!JavaCodeLibrary methodsFor:'enumerating'!
allLibrariesDo:aBlock
@@ -176,6 +162,7 @@
"Created: / 25-01-2013 / 21:44:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+
!JavaCodeLibrary class methodsFor:'documentation'!
version
--- a/JavaReleaseTests.st Tue Mar 17 20:56:13 2015 +0000
+++ b/JavaReleaseTests.st Thu Mar 19 17:27:21 2015 +0000
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
"
COPYRIGHT (c) 1996-2015 by Claus Gittinger
--- a/abbrev.stc Tue Mar 17 20:56:13 2015 +0000
+++ b/abbrev.stc Thu Mar 19 17:27:21 2015 +0000
@@ -3,7 +3,6 @@
# it provides information about a classes filename, category and especially namespace.
GroovyCompiler GroovyCompiler stx:libjava 'Languages-Groovy-Compiler' 0
GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Groovy-Compiler' 0
-GroovyEvaluatorTests GroovyEvaluatorTests stx:libjava 'Languages-Groovy-Tests' 1
GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
JavaAnnotation JavaAnnotation stx:libjava 'Languages-Java-Reader-Support' 0
@@ -11,18 +10,14 @@
JavaAnnotationDefault JavaAnnotationDefault stx:libjava 'Languages-Java-Annotations' 1
JavaAnnotationDictionary JavaAnnotationDictionary stx:libjava 'Languages-Java-Annotations' 1
JavaAnnotationValue JavaAnnotationValue stx:libjava 'Languages-Java-Reader-Support' 0
-JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
JavaArray JavaArray stx:libjava 'Languages-Java-Classes' 1
JavaBooleanArray JavaBooleanArray stx:libjava 'Languages-Java-Support' 0
JavaByte JavaByte stx:libjava 'Languages-Java-Support' 0
JavaByteCodeProcessor JavaByteCodeProcessor stx:libjava 'Languages-Java-Bytecode' 0
-JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
JavaClassAccessor JavaClassAccessor stx:libjava 'Languages-Java-Classes' 0
JavaClassEnvironment JavaClassEnvironment stx:libjava 'Languages-Java-Support' 0
-JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
-JavaClassReloaderTests JavaClassReloaderTests stx:libjava 'Languages-Java-Tests-ClassReloading' 1
JavaCodeLibraryOrBundle JavaCodeLibraryOrBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCompilerForSmalltalkExtensionsOnly JavaCompilerForSmalltalkExtensionsOnly stx:libjava 'Languages-Java-Support-Compiling' 0
JavaCompiler_Eclipse JavaCompiler_Eclipse stx:libjava 'Languages-Java-Tools-Eclipse' 0
@@ -33,47 +28,33 @@
JavaDescriptor JavaDescriptor stx:libjava 'Languages-Java-Support' 0
JavaError JavaError stx:libjava 'Languages-Java-Support' 1
JavaExceptionTable JavaExceptionTable stx:libjava 'Languages-Java-Support' 0
-JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 1
JavaField JavaField stx:libjava 'Languages-Java-Reader-Support' 0
JavaFinalizationRegistry JavaFinalizationRegistry stx:libjava 'Languages-Java-Support' 0
-JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 1
-JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 1
JavaInnerClasses JavaInnerClasses stx:libjava 'Languages-Java-Support' 0
-JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 1
JavaLanguage JavaLanguage stx:libjava 'Languages-Java-Support' 1
JavaLibraries JavaLibraries stx:libjava 'Languages-Java-Support' 0
-JavaLibrariesResource JavaLibrariesResource stx:libjava 'Languages-Java-Tests' 1
JavaLocalVariableTable JavaLocalVariableTable stx:libjava 'Languages-Java-Support' 0
JavaLocalVariableTableEntry JavaLocalVariableTableEntry stx:libjava 'Languages-Java-Support' 0
JavaLookup JavaLookup stx:libjava 'Languages-Java-Interop' 0
-JavaLookupResolutionAlgorithmTests JavaLookupResolutionAlgorithmTests stx:libjava 'Languages-Java-Tests-Interop' 1
-JavaLookupTests JavaLookupTests stx:libjava 'Languages-Java-Tests-Interop' 1
JavaMetaclass JavaMetaclass stx:libjava 'Languages-Java-Classes' 0
JavaMonitor JavaMonitor stx:libjava 'Languages-Java-Support' 0
-JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
JavaNameAndType2 JavaNameAndType2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaNativeMemory JavaNativeMemory stx:libjava 'Languages-Java-Support' 0
-JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
JavaNioSupport JavaNioSupport stx:libjava 'Languages-Java-Support-Native' 0
JavaObject JavaObject stx:libjava 'Languages-Java-Classes' 0
JavaObjectDictionary JavaObjectDictionary stx:libjava 'Languages-Java-Support' 0
JavaPopUpView JavaPopUpView stx:libjava 'Languages-Java-Views-Support' 2
JavaProcess JavaProcess stx:libjava 'Languages-Java-Classes' 0
JavaRef2 JavaRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 1
-JavaReleaseTests JavaReleaseTests stx:libjava 'Languages-Java-Tests' 1
JavaResolver JavaResolver stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaShort JavaShort stx:libjava 'Languages-Java-Support' 0
JavaSlotIndexCache JavaSlotIndexCache stx:libjava 'Languages-Java-Support' 0
JavaSocket JavaSocket stx:libjava 'Languages-Java-Support' 0
JavaSourceCodeCache JavaSourceCodeCache stx:libjava 'Languages-Java-Support' 1
JavaSourceFileWriter JavaSourceFileWriter stx:libjava 'Languages-Java-Support' 0
-JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaTestsLoader JavaTestsLoader stx:libjava 'Languages-Java-Tests' 0
-JavaThreadingTests JavaThreadingTests stx:libjava 'Languages-Java-Tests' 1
JavaTopView JavaTopView stx:libjava 'Languages-Java-Views-Support' 2
-JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
JavaUnresolvedCompilationError JavaUnresolvedCompilationError stx:libjava 'Languages-Java-Support' 1
JavaUnresolvedConstant JavaUnresolvedConstant stx:libjava 'Languages-Java-Reader-Support' 0
JavaUtilities JavaUtilities stx:libjava 'Languages-Java-Utilities' 0
@@ -89,7 +70,6 @@
SmalltalkAppletStub SmalltalkAppletStub stx:libjava 'Languages-Java-Views-Support' 0
stx_libjava stx_libjava stx:libjava '* Projects & Packages *' 3
GroovyMetaclass GroovyMetaclass stx:libjava 'Languages-Groovy-Classes' 0
-JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
Java Java stx:libjava 'Languages-Java-Support' 0
JavaAnnotationArrayValue JavaAnnotationArrayValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaAnnotationClassValue JavaAnnotationClassValue stx:libjava 'Languages-Java-Reader-Support' 0
@@ -98,15 +78,12 @@
JavaAnnotationPrimitiveValue JavaAnnotationPrimitiveValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaBehavior JavaBehavior stx:libjava 'Languages-Java-Classes' 0
JavaByteCodeDisassembler JavaByteCodeDisassembler stx:libjava 'Languages-Java-Bytecode' 0
-JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
JavaByteCodeEnumerator JavaByteCodeEnumerator stx:libjava 'Languages-Java-Support-Decompiling' 0
JavaByteCodeProcessorAdapter JavaByteCodeProcessorAdapter stx:libjava 'Languages-Java-Bytecode' 0
JavaClassAnnotationContainer JavaClassAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaClassMemberRef2 JavaClassMemberRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaClassReader JavaClassReader stx:libjava 'Languages-Java-Support' 0
-JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRef2 JavaClassRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRegistry JavaClassRegistry stx:libjava 'Languages-Java-Support' 0
JavaCodeBundle JavaCodeBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCodeLibrary JavaCodeLibrary stx:libjava 'Languages-Java-Support-Libraries' 0
@@ -114,22 +91,16 @@
JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
-JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
-JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaInvalidRefError JavaInvalidRefError stx:libjava 'Languages-Java-Support' 1
JavaInvokeDynamic2 JavaInvokeDynamic2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaMethod JavaMethod stx:libjava 'Languages-Java-Classes' 0
JavaMethodAnnotationContainer JavaMethodAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaMethodDescriptor JavaMethodDescriptor stx:libjava 'Languages-Java-Support' 0
JavaMethodHandle2 JavaMethodHandle2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaMethodType2 JavaMethodType2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-Java 6' 0
-JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
-JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaStringRef2 JavaStringRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
JavaUnhandledExceptionError JavaUnhandledExceptionError stx:libjava 'Languages-Java-Support' 1
JavaUnhandledThreadDeathError JavaUnhandledThreadDeathError stx:libjava 'Languages-Java-Support' 1
JavaUnresolvedClassConstant JavaUnresolvedClassConstant stx:libjava 'Languages-Java-Reader-Support' 0
@@ -139,7 +110,6 @@
ProxyMethodGuardNode ProxyMethodGuardNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodInvocationNode ProxyMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodJavaFieldAccessor ProxyMethodJavaFieldAccessor stx:libjava 'Languages-Java-Interop' 0
-TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaAlienMirror JavaAlienMirror stx:libjava 'Languages-Java-Classes' 0
JavaArrayMirror JavaArrayMirror stx:libjava 'Languages-Java-Classes' 0
JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
@@ -169,3 +139,33 @@
ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
JavaNativeMethod JavaNativeMethod stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OracleJDK8 JavaNativeMethodImpl_OracleJDK8 stx:libjava 'Languages-Java-Support-Java 8' 0
+GroovyEvaluatorTests GroovyEvaluatorTests stx:libjava 'Languages-Groovy-Tests' 1
+JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
+JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
+JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
+JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
+JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassReloaderTests JavaClassReloaderTests stx:libjava 'Languages-Java-Tests-ClassReloading' 1
+JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 1
+JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 1
+JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 1
+JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 1
+JavaLibrariesResource JavaLibrariesResource stx:libjava 'Languages-Java-Tests' 1
+JavaLookupResolutionAlgorithmTests JavaLookupResolutionAlgorithmTests stx:libjava 'Languages-Java-Tests-Interop' 1
+JavaLookupTests JavaLookupTests stx:libjava 'Languages-Java-Tests-Interop' 1
+JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
+JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
+JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaReleaseTests JavaReleaseTests stx:libjava 'Languages-Java-Tests' 1
+JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
+JavaThreadingTests JavaThreadingTests stx:libjava 'Languages-Java-Tests' 1
+JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
+TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
--- a/bc.mak Tue Mar 17 20:56:13 2015 +0000
+++ b/bc.mak Thu Mar 19 17:27:21 2015 +0000
@@ -59,18 +59,18 @@
+java_clean:
+ ant -f java\build.xml clean
+
+clean:: java_clean
+
+
java_compile:
ant -f java\build.xml compile
ALL:: java_compile
-java_clean:
- ant -f java\build.xml clean
-
-clean:: java_clean
-
-
$(ZLIB):
cd $(ZLIB_DIR)
$(MAKE) $(MAKE_ZLIB_ARG) $(ZLIB)
--- a/stx_libjava.st Tue Mar 17 20:56:13 2015 +0000
+++ b/stx_libjava.st Thu Mar 19 17:27:21 2015 +0000
@@ -145,7 +145,10 @@
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.
+ We do not need these packages as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."
@@ -262,7 +265,6 @@
"<className> or (<className> attributes...) in load order"
GroovyCompiler
GroovyEvaluator
- (GroovyEvaluatorTests autoload)
GroovyLanguage
GroovySourceFileWriter
JavaAnnotation
@@ -270,18 +272,14 @@
JavaAnnotationDefault
JavaAnnotationDictionary
JavaAnnotationValue
- (JavaAntProjectResource autoload)
JavaArray
JavaBooleanArray
JavaByte
JavaByteCodeProcessor
- (JavaByteCodeProcessorTests autoload)
JavaClassAccessor
JavaClassEnvironment
- (JavaClassLoadingTests autoload)
JavaClassQuery
JavaClassReloader
- (JavaClassReloaderTests autoload)
JavaCodeLibraryOrBundle
JavaCompilerForSmalltalkExtensionsOnly
#'JavaCompiler_Eclipse'
@@ -292,47 +290,33 @@
JavaDescriptor
JavaError
JavaExceptionTable
- (JavaExceptionTests autoload)
JavaField
JavaFinalizationRegistry
- (JavaFreshlyInitializedResource autoload)
- (JavaInitializedResource autoload)
JavaInnerClasses
- (JavaJUnitTests autoload)
JavaLanguage
JavaLibraries
- (JavaLibrariesResource autoload)
JavaLocalVariableTable
JavaLocalVariableTableEntry
JavaLookup
- (JavaLookupResolutionAlgorithmTests autoload)
- (JavaLookupTests autoload)
JavaMetaclass
JavaMonitor
- (JavaMonitorsTests autoload)
JavaNameAndType2
JavaNativeMemory
- (JavaNativeMemoryTests autoload)
JavaNioSupport
JavaObject
JavaObjectDictionary
JavaPopUpView
JavaProcess
JavaRef2
- (JavaRefsAndConstantPoolTestCase autoload)
JavaRelease
- (JavaReleaseTests autoload)
JavaResolver
JavaShort
JavaSlotIndexCache
JavaSocket
JavaSourceCodeCache
JavaSourceFileWriter
- (JavaTestCaseProxy autoload)
JavaTestsLoader
- (JavaThreadingTests autoload)
JavaTopView
- (JavaUTF8Tests autoload)
JavaUnresolvedCompilationError
JavaUnresolvedConstant
JavaUtilities
@@ -348,7 +332,6 @@
SmalltalkAppletStub
#'stx_libjava'
GroovyMetaclass
- (JUnitTestCaseProxy autoload)
Java
JavaAnnotationArrayValue
JavaAnnotationClassValue
@@ -357,15 +340,12 @@
JavaAnnotationPrimitiveValue
JavaBehavior
JavaByteCodeDisassembler
- (JavaByteCodeDisassemblerTests autoload)
JavaByteCodeEnumerator
JavaByteCodeProcessorAdapter
JavaClassAnnotationContainer
JavaClassMemberRef2
JavaClassReader
- (JavaClassReaderTests autoload)
JavaClassRef2
- (JavaClassRefTests autoload)
JavaClassRegistry
JavaCodeBundle
JavaCodeLibrary
@@ -373,22 +353,16 @@
JavaFieldAnnotationContainer
JavaFieldDescriptor
JavaFieldDescriptorWithUnionType
- (JavaFieldRefTests autoload)
- (JavaInterfaceMethodRefTests autoload)
JavaInvalidRefError
JavaInvokeDynamic2
JavaMethod
JavaMethodAnnotationContainer
JavaMethodDescriptor
JavaMethodHandle2
- (JavaMethodRefTests autoload)
JavaMethodType2
JavaMirror
#'JavaNativeMethodImpl_OpenJDK6'
- (JavaRefMock autoload)
- (JavaRuntimeConstantPoolTests autoload)
JavaStringRef2
- (JavaTestsResource autoload)
JavaUnhandledExceptionError
JavaUnhandledThreadDeathError
JavaUnresolvedClassConstant
@@ -398,7 +372,6 @@
ProxyMethodGuardNode
ProxyMethodInvocationNode
ProxyMethodJavaFieldAccessor
- (TestletTestCaseProxy autoload)
JavaAlienMirror
JavaArrayMirror
JavaByteCodePreresolver
@@ -428,6 +401,36 @@
ProxyMethodJavaTypeCheckNode
JavaNativeMethod
#'JavaNativeMethodImpl_OracleJDK8'
+ (GroovyEvaluatorTests autoload)
+ (JUnitTestCaseProxy autoload)
+ (JavaAntProjectResource autoload)
+ (JavaByteCodeDisassemblerTests autoload)
+ (JavaByteCodeProcessorTests autoload)
+ (JavaClassLoadingTests autoload)
+ (JavaClassReaderTests autoload)
+ (JavaClassRefTests autoload)
+ (JavaClassReloaderTests autoload)
+ (JavaExceptionTests autoload)
+ (JavaFieldRefTests autoload)
+ (JavaFreshlyInitializedResource autoload)
+ (JavaInitializedResource autoload)
+ (JavaInterfaceMethodRefTests autoload)
+ (JavaJUnitTests autoload)
+ (JavaLibrariesResource autoload)
+ (JavaLookupResolutionAlgorithmTests autoload)
+ (JavaLookupTests autoload)
+ (JavaMethodRefTests autoload)
+ (JavaMonitorsTests autoload)
+ (JavaNativeMemoryTests autoload)
+ (JavaRefMock autoload)
+ (JavaRefsAndConstantPoolTestCase autoload)
+ (JavaReleaseTests autoload)
+ (JavaRuntimeConstantPoolTests autoload)
+ (JavaTestCaseProxy autoload)
+ (JavaTestsResource autoload)
+ (JavaThreadingTests autoload)
+ (JavaUTF8Tests autoload)
+ (TestletTestCaseProxy autoload)
)
!
--- a/tools/JavaCodeBundleEditor.st Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/JavaCodeBundleEditor.st Thu Mar 19 17:27:21 2015 +0000
@@ -1,5 +1,9 @@
+"{ Encoding: utf8 }"
+
"{ Package: 'stx:libjava/tools' }"
+"{ NameSpace: Smalltalk }"
+
ApplicationModel subclass:#JavaCodeBundleEditor
instanceVariableNames:'bundleHolder readonlyHolder bundleTree bundleTreeSelectionHolder'
classVariableNames:''
@@ -7,8 +11,15 @@
category:'Languages-Java-Tools'
!
-HierarchicalItem subclass:#Item
- instanceVariableNames:'libraryOrBundle'
+HierarchicalItem subclass:#BundleItem
+ instanceVariableNames:'bundle'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeBundleEditor
+!
+
+HierarchicalItem subclass:#LibraryItem
+ instanceVariableNames:'library warnings label'
classVariableNames:''
poolDictionaries:''
privateIn:JavaCodeBundleEditor
@@ -372,13 +383,15 @@
updateTree
self bundleTree root notNil ifTrue:[
- self bundleTree removeAll; root: nil.
+ (self bundleTree)
+ removeAll;
+ root:nil.
].
- self bundleTree root: (Item libraryOrBundle: self bundleHolder value parent: nil).
+ self bundleTree root:(BundleItem bundle:self bundleHolder value parent:nil).
self bundleTree root expand.
"Created: / 25-01-2013 / 21:40:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 22-02-2013 / 14:01:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified (format): / 19-03-2015 / 13:14:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaCodeBundleEditor methodsFor:'hooks'!
@@ -447,15 +460,19 @@
!
doEdit
- | bundleOrLibrary dialog name |
+ | bundleOrLibraryItem bundleOrLibrary dialog name |
- bundleOrLibrary := self bundleTreeSelectionHolder value.
- bundleOrLibrary isNil ifTrue:[ ^ self ].
- bundleOrLibrary := bundleOrLibrary libraryOrBundle.
+ bundleOrLibraryItem := self bundleTreeSelectionHolder value.
+ bundleOrLibraryItem isNil ifTrue:[ ^ self ].
+ bundleOrLibrary := bundleOrLibraryItem libraryOrBundle.
bundleOrLibrary isLibrary ifTrue:[
dialog := JavaCodeLibraryEditor new.
dialog library: bundleOrLibrary.
dialog open.
+ bundleOrLibrary isLibrary ifTrue:[
+ "/ To get rid ow warnings if fixed or revalidate
+ bundleOrLibraryItem updateWarnings.
+ ].
] ifFalse:[
name := Dialog request: (resources string: 'Enter new name') initialAnswer:bundleOrLibrary name.
name isNil ifTrue:[^self].
@@ -463,7 +480,7 @@
]
- "Modified: / 21-02-2013 / 23:41:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:27:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
doRemove
@@ -498,17 +515,15 @@
"Created: / 22-02-2013 / 15:36:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaCodeBundleEditor::Item class methodsFor:'instance creation'!
+!JavaCodeBundleEditor::BundleItem class methodsFor:'instance creation'!
-libraryOrBundle: model parent: parent
- ^self new
- libraryOrBundle: model;
- parent: parent
+bundle: bundle parent: parent
+ ^self new setBundle: bundle parent: parent
- "Created: / 25-01-2013 / 21:53:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 19-03-2015 / 13:04:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaCodeBundleEditor::Item methodsFor:'accessing'!
+!JavaCodeBundleEditor::BundleItem methodsFor:'accessing'!
icon
^nil
@@ -517,34 +532,24 @@
!
label
- ^libraryOrBundle displayString
+ ^bundle displayString
"Created: / 25-01-2013 / 21:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 15-04-2014 / 18:57:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
libraryOrBundle
- ^ libraryOrBundle
-!
+ ^ bundle
-libraryOrBundle:aJavaCodeLibraryOrBundle
- libraryOrBundle notNil ifTrue:[
- libraryOrBundle removeDependent: self
- ].
- libraryOrBundle := aJavaCodeLibraryOrBundle.
- libraryOrBundle notNil ifTrue:[
- libraryOrBundle addDependent: self
- ].
-
- "Modified: / 22-02-2013 / 15:19:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Created: / 19-03-2015 / 13:15:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaCodeBundleEditor::Item methodsFor:'change & update'!
+!JavaCodeBundleEditor::BundleItem methodsFor:'change & update'!
update:aspect with: parameter from:changedObject
"Invoked when an object that I depend upon sends a change notification."
- changedObject == libraryOrBundle ifTrue:[
+ changedObject == bundle ifTrue:[
self updateChildren.
^ self.
].
@@ -560,34 +565,128 @@
self children: self fetchChildren.
^self.
].
- libraryOrBundle isLibrary ifTrue:[ ^ self ].
+ bundle isLibrary ifTrue:[ ^ self ].
oldChildren := children copy.
newChildren := OrderedCollection new.
- libraryOrBundle libraries do:[:e|
+ bundle libraries do:[:each|
| item |
item := oldChildren
- detect:[:item|item libraryOrBundle == e]
- ifNone:[self class libraryOrBundle:e parent: self].
+ detect:[:item|item libraryOrBundle == each]
+ ifNone:[each isLibrary
+ ifTrue:[ JavaCodeBundleEditor::LibraryItem library:each parent: self]
+ ifFalse: [ JavaCodeBundleEditor::BundleItem bundle:each parent: self] ].
newChildren add: item.
].
self children: newChildren
"Created: / 22-02-2013 / 15:20:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:26:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-!JavaCodeBundleEditor::Item methodsFor:'protocol-accessing'!
+!JavaCodeBundleEditor::BundleItem methodsFor:'initialization'!
+
+setBundle: aJavaCodeBundle parent: aBundleItem
+ bundle := aJavaCodeBundle.
+ bundle addDependent: self.
+ parent := aBundleItem.
+
+ "Created: / 19-03-2015 / 13:05:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::BundleItem methodsFor:'protocol-accessing'!
fetchChildren
- ^libraryOrBundle isBundle ifTrue:[
- libraryOrBundle libraries collect:[:each|self class libraryOrBundle:each parent: self].
- ] ifFalse:[
- #()
+ ^ bundle libraries collect:[:each|
+ each isLibrary
+ ifTrue:[ JavaCodeBundleEditor::LibraryItem library:each parent: self]
+ ifFalse: [ JavaCodeBundleEditor::BundleItem bundle:each parent: self]
]
"Created: / 25-01-2013 / 21:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:26:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::LibraryItem class methodsFor:'instance creation'!
+
+library: model parent: parent
+ ^self new setLibrary: model parent: parent
+
+ "Created: / 19-03-2015 / 13:06:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::LibraryItem methodsFor:'accessing'!
+
+icon
+ ^nil
+
+ "Created: / 25-01-2013 / 21:51:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+label
+ | resources |
+
+ label isNil ifTrue:[
+ resources := self class classResources.
+ warnings isNil ifTrue:[ self updateWarnings ].
+
+ label := library name.
+ warnings isEmpty ifTrue:[
+ library sources isNil ifTrue:[
+ label := label , ((' (', (resources string: 'no sources') , ')') asText colorizeAllWith: Color gray)
+ ].
+ ] ifFalse:[
+ label := label , (' (', (warnings size == 1 ifTrue:[resources string: '1 warning'] ifFalse:[resources string: '%1 warnings' with: warnings size]) , ')').
+ label := label colorizeAllWith: Color red.
+ ].
+ ].
+ ^ label
+
+ "Created: / 25-01-2013 / 21:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:22:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+libraryOrBundle
+ ^ library
+
+ "Created: / 19-03-2015 / 13:15:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::LibraryItem methodsFor:'initialization'!
+
+setLibrary: aJavaCodeLibrary parent: aBundleItem
+ library := aJavaCodeLibrary.
+ parent := aBundleItem.
+
+ "Created: / 19-03-2015 / 13:06:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:20:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::LibraryItem methodsFor:'private'!
+
+updateWarnings
+
+ warnings := OrderedCollection new.
+ [
+ library validate
+ ] on: JavaCodeLibraryValidationWarning do:[:warning |
+ warnings add: warning.
+ warning proceed.
+ ].
+ label := nil.
+
+ "Created: / 19-03-2015 / 16:20:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeBundleEditor::LibraryItem methodsFor:'protocol-accessing'!
+
+fetchChildren
+ ^ #()
+
+ "Created: / 25-01-2013 / 21:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 13:07:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaCodeBundleEditor class methodsFor:'documentation'!
--- a/tools/JavaCodeLibraryEditor.st Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/JavaCodeLibraryEditor.st Thu Mar 19 17:27:21 2015 +0000
@@ -1,5 +1,9 @@
+"{ Encoding: utf8 }"
+
"{ Package: 'stx:libjava/tools' }"
+"{ NameSpace: Smalltalk }"
+
SimpleDialog subclass:#JavaCodeLibraryEditor
instanceVariableNames:'readonlyHolder library infoPanel nameHolder classesHolder
sourcesHolder acceptEnabledHolder nameIsDefault'
@@ -411,6 +415,7 @@
self validate
"Created: / 21-02-2013 / 19:06:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 16:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaCodeLibraryEditor methodsFor:'initialization'!
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/JavaCodeLibraryValidationWarning.st Thu Mar 19 17:27:21 2015 +0000
@@ -0,0 +1,261 @@
+"{ Encoding: utf8 }"
+
+"{ Package: 'stx:libjava/tools' }"
+
+"{ NameSpace: Smalltalk }"
+
+Warning subclass:#JavaCodeLibraryValidationWarning
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Languages-Java-Support-Libraries'
+!
+
+JavaCodeLibraryValidationWarning subclass:#ClassesArchiveInvalid
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#ClassesDontExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#ClassesNotSpecified
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#JavaDocArchiveInvalid
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#JavaDocDoesntExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#SourcesArchiveInvalid
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+JavaCodeLibraryValidationWarning subclass:#SourcesDontExist
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:JavaCodeLibraryValidationWarning
+!
+
+!JavaCodeLibraryValidationWarning class methodsFor:'documentation'!
+
+documentation
+"
+ A base superclass for JavaCodeLibrary validation warnings.
+ See documentation of my private sublcasses for different
+ kinds of warnings.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+ JavaCodeLibrary>>validate
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning class methodsFor:'accessing'!
+
+classesArchiveInvalid
+ ^ ClassesArchiveInvalid
+
+ "Created: / 19-03-2015 / 11:52:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+classesDontExist
+ ^ ClassesDontExist
+
+ "Created: / 19-03-2015 / 11:52:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+classesNotSpecified
+ ^ ClassesNotSpecified
+
+ "Created: / 19-03-2015 / 11:52:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+javaDoArchiveInvalid
+ ^ JavaDocArchiveInvalid
+
+ "Created: / 19-03-2015 / 11:54:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+javaDocDontExist
+ ^ JavaDocDoesntExist
+
+ "Created: / 19-03-2015 / 11:53:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sourcesArchiveInvalid
+ ^ SourcesArchiveInvalid
+
+ "Created: / 19-03-2015 / 11:52:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sourcesDontExist
+ ^ SourcesDontExist
+
+ "Created: / 19-03-2015 / 11:53:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeLibraryValidationWarning methodsFor:'accessing'!
+
+library
+ ^ parameter
+
+ "Created: / 19-03-2015 / 14:22:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaCodeLibraryValidationWarning::ClassesArchiveInvalid class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::ClassesDontExist class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::ClassesNotSpecified class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::JavaDocArchiveInvalid class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::JavaDocDoesntExist class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::SourcesArchiveInvalid class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaCodeLibraryValidationWarning::SourcesDontExist class methodsFor:'documentation'!
+
+documentation
+"
+ documentation to be added.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
--- a/tools/Make.proto Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/Make.proto Thu Mar 19 17:27:21 2015 +0000
@@ -169,6 +169,7 @@
$(OUTDIR)JavaAbstractSourceHighlighter.$(O) JavaAbstractSourceHighlighter.$(H): JavaAbstractSourceHighlighter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaCodeBundleEditor.$(O) JavaCodeBundleEditor.$(H): JavaCodeBundleEditor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libwidg2/HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibraryEditor.$(O) JavaCodeLibraryEditor.$(H): JavaCodeLibraryEditor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(INCLUDE_TOP)/stx/libview2/SimpleDialog.$(H) $(STCHDR)
+$(OUTDIR)JavaCodeLibraryValidationWarning.$(O) JavaCodeLibraryValidationWarning.$(H): JavaCodeLibraryValidationWarning.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/UserNotification.$(H) $(INCLUDE_TOP)/stx/libbasic/Warning.$(H) $(STCHDR)
$(OUTDIR)JavaCompiler.$(O) JavaCompiler.$(H): JavaCompiler.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaLintAnnotation.$(O) JavaLintAnnotation.$(H): JavaLintAnnotation.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaLintHighlighter.$(O) JavaLintHighlighter.$(H): JavaLintHighlighter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -189,7 +190,7 @@
$(OUTDIR)GroovyScanner.$(O) GroovyScanner.$(H): GroovyScanner.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScanner.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScannerBase.$(H) $(STCHDR)
$(OUTDIR)JavaLexicalHighlighter.$(O) JavaLexicalHighlighter.$(H): JavaLexicalHighlighter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaAbstractLexicalHighlighter.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaAbstractSourceHighlighter.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScanner.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScannerBase.$(H) $(STCHDR)
$(OUTDIR)GroovySourceHighlighter.$(O) GroovySourceHighlighter.$(H): GroovySourceHighlighter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/tools/GroovyScanner.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScanner.$(H) $(INCLUDE_TOP)/stx/libjava/tools/JavaScannerBase.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaObject.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/ConfigurableFeatures.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibrary.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibraryOrBundle.$(H) $(INCLUDE_TOP)/stx/libjava/JavaObject.$(H) $(INCLUDE_TOP)/stx/libtool/SystemBrowser.$(H) $(INCLUDE_TOP)/stx/libtool/Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)/stx/libview2/ApplicationModel.$(H) $(INCLUDE_TOP)/stx/libview2/Model.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
--- a/tools/Make.spec Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/Make.spec Thu Mar 19 17:27:21 2015 +0000
@@ -54,6 +54,7 @@
JavaAbstractSourceHighlighter \
JavaCodeBundleEditor \
JavaCodeLibraryEditor \
+ JavaCodeLibraryValidationWarning \
JavaCompiler \
JavaLintAnnotation \
JavaLintHighlighter \
@@ -82,6 +83,7 @@
$(OUTDIR_SLASH)JavaAbstractSourceHighlighter.$(O) \
$(OUTDIR_SLASH)JavaCodeBundleEditor.$(O) \
$(OUTDIR_SLASH)JavaCodeLibraryEditor.$(O) \
+ $(OUTDIR_SLASH)JavaCodeLibraryValidationWarning.$(O) \
$(OUTDIR_SLASH)JavaCompiler.$(O) \
$(OUTDIR_SLASH)JavaLintAnnotation.$(O) \
$(OUTDIR_SLASH)JavaLintHighlighter.$(O) \
--- a/tools/abbrev.stc Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/abbrev.stc Thu Mar 19 17:27:21 2015 +0000
@@ -4,6 +4,7 @@
JavaAbstractSourceHighlighter JavaAbstractSourceHighlighter stx:libjava/tools 'Languages-Java-Tools-Source' 0
JavaCodeBundleEditor JavaCodeBundleEditor stx:libjava/tools 'Languages-Java-Tools' 1
JavaCodeLibraryEditor JavaCodeLibraryEditor stx:libjava/tools 'Languages-Java-Tools' 1
+JavaCodeLibraryValidationWarning JavaCodeLibraryValidationWarning stx:libjava/tools 'Languages-Java-Support-Libraries' 1
JavaCompiler JavaCompiler stx:libjava/tools 'Languages-Java-Support-Compiling' 0
JavaCompilerTests JavaCompilerTests stx:libjava/tools 'Languages-Java-Tests-Compiling' 1
JavaLintAnnotation JavaLintAnnotation stx:libjava/tools 'Languages-Java-Tools-Editor-Lint' 0
--- a/tools/bc.mak Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/bc.mak Thu Mar 19 17:27:21 2015 +0000
@@ -67,18 +67,18 @@
+java_clean:
+ ant -f java\build.xml clean
+
+clean:: java_clean
+
+
java_compile:
ant -f java\build.xml compile
ALL:: java_compile
-java_clean:
- ant -f java\build.xml clean
-
-clean:: java_clean
-
-
@@ -94,6 +94,7 @@
$(OUTDIR)JavaAbstractSourceHighlighter.$(O) JavaAbstractSourceHighlighter.$(H): JavaAbstractSourceHighlighter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaCodeBundleEditor.$(O) JavaCodeBundleEditor.$(H): JavaCodeBundleEditor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libwidg2\HierarchicalItem.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibraryEditor.$(O) JavaCodeLibraryEditor.$(H): JavaCodeLibraryEditor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(INCLUDE_TOP)\stx\libview2\SimpleDialog.$(H) $(STCHDR)
+$(OUTDIR)JavaCodeLibraryValidationWarning.$(O) JavaCodeLibraryValidationWarning.$(H): JavaCodeLibraryValidationWarning.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\UserNotification.$(H) $(INCLUDE_TOP)\stx\libbasic\Warning.$(H) $(STCHDR)
$(OUTDIR)JavaCompiler.$(O) JavaCompiler.$(H): JavaCompiler.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaLintAnnotation.$(O) JavaLintAnnotation.$(H): JavaLintAnnotation.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaLintHighlighter.$(O) JavaLintHighlighter.$(H): JavaLintHighlighter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -114,7 +115,7 @@
$(OUTDIR)GroovyScanner.$(O) GroovyScanner.$(H): GroovyScanner.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScanner.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScannerBase.$(H) $(STCHDR)
$(OUTDIR)JavaLexicalHighlighter.$(O) JavaLexicalHighlighter.$(H): JavaLexicalHighlighter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaAbstractLexicalHighlighter.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaAbstractSourceHighlighter.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScanner.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScannerBase.$(H) $(STCHDR)
$(OUTDIR)GroovySourceHighlighter.$(O) GroovySourceHighlighter.$(H): GroovySourceHighlighter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\tools\GroovyScanner.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScanner.$(H) $(INCLUDE_TOP)\stx\libjava\tools\JavaScannerBase.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaObject.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\ConfigurableFeatures.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibrary.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibraryOrBundle.$(H) $(INCLUDE_TOP)\stx\libjava\JavaObject.$(H) $(INCLUDE_TOP)\stx\libtool\SystemBrowser.$(H) $(INCLUDE_TOP)\stx\libtool\Tools__NewSystemBrowser.$(H) $(INCLUDE_TOP)\stx\libview2\ApplicationModel.$(H) $(INCLUDE_TOP)\stx\libview2\Model.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
--- a/tools/extensions.st Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/extensions.st Thu Mar 19 17:27:21 2015 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"{ Package: 'stx:libjava/tools' }"!
!ConfigurableFeatures class methodsFor:'queries-features'!
@@ -34,6 +36,77 @@
"Created: / 18-02-2012 / 16:44:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!JavaCodeLibrary methodsFor:'validating'!
+
+validate
+ "Validate this Java library and raise validation warning for each
+ problem. A caller may give up upon first problem of proceed to collect
+ all warnings."
+
+ classes isNil ifTrue:[
+ JavaCodeLibraryValidationError classesNotSpecified newException
+ messageText: 'No classes specified';
+ parameter: self;
+ raiseRequest
+ ] ifFalse:[
+ | classesFile |
+
+ classesFile := classes asFilename.
+ classesFile exists ifTrue:[
+ (classesFile isRegularFile and:[(ZipArchive isZipArchive: classes) not]) ifTrue:[
+ JavaCodeLibraryValidationWarning classesArchiveInvalid newException
+ messageText: 'Classes archive is not a valid .jar / .zip archive: ', classes;
+ parameter: self;
+ raiseRequest
+ ]
+ ] ifFalse:[
+ JavaCodeLibraryValidationWarning classesDontExist newException
+ messageText: ('Classes doesn''t exist: ' , classes);
+ parameter: self;
+ raiseRequest
+ ].
+ ].
+ sources notNil ifTrue:[
+ | sourcesFile |
+
+ sourcesFile := sources asFilename.
+ sourcesFile exists ifTrue:[
+ (sourcesFile isRegularFile and:[(ZipArchive isZipArchive: sources) not]) ifTrue:[
+ JavaCodeLibraryValidationWarning sourcesArchiveInvalid newException
+ messageText: 'Sources archive is not a valid .jar / .zip archive: ' , sources;
+ parameter: self;
+ raiseRequest
+ ]
+ ] ifFalse:[
+ JavaCodeLibraryValidationWarning sourcesDontExist newException
+ messageText: ('Sources dont exist: ' , sources);
+ parameter: self;
+ raiseRequest
+ ].
+ ].
+ javadoc notNil ifTrue:[
+ | javadocFile |
+
+ javadocFile := javadoc asFilename.
+ javadocFile exists ifTrue:[
+ (javadocFile isRegularFile and:[(ZipArchive isZipArchive: sources) not]) ifTrue:[
+ JavaCodeLibraryValidationWarning sourcesArchiveInvalid newException
+ messageText: 'JavaDoc archive is not a valid .zip archive: ' , javadoc;
+ parameter: self;
+ raiseRequest
+ ]
+ ] ifFalse:[
+ JavaCodeLibraryValidationWarning sourcesDontExist newException
+ messageText: ('JavaDoc doesnt exist: ' , javadoc);
+ parameter: self;
+ raiseRequest
+ ].
+ ].
+
+ "Created: / 19-03-2015 / 11:58:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 19-03-2015 / 14:53:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaObject methodsFor:'inspecting'!
inspectorClass
--- a/tools/libInit.cc Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/libInit.cc Thu Mar 19 17:27:21 2015 +0000
@@ -30,6 +30,7 @@
_JavaAbstractSourceHighlighter_Init(pass,__pRT__,snd);
_JavaCodeBundleEditor_Init(pass,__pRT__,snd);
_JavaCodeLibraryEditor_Init(pass,__pRT__,snd);
+_JavaCodeLibraryValidationWarning_Init(pass,__pRT__,snd);
_JavaCompiler_Init(pass,__pRT__,snd);
_JavaLintAnnotation_Init(pass,__pRT__,snd);
_JavaLintHighlighter_Init(pass,__pRT__,snd);
--- a/tools/stx_libjava_tools.st Tue Mar 17 20:56:13 2015 +0000
+++ b/tools/stx_libjava_tools.st Thu Mar 19 17:27:21 2015 +0000
@@ -35,18 +35,21 @@
^ #(
#'stx:libbasic' "ConfigurableFeatures - extended"
- #'stx:libjava' "JavaObject - extended"
+ #'stx:libjava' "JavaCodeLibrary - extended"
#'stx:libtool' "AbstractSettingsApplication - superclass of JavaSettingsApplication"
#'stx:libview' "DisplaySurface - superclass of JavaListInspectorView"
#'stx:libview2' "ApplicationModel - extended"
- #'stx:libwidg2' "HierarchicalItem - superclass of JavaCodeBundleEditor::Item"
+ #'stx:libwidg2' "HierarchicalItem - superclass of JavaCodeBundleEditor::BundleItem"
)
!
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.
+ We do not need these packages as a prerequisite for compiling or loading,
+ however, a class from it may be referenced during execution and having it
+ unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
+ includes explicit checks for the package being present.
This method is generated automatically,
by searching all classes (and their packages) which are referenced by my classes."
@@ -79,6 +82,7 @@
JavaAbstractSourceHighlighter
JavaCodeBundleEditor
JavaCodeLibraryEditor
+ JavaCodeLibraryValidationWarning
JavaCompiler
(JavaCompilerTests autoload)
JavaLintAnnotation
@@ -112,6 +116,7 @@
#'Tools::NewSystemBrowser' classMenuNewGroovyClass
'ConfigurableFeatures class' hasGroovySupport
'ConfigurableFeatures class' hasJavaToolingSupport
+ JavaCodeLibrary validate
)
! !