Added support Java>>addToClassPath: & Java>>addToSourcePath:. Removed JavaPathElement. refactoring-javalibrary
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 16 Jan 2013 13:37:32 +0000
branchrefactoring-javalibrary
changeset 1953 1e42ad3fc322
parent 1951 4759acf61df0
child 1954 fbccddd35365
child 1955 e9e8cbd2cfb3
Added support Java>>addToClassPath: & Java>>addToSourcePath:. Removed JavaPathElement.
JUnitTestCaseProxy.st
Java.st
JavaClassReaderTests.st
JavaClassRefTests.st
JavaCodeLibrary.st
JavaExceptionTests.st
JavaFieldRefTests.st
JavaInterfaceMethodRefTests.st
JavaJUnitTests.st
JavaLibraries.st
JavaMethodRefTests.st
JavaNativeMemoryTests.st
JavaPathElement.st
JavaRefMock.st
JavaRootBundle.st
JavaRuntimeConstantPoolTests.st
JavaUTF8Tests.st
JavaVM.st
Make.proto
Make.spec
abbrev.stc
bc.mak
extensions.st
libInit.cc
libjava.rc
libs/Make.proto
libs/bc.mak
libs/bmake.bat
libs/libs.rc
libs/mingwmake.bat
libs/stx_libjava_libs.st
libs/vcmake.bat
stx_libjava.st
--- a/JUnitTestCaseProxy.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JUnitTestCaseProxy.st	Wed Jan 16 13:37:32 2013 +0000
@@ -181,8 +181,13 @@
 
 !JUnitTestCaseProxy class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
 
 JUnitTestCaseProxy initialize!
--- a/Java.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/Java.st	Wed Jan 16 13:37:32 2013 +0000
@@ -23,11 +23,12 @@
 Object subclass:#Java
 	instanceVariableNames:''
 	classVariableNames:'Classes UnresolvedClassRefs Release RootBundle ClassPath
-		ClassPathExt ExtensionsPath ExtensionsPathPackages CacheDirectory
-		JavaHome InternedStrings Java_lang_String Java_lang_Class
-		PrettyPrintStyle LastArgumentString Threads ExcludedClassPath
-		FailedToLoadClasses SourceCache SourceArchiveCache
-		JavaClassLoaderQuerySignal ClassLoaderQuerySignal ThreadsAccess'
+		SourcePath ClassPathExt ExtensionsPath ExtensionsPathPackages
+		CacheDirectory JavaHome InternedStrings Java_lang_String
+		Java_lang_Class PrettyPrintStyle LastArgumentString Threads
+		ExcludedClassPath FailedToLoadClasses SourceCache
+		SourceArchiveCache JavaClassLoaderQuerySignal
+		ClassLoaderQuerySignal ThreadsAccess'
 	poolDictionaries:''
 	category:'Languages-Java-Support'
 !
@@ -256,15 +257,16 @@
     JavaNativeMethod flushAllCachedNativeMethods.
     InternedStrings := Dictionary new.
     FailedToLoadClasses := nil.
-    ClassPath := UserPreferences current javaClassPath decodeAsLiteralArray asOrderedCollection.
     ClassPathExt := nil.
     ExcludedClassPath := OrderedCollection new.
     SourceCache := CacheDictionary new: 32.
     SourceArchiveCache := CacheDictionary new: 32.
-    SourceDirectories := UserPreferences current javaSourcePath decodeAsLiteralArray asOrderedCollection.
+
     Threads := IdentityDictionary new.
 
     RootBundle := JavaRootBundle new.
+    ClassPath := OrderedCollection new. "/ for ad-hoc packages
+    SourcePath := OrderedCollection new."/ for ad-hoc packages
 
     ThreadsAccess := RecursionLock forMutualExclusion.
     self initializeRelease. "lazy initialization of Release"
@@ -281,7 +283,7 @@
     "Created: / 03-10-2010 / 15:54:02 / Jan Kurs <kurs.jan@post.cz>"
     "Modified: / 15-10-2010 / 17:37:20 / Jan Kurs <kurs.jan@post.cz>"
     "Modified: / 09-12-2011 / 13:16:15 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified: / 15-01-2013 / 17:52:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:44:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initializePrettyPrintStyle
@@ -746,33 +748,18 @@
 !
 
 classPath
-    ^RootBundle classPath
-"/
-"/    ^ "for testing only"
-"/    "/Release classPath,
-"/    
-"/    {(packagePath / 'java' / 'libjava-projects' / 'Conversion' / 'bin') 
-"/        pathName.
-"/    (packagePath / 'java' / 'libjava-support' / 'bin') pathName} 
-"/            , ((packagePath / 'java' / 'libs') directoryContentsAsFilenames 
-"/                    select:[:f | f suffix = 'jar']
-"/                    thenCollect:[:f | f pathName]) 
-"/            , (ClassPath ? #()) , cp
-"/
-    "
-        Java classPath
-    "
+    ^ClassPath
 
     "Created: / 07-02-1997 / 19:23:45 / cg"
-    "Modified: / 15-01-2013 / 17:54:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:45:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 classPath:aCollectionOfPaths
-    "/self error: 'No longer supported'
+    ClassPath := aCollectionOfPaths
 
     "Created: / 07-02-1997 / 19:23:45 / cg"
     "Modified: / 17-09-1998 / 20:44:09 / cg"
-    "Modified: / 12-01-2013 / 16:14:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:44:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 classPathAsString
@@ -782,7 +769,7 @@
 !
 
 effectiveClassPath
-    ^self classPath
+    ^RootBundle classPath , self classPath
 
     "
     Java effectiveClassPath
@@ -790,7 +777,7 @@
 
     "Created: / 22-11-2010 / 13:03:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 17-01-2011 / 09:44:16 / kursjan <kursjan@fit.cvut.cz>"
-    "Modified: / 12-01-2013 / 16:24:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:45:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 effectiveExtensionsPath
@@ -809,13 +796,13 @@
 !
 
 effectiveSourceDirectories
-    ^self sourceDirectories
+    ^RootBundle sourcePath , SourcePath
     "
         Java effectiveSourceDirectories 
     "
 
     "Created: / 30-11-2010 / 11:53:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 12-01-2013 / 16:26:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:46:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 excludedClassPath
@@ -857,28 +844,81 @@
 !
 
 sourcePath
-    RootBundle sourcePath
+    ^SourcePath
 
     "Created: / 16-01-1998 / 13:26:55 / cg"
-    "Modified: / 15-01-2013 / 17:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:45:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Java class methodsFor:'paths-adding & removing'!
 
 addToClassPath:pathOrCollection 
-    ^self addToClassPath:pathOrCollection origin: JavaPathElement originUser
+    ^ self addToPath:ClassPath path:pathOrCollection
 
     "Created: / 01-08-1997 / 21:10:07 / cg"
     "Modified: / 17-09-1998 / 20:43:55 / cg"
-    "Modified: / 27-07-2012 / 12:06:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 14-12-2011 / 00:04:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addToPath:cp filesMatching:pattern in:path 
+    |dir|
+
+    dir := path asFilename.
+    dir exists ifFalse:[ ^ self ].
+    dir directoryContents do:[:fname | 
+        (fname matches:pattern) ifTrue:[
+            |p|
+
+            p := (dir / fname) pathName.
+            (cp includes:p) ifFalse:[
+                cp add:p.
+                cp == ClassPath ifTrue:[
+                    self addToClassPathInRuntime:p.
+                ].
+                FailedToLoadClasses := nil
+            ]
+        ]
+    ].
+
+    "Created: / 14-12-2011 / 00:04:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+addToPath:cp path:pathOrCollection 
+    |path|
+
+    (pathOrCollection isSequenceable and:[pathOrCollection isCharacters not]) ifTrue:[
+        pathOrCollection do:[:each | 
+            self addToPath:cp path:each
+        ].
+        ^ self.
+    ].
+    path := pathOrCollection asFilename.
+    (pathOrCollection asString includes:$*) ifTrue:[
+        self 
+            addToPath:cp
+            filesMatching:path baseName
+            in:path directoryName.
+    ] ifFalse:[
+        (ClassPath includes:pathOrCollection asString) ifFalse:[
+            cp add:pathOrCollection asString.
+            cp == ClassPath ifTrue:[
+                self addToClassPathInRuntime:pathOrCollection.
+            ].
+            FailedToLoadClasses := nil
+        ]
+    ]
+
+    "Created: / 01-08-1997 / 21:10:07 / cg"
+    "Modified: / 17-09-1998 / 20:43:55 / cg"
+    "Created: / 14-12-2011 / 00:03:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addToSourcePath:pathOrCollection
 
-    self addToSourcePath:pathOrCollection origin: JavaPathElement originUser
+    self addToPath: SourceDirectories path: pathOrCollection
 
     "Created: / 02-08-1997 / 14:12:31 / cg"
-    "Modified: / 27-07-2012 / 12:02:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 14-12-2011 / 00:08:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 removeFromClassPath:aPath
@@ -901,24 +941,6 @@
 
 !Java class methodsFor:'paths-utils'!
 
-addToClassPath:pathOrCollection name: name 
-    ^self addToClassPath:pathOrCollection name: name origin: JavaPathElement originUser
-
-    "Created: / 22-08-2012 / 06:25:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToClassPath:pathOrCollection name: name origin: origin
-    ^ self addToPath:ClassPath path:pathOrCollection origin: origin name: name
-
-    "Created: / 22-08-2012 / 06:27:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToClassPath:pathOrCollection origin: origin
-    ^ self addToPath:ClassPath path:pathOrCollection origin: origin
-
-    "Created: / 27-07-2012 / 12:05:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 addToClassPathInRuntime: aPath 
     | path  file  url  scl |
 
@@ -939,136 +961,6 @@
     "Created: / 07-08-2011 / 14:01:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-addToPath:cp filesMatching:pattern in:path origin: origin name: namePrefix
-    |dir|
-
-    dir := path asFilename.
-    dir exists ifFalse:[ ^ self ].
-    dir directoryContents do:[:fname | 
-        (fname matches:pattern) ifTrue:[
-            | f p nm |
-
-            p := (f := dir / fname) pathName.
-            namePrefix notNil ifTrue:[
-                nm := namePrefix , ' - ' , f baseName
-            ] ifFalse:[
-                nm := f baseName.
-            ].
-            self addToPath: cp pathElement:(JavaPathElement new: p origin: origin name: nm).
-        ]
-    ].
-
-    "Created: / 22-08-2012 / 06:33:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToPath:cp path:pathOrCollection origin: origin 
-    ^self addToPath:cp path:pathOrCollection origin: origin name: nil
-
-    "Created: / 27-07-2012 / 12:04:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToPath:cp path:pathOrCollection origin: origin name: name
-    |path|
-
-    (pathOrCollection isSequenceable and:[pathOrCollection isCharacters not]) ifTrue:[
-        pathOrCollection do:[:each | 
-            | nm |
-
-            nm := name.
-            (name notNil and:[(name includesAny: '?*') not]) ifTrue:[
-                    nm := name , ' - ' , each asFilename baseName.
-            ].
-            self addToPath:cp path: each origin: origin name: nm.
-        ].
-        ^ self.
-    ].
-    path := pathOrCollection asFilename.
-    (pathOrCollection asString includes:$*) ifTrue:[
-        "Glob-style pattern, expand..."
-        self 
-            addToPath:cp
-            filesMatching:path baseName
-            in:path directoryName
-            origin: origin
-            name: name.
-    ] ifFalse:[ 
-        "Single path"    
-        self addToPath: cp pathElement:(JavaPathElement new: pathOrCollection asString origin: origin name: name).
-
-    ]
-
-    "Created: / 10-08-2012 / 19:06:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToPath:cp pathElement: element
-    (cp contains:[:each|each pathName = element pathName]) ifFalse:[
-        cp add: element.
-        cp == ClassPath ifTrue:[
-            self addToClassPathInRuntime:element pathName.
-            FailedToLoadClasses := nil.
-            UserPreferences current javaClassPath: (cp literalArrayEncoding)
-        ] ifFalse:[
-            cp == SourceDirectories ifTrue:[
-                UserPreferences current javaSourcePath: (cp literalArrayEncoding)
-            ]
-        ].
-    ].
-
-    "Created: / 27-07-2012 / 12:39:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToSourcePath:pathOrCollection name: name
-
-    self addToSourcePath:pathOrCollection origin: JavaPathElement originUser name: name
-
-    "Created: / 22-08-2012 / 06:27:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToSourcePath:pathOrCollection origin: origin
-    self addToPath: SourceDirectories path: pathOrCollection origin: origin
-
-    "Created: / 27-07-2012 / 11:49:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-addToSourcePath:pathOrCollection origin: origin name: name
-    self addToPath: SourceDirectories path: pathOrCollection origin: origin name: name
-
-    "Created: / 22-08-2012 / 06:27:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-classPathFromEnvironment
-
-    | classpath |
-
-    classpath := OperatingSystem getEnvironment:'CLASSPATH'.
-    classpath isEmptyOrNil ifTrue:[ ^ #() ].
-    ^(classpath
-        tokensBasedOn:OperatingSystem pathSeparator)
-        collect:[:path| JavaPathElement newFromEnvironment: path]
-
-    "Modified: / 27-07-2012 / 12:27:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-classPathFromPackages
-
-    ClassPathPackages isNil ifTrue:[
-        ClassPathPackages := OrderedCollection new.
-        ProjectDefinition allSubclassesDo:[:pkg|
-            self addToPath: ClassPathPackages path: pkg javaClassPath origin: JavaPathElement originPackage name: pkg package
-        ].
-    ].
-    ^ClassPathPackages
-
-
-    "
-        Java classPathFromPackages
-        Java addToClassPath: Java classPathFromPackages
-    "
-
-    "Created: / 07-02-1997 / 19:23:45 / cg"
-    "Created: / 13-12-2011 / 23:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 classPathInRuntime: classPath 
     "Sets the classpath in already booted/running Java environment"
 
@@ -1145,25 +1037,6 @@
     "
 
 
-!
-
-sourcePathFromPackages
-
-    SourceDirectoriesPackages isNil ifTrue:[
-        SourceDirectoriesPackages := OrderedCollection new.
-        ProjectDefinition allSubclassesDo:[:pkg|
-            self addToPath: SourceDirectoriesPackages path: pkg javaSourcePath origin: JavaPathElement originPackage name: pkg package
-        ].
-    ].
-    ^SourceDirectoriesPackages.
-
-
-    "
-        Java sourcePathFromPackages
-    "
-
-    "Created: / 07-02-1997 / 19:23:45 / cg"
-    "Created: / 14-12-2011 / 19:59:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Java class methodsFor:'queries'!
@@ -1532,7 +1405,7 @@
 !
 
 sourceDirectories
-    RootBundle sourcePath
+    ^self sourcePath
 "/
 "/    ^ "for testing only"
 "/    "/Release classPath,
@@ -1549,7 +1422,7 @@
         Java classPath
     "
 
-    "Modified: / 15-01-2013 / 17:54:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:46:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !Java class methodsFor:'starting apps'!
--- a/JavaClassReaderTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaClassReaderTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -235,6 +235,11 @@
 
 !JavaClassReaderTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaClassRefTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaClassRefTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -312,6 +312,11 @@
 
 !JavaClassRefTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaCodeLibrary.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaCodeLibrary.st	Wed Jan 16 13:37:32 2013 +0000
@@ -111,11 +111,12 @@
 sourcePathOn:aStream
     "superclass JavaCodeLibraryOrBundle says that I am responsible to implement this method"
 
-    sources asFilename isReadable ifTrue:[
+    (sources notNil and:[sources asFilename isReadable]) ifTrue:[
         aStream nextPut: sources.
     ].
 
     "Created: / 12-01-2013 / 16:24:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:12:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaCodeLibrary class methodsFor:'documentation'!
--- a/JavaExceptionTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaExceptionTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -65,6 +65,7 @@
     "Created: / 30-03-2012 / 13:38:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+
 !JavaExceptionTests methodsFor:'callbacks'!
 
 call: trhower with: aBoolean 
@@ -299,6 +300,11 @@
 
 !JavaExceptionTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaFieldRefTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaFieldRefTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -449,6 +449,11 @@
 
 !JavaFieldRefTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaInterfaceMethodRefTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaInterfaceMethodRefTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -193,6 +193,11 @@
 
 !JavaInterfaceMethodRefTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaJUnitTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaJUnitTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -131,6 +131,11 @@
 
 !JavaJUnitTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaLibraries.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaLibraries.st	Wed Jan 16 13:37:32 2013 +0000
@@ -90,12 +90,12 @@
 
     (dir := self directory / 'libs') exists ifFalse: [ self update ].
     dir recursiveDirectoryContentsAsFilenames do: [ :file | 
-        file suffix = 'jar' ifTrue: [ Java addToClassPath: file pathName name: 'stx:libjava - libraries - ' , file baseName ]
+        file suffix = 'jar' ifTrue: [ Java addToClassPath: file pathName ]
     ].
 
     (dir := self directory / 'libs-src') exists ifTrue:[
         dir recursiveDirectoryContentsAsFilenames do: [ :file | 
-            file suffix = 'jar' ifTrue: [ Java addToSourcePath: file pathName name: 'stx:libjava - libraries - ' , file baseName ]
+            file suffix = 'jar' ifTrue: [ Java addToSourcePath: file pathName ]
         ]
     ].
 
@@ -108,7 +108,7 @@
 
     "Created: / 02-09-2011 / 09:24:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 03-11-2011 / 12:51:00 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified: / 22-08-2012 / 06:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 addToClassPath: jarname
@@ -119,7 +119,7 @@
         ifFalse:[self update].
 
     (jar := dir / jarname) exists ifTrue: [
-        Java addToClassPath: jar pathName name: 'stx:libjava libraries'
+        Java addToClassPath: jar pathName
     ] ifFalse:[
         self error:'Library ' , jarname , ' not found in ', dir pathName
     ].
@@ -130,6 +130,7 @@
     "
 
     "Created: / 08-04-2011 / 16:49:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:09:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 flush
--- a/JavaMethodRefTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaMethodRefTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -425,6 +425,11 @@
 
 !JavaMethodRefTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaNativeMemoryTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaNativeMemoryTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -161,6 +161,11 @@
 
 !JavaNativeMemoryTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id::                                                                                                                        $'
+    ^ '§Id::                                                                                                                        §'
 ! !
--- a/JavaPathElement.st	Tue Jan 15 18:12:48 2013 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-"
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
-
- 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
-
- This software is furnished under a license and may be used
- only in accordance with the terms of that license and with the
- inclusion of the above copyright notice.   This software may not
- be provided or otherwise made available to, or used by, any
- other person.  No title to or ownership of the software is
- hereby transferred.
-
- [1] Code written at SWING Research Group contains a signature
-     of one of the above copright owners. For exact set of such code,
-     see the differences between this version and version stx:libjava
-     as of 1.9.2010
-"
-"{ Package: 'stx:libjava' }"
-
-Object subclass:#JavaPathElement
-	instanceVariableNames:'name pathName enabled origin'
-	classVariableNames:'OriginRelease OriginEnvironment OriginPackage OriginUser'
-	poolDictionaries:''
-	category:'Languages-Java-Support'
-!
-
-!JavaPathElement class methodsFor:'documentation'!
-
-copyright
-"
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
-
- 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
-
- This software is furnished under a license and may be used
- only in accordance with the terms of that license and with the
- inclusion of the above copyright notice.   This software may not
- be provided or otherwise made available to, or used by, any
- other person.  No title to or ownership of the software is
- hereby transferred.
-
- [1] Code written at SWING Research Group contains a signature
-     of one of the above copright owners. For exact set of such code,
-     see the differences between this version and version stx:libjava
-     as of 1.9.2010
-
-"
-!
-
-documentation
-"
-    JavaPathElement represents a single element in 'java paths' (Java classPath and
-    Java sourcePath). The aim is to support easy configuration of libjava and storing
-    paths in preferences.
-
-    [author:]
-        Jan Vrany <jan.vrany@fit.cvut.cz>
-
-    [instance variables:]
-        name ...... human-readable name of the entry - displayed by the UI
-        pathName .. path to the file/directory the element represents
-        enable .... whether the elements should be used or not (allows for
-                    keeping path elements in prefs but not using them)
-        origin .... one of #jdk #package or #user
-                    #release... this element is part of java release (such as rt.jar)
-                    #env ...... this element comes from environment (CLASSPATH)
-                    #package .. this element was defined by some smalltalk package
-                                that uses libjava (see ProjectDefinition>>javaClassPath/javaSourcePath)
-                    #user ..... user-defined element (only thise are stored in preferences
-
-    [class variables:]
-
-    [see also:]
-
-"
-! !
-
-!JavaPathElement class methodsFor:'initialization'!
-
-initialize
-    "Invoked at system start or when the class is dynamically loaded."
-
-    "/ please change as required (and remove this comment)
-
-    OriginRelease := #release.
-    OriginEnvironment := #environment.
-    OriginPackage := #package.
-    OriginUser := #user.
-
-    "Modified: / 27-07-2012 / 11:51:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement class methodsFor:'accessing-constants'!
-
-originEnvironment
-    ^OriginEnvironment
-
-    "Created: / 27-07-2012 / 11:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-originPackage
-    ^OriginPackage
-
-    "Created: / 27-07-2012 / 11:51:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-originRelease
-    ^OriginRelease
-
-    "Created: / 27-07-2012 / 11:51:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-originUser
-    ^OriginUser
-
-    "Created: / 27-07-2012 / 11:51:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement class methodsFor:'instance'!
-
-new: pathName
-    ^self new: pathName origin: OriginUser
-
-    "Created: / 27-07-2012 / 11:42:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-new: pathName origin: origin
-    ^self new
-        pathName: pathName;
-        origin: origin;
-        yourself
-
-    "Created: / 27-07-2012 / 11:42:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-new: pathName origin: origin name: name
-    ^self new
-        pathName: pathName;
-        origin: origin;
-        name: name;
-        yourself
-
-    "Created: / 10-08-2012 / 19:07:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-newFromEnvironment: pathName
-    ^self new: pathName origin: OriginEnvironment
-
-    "Created: / 27-07-2012 / 11:43:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-newFromPackage: pathName
-    ^self new: pathName origin: OriginPackage
-
-    "Created: / 27-07-2012 / 11:44:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-newFromRelease:pathName 
-    ^ self new:pathName origin: OriginRelease
-
-    "Created: / 27-07-2012 / 11:43:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-newFromUser: pathName
-    ^self new: pathName origin: OriginUser
-
-    "Created: / 27-07-2012 / 11:43:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement methodsFor:'accessing'!
-
-enabled
-    ^ enabled ? true "/ enabled by default
-
-    "Modified (comment): / 27-07-2012 / 11:26:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-enabled:aBoolean
-    enabled := aBoolean.
-!
-
-name
-    ^ name notNil ifTrue:[name] ifFalse:[self nameDefault]
-
-    "Modified: / 10-08-2012 / 19:21:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-name:aString
-    name := aString.
-!
-
-nameDefault
-    ^ pathName ? '???'
-"/    pathName isNil ifTrue:[ ^ '???' ].
-"/    ^ pathName asFilename baseName
-
-    "Created: / 10-08-2012 / 19:02:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-nameOrNil
-    ^ name
-
-    "Created: / 13-08-2012 / 22:50:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-origin
-    ^ origin
-!
-
-origin: newOrigin
-    self assert: origin isNil description: 'Trying to set origin twice'.
-    self assert: (newOrigin == OriginRelease
-                    or:[newOrigin == OriginEnvironment
-                    or:[newOrigin == OriginPackage
-                    or:[newOrigin == OriginUser]]]) description:'Unknown/Unssuported path element origin ' , newOrigin printString.
-
-    origin := newOrigin.
-
-    "Modified: / 27-07-2012 / 12:17:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-pathName
-    ^ pathName
-!
-
-pathName:aString
-"/    self assert: pathName isNil description: 'Trying to set pathName twice'.
-    pathName := aString.
-
-    "Modified: / 10-08-2012 / 19:14:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement methodsFor:'comparing'!
-
-= another
-
-    ^another class == self class
-        and:[self nameOrNil = another nameOrNil
-            and:[ pathName = another pathName
-                and:[self enabled = another enabled
-                    and:[origin = another origin]]]]
-
-    "Created: / 02-08-2012 / 09:50:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-hash
-    ^name hash bitXor:(pathName hash bitXor:(enabled hash bitXor: origin hash))
-
-    "Created: / 02-08-2012 / 09:49:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement methodsFor:'conversion'!
-
-asFilename
-    ^pathName asFilename
-
-    "Created: / 27-07-2012 / 11:26:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-asString
-    ^pathName
-
-    "Created: / 27-07-2012 / 11:27:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement methodsFor:'printing & storing'!
-
-printOn:aStream
-    "append a printed representation if the receiver to the argument, aStream"
-
-    self enabled ifTrue:[
-        aStream nextPutAll:'[X] '
-    ] ifFalse:[
-           aStream nextPutAll:'[ ] '
-    ].    
-    pathName printOn:aStream.
-    aStream space; nextPut:${.
-    origin printOn:aStream.
-    aStream nextPut:$}.
-
-    "Modified: / 27-07-2012 / 12:25:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!JavaPathElement class methodsFor:'documentation'!
-
-version_HG
-
-    ^ '$Changeset: <not expanded> $'
-!
-
-version_SVN
-    ^ '§Id::                                                                                                                        §'
-! !
-
-JavaPathElement initialize!
--- a/JavaRefMock.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaRefMock.st	Wed Jan 16 13:37:32 2013 +0000
@@ -100,6 +100,11 @@
 
 !JavaRefMock class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaRootBundle.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaRootBundle.st	Wed Jan 16 13:37:32 2013 +0000
@@ -21,7 +21,7 @@
 "{ Package: 'stx:libjava' }"
 
 JavaCodeBundle subclass:#JavaRootBundle
-	instanceVariableNames:'release environment packages user adhoc'
+	instanceVariableNames:'release environment packages user'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Languages-Java-Support-Libraries'
@@ -91,10 +91,10 @@
         environment.
         packages.
         user.
-        adhoc.
     }
 
     "Created: / 15-01-2013 / 17:50:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:42:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 name
@@ -134,9 +134,9 @@
     environment classPathOn: aStream.
     packages classPathOn: aStream.
     user classPathOn: aStream.
-    adhoc classPathOn: aStream.
 
     "Created: / 15-01-2013 / 17:51:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:42:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 sourcePathOn:aStream
@@ -146,9 +146,9 @@
     environment sourcePathOn: aStream.
     packages sourcePathOn: aStream.
     user sourcePathOn: aStream.
-    adhoc sourcePathOn: aStream.
 
     "Created: / 15-01-2013 / 17:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 12:42:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaRootBundle methodsFor:'initialization'!
@@ -161,12 +161,12 @@
     environment := EnvironmentBundle new name:'CLASSPATH'.
     packages := PackagesBundle new name:'Package libraries'.
     user := JavaCodeBundle new name:'User libraries'.
-    adhoc := JavaCodeBundle new name:'Ad-hoc'.
 
 
     "/ super initialize.   -- commented since inherited method does nothing
 
     "Created: / 15-01-2013 / 17:49:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:29:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaRootBundle::EnvironmentBundle class methodsFor:'documentation'!
--- a/JavaRuntimeConstantPoolTests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaRuntimeConstantPoolTests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -126,6 +126,11 @@
 
 !JavaRuntimeConstantPoolTests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaUTF8Tests.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaUTF8Tests.st	Wed Jan 16 13:37:32 2013 +0000
@@ -138,6 +138,11 @@
 
 !JavaUTF8Tests class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id$'
+    ^ '§Id§'
 ! !
--- a/JavaVM.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/JavaVM.st	Wed Jan 16 13:37:32 2013 +0000
@@ -1988,6 +1988,8 @@
 
     "/>  jdk 6
 
+    ThreadInterrupts := Dictionary new.
+
     self initializeClassReader.
     self initializeOpenFileTable.
     self initializeReflection.
@@ -2000,7 +2002,7 @@
     StartupTime := OperatingSystem getOSTime.
     FinalizationLobby startFinalizationProcessAt: 5.
     PerfCounters := Performance for: self.
-    ThreadInterrupts := Dictionary new.
+
 
     JavaNativeMethod allInstancesDo:[:e|e nCallsReset ].
 
@@ -2013,7 +2015,7 @@
     "Modified: / 15-10-2010 / 15:27:45 / Jan Kurs <kurs.jan@post.cz>"
     "Modified: / 24-02-2012 / 13:59:29 / Marcel Hlopko <hlopik@gmail.com>"
     "Modified: / 24-02-2012 / 14:37:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified: / 06-09-2012 / 11:18:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:18:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initializeVMIfNoEventThreadRunning
@@ -2887,7 +2889,7 @@
     |s|
 
     s := '' writeStream.
-    Java classPath
+    Java effectiveClassPath
         do:[:p | s nextPutAll:p asString ]
         separatedBy: [s nextPut: OperatingSystem pathSeparator].
 
@@ -2898,7 +2900,7 @@
     "
 
     "Created: / 03-01-1998 / 14:27:21 / cg"
-    "Modified: / 27-07-2012 / 19:31:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-01-2013 / 13:15:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 defaultExtDirs
--- a/Make.proto	Tue Jan 15 18:12:48 2013 +0000
+++ b/Make.proto	Wed Jan 16 13:37:32 2013 +0000
@@ -206,7 +206,6 @@
 $(OUTDIR)JavaObject.$(O) JavaObject.$(H): JavaObject.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaObjectDictionary.$(O) JavaObjectDictionary.$(H): JavaObjectDictionary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaPackage.$(O) JavaPackage.$(H): JavaPackage.st $(INCLUDE_TOP)/stx/libbasic/NameSpace.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPathElement.$(O) JavaPathElement.$(H): JavaPathElement.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)/stx/libview/PopUpView.$(H) $(INCLUDE_TOP)/stx/libview/TopView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)/stx/libbasic/Process.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec	Tue Jan 15 18:12:48 2013 +0000
+++ b/Make.spec	Wed Jan 16 13:37:32 2013 +0000
@@ -164,7 +164,6 @@
 	GroovyMetaclass \
 	JavaNioSupport \
 	JavaFinalizationRegistry \
-	JavaPathElement \
 	JavaMirror \
 	JavaClassQuery \
 	JavaCodeLibraryOrBundle \
@@ -290,7 +289,6 @@
     $(OUTDIR)GroovyMetaclass.$(O) \
     $(OUTDIR)JavaNioSupport.$(O) \
     $(OUTDIR)JavaFinalizationRegistry.$(O) \
-    $(OUTDIR)JavaPathElement.$(O) \
     $(OUTDIR)JavaMirror.$(O) \
     $(OUTDIR)JavaClassQuery.$(O) \
     $(OUTDIR)JavaCodeLibraryOrBundle.$(O) \
--- a/abbrev.stc	Tue Jan 15 18:12:48 2013 +0000
+++ b/abbrev.stc	Wed Jan 16 13:37:32 2013 +0000
@@ -138,7 +138,6 @@
 JavaNioSupport JavaNioSupport stx:libjava 'Languages-Java-Support-Native' 0
 JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
 JavaFinalizationRegistry JavaFinalizationRegistry stx:libjava 'Languages-Java-Support' 0
-JavaPathElement JavaPathElement stx:libjava 'Languages-Java-Support' 0
 JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
 JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
 JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
--- a/bc.mak	Tue Jan 15 18:12:48 2013 +0000
+++ b/bc.mak	Wed Jan 16 13:37:32 2013 +0000
@@ -140,7 +140,6 @@
 $(OUTDIR)JavaObject.$(O) JavaObject.$(H): JavaObject.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaObjectDictionary.$(O) JavaObjectDictionary.$(H): JavaObjectDictionary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaPackage.$(O) JavaPackage.$(H): JavaPackage.st $(INCLUDE_TOP)\stx\libbasic\NameSpace.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPathElement.$(O) JavaPathElement.$(H): JavaPathElement.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)\stx\libview\PopUpView.$(H) $(INCLUDE_TOP)\stx\libview\TopView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)\stx\libbasic\Process.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/extensions.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/extensions.st	Wed Jan 16 13:37:32 2013 +0000
@@ -1735,64 +1735,6 @@
 
 !UserPreferences methodsFor:'accessing-java'!
 
-javaClassPath
-    "Return the Java user-defined class path encoded as literal array"
-
-    ^ self at:#javaClassPath ifAbsent:[#()].
-
-    "
-        UserPreferences current javaClassPath
-        UserPreferences current javaClassPath: #openJDK7
-
-        Java classPath
-    "
-
-    "Created: / 27-07-2012 / 12:52:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!UserPreferences methodsFor:'accessing-java'!
-
-javaClassPath: literalArrayEncoding
-    "Sets the Java user-defined class path as literalArrayEncoding of a collection
-     of JavaPathElements"
-
-    self at:#javaClassPath put: literalArrayEncoding.
-    (Java notNil and:[thisContext sender receiver == Java]) ifFalse:[
-        | classPath |
-        classPath := literalArrayEncoding decodeAsLiteralArray.
-        Java classPath: classPath.
-    ].
-
-
-    "
-        UserPreferences current javaClassPath
-        UserPreferences current javaClassPath: #openJDK7
-
-        Java classPath
-    "
-
-    "Created: / 27-07-2012 / 12:50:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!UserPreferences methodsFor:'accessing-java'!
-
-javaClassPathDecoded
-    "Return the Java user-defined class path (a collection of JavaPathElement)"
-
-    ^ self javaClassPath decodeAsLiteralArray
-
-    "
-        UserPreferences current javaClassPathDecoded
-        UserPreferences current javaClassPath
-
-        Java classPath
-    "
-
-    "Created: / 02-08-2012 / 09:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!UserPreferences methodsFor:'accessing-java'!
-
 javaRelease
     "Return the Java release according to the preferences
      or nil, if not set"
@@ -1849,64 +1791,6 @@
     "Created: / 27-07-2012 / 10:02:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!UserPreferences methodsFor:'accessing-java'!
-
-javaSourcePath
-    "Return the Java user-defined source path encoded as literal array"
-
-    ^ self at:#javaSourcePath ifAbsent:[#()].
-
-    "
-        UserPreferences current javaSourcePath
-        UserPreferences current javaSourcePath: #openJDK7
-
-        Java sourcePath
-    "
-
-    "Created: / 27-07-2012 / 12:54:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!UserPreferences methodsFor:'accessing-java'!
-
-javaSourcePath: literalArrayEncoding
-    "Sets the Java user-defined source path as literalArrayEncoding of a collection
-     of JavaPathElements"
-
-    self at:#javaSourcePath put: literalArrayEncoding.
-    (Java notNil and:[thisContext sender receiver == Java]) ifFalse:[
-        | classPath |
-        classPath := literalArrayEncoding decodeAsLiteralArray.
-        Java sourceDirectories: classPath.
-    ].
-
-
-    "
-        UserPreferences current javaClassPath
-        UserPreferences current javaClassPath: #openJDK7
-
-        Java sourceDirectories
-    "
-
-    "Created: / 27-07-2012 / 12:54:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
-!UserPreferences methodsFor:'accessing-java'!
-
-javaSourcePathDecoded
-    "Return the Java user-defined source path (a collection of JavaPathElement)"
-
-    ^ self javaSourcePath decodeAsLiteralArray
-
-    "
-        UserPreferences current javaSourcePathDecoded
-        UserPreferences current javaSourcePath
-
-        Java sourceDirectories
-    "
-
-    "Created: / 02-08-2012 / 09:44:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !UserPreferences methodsFor:'accessing-java-devel'!
 
 javaTestsDirectory
--- a/libInit.cc	Tue Jan 15 18:12:48 2013 +0000
+++ b/libInit.cc	Wed Jan 16 13:37:32 2013 +0000
@@ -70,7 +70,6 @@
 _JavaObject_Init(pass,__pRT__,snd);
 _JavaObjectDictionary_Init(pass,__pRT__,snd);
 _JavaPackage_Init(pass,__pRT__,snd);
-_JavaPathElement_Init(pass,__pRT__,snd);
 _JavaPopUpView_Init(pass,__pRT__,snd);
 _JavaProcess_Init(pass,__pRT__,snd);
 _JavaRef2_Init(pass,__pRT__,snd);
--- a/libjava.rc	Tue Jan 15 18:12:48 2013 +0000
+++ b/libjava.rc	Wed Jan 16 13:37:32 2013 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\n          SWING Research Group, Czech Technical University In Prague\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Tue, 15 Jan 2013 18:09:40 GMT\0"
+      VALUE "ProductDate", "Wed, 16 Jan 2013 13:35:24 GMT\0"
     END
 
   END
--- a/libs/Make.proto	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/Make.proto	Wed Jan 16 13:37:32 2013 +0000
@@ -69,12 +69,10 @@
 mvn:
 	(cd java && mvn package)
 
-.PHONY: mvn
 
 
 
-
-# Update SVN revision in stx_libbasic3.st
+# Update SVN revision in package definition class
 ifneq (,$(findstring .svn,$(wildcard .svn)))
 .svnversion: *.st
 	if [ -d .svn ]; then \
@@ -84,7 +82,7 @@
 		echo -n exported > .svnversion; \
 	fi
 
-stx_libjava_libs.o: stx_libjava_libs.st .svnversion 
+stx_libjava_libs.o: stx_libjava_libs.st .svnversion
 	@if [ -d .svn ]; then \
 		rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
 		echo "  [SV]  Expanding svnRevisionNo in $1.st"; \
@@ -93,11 +91,27 @@
 	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_libjava_libs.svn $(C_RULE);
 	sed -i -e "s/\".stx_libjava_libs.svn.st\");/\"\stx_libjava_libs.st\");/g" .stx_libjava_libs.svn.c
 	$(MAKE) .stx_libjava_libs.svn.$(O)
-	@mv .stx_libjava_libs.svn.$(O) stx_libjava_libs.$(O) 
+	@mv .stx_libjava_libs.svn.$(O) stx_libjava_libs.$(O)
 endif
 
 
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+stx_libjava_libs.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+	$(MAKE) -C $(TOP)/goodies/builder/reports
+	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
 
 # add more install actions here
 install::
--- a/libs/bc.mak	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/bc.mak	Wed Jan 16 13:37:32 2013 +0000
@@ -64,7 +64,21 @@
 
 
 
+
+test: $(TOP)\goodies\builder\reports\NUL
+	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
+	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
+
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)stx_libjava_libs.$(O) stx_libjava_libs.$(H): stx_libjava_libs.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
+
+# **Must be at end**
+
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+!IFDEF HGROOT
+$(OUTDIR)stx_libjava_libs.$(O): $(HGROOT)\.hg\dirstate
+!ENDIF
--- a/libs/bmake.bat	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/bmake.bat	Wed Jan 16 13:37:32 2013 +0000
@@ -3,6 +3,10 @@
 @REM type bmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak  %DEFINES% %*
 
 
--- a/libs/libs.rc	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/libs.rc	Wed Jan 16 13:37:32 2013 +0000
@@ -3,8 +3,8 @@
 // automagically generated from the projectDefinition: stx_libjava_libs.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,0,1
-  PRODUCTVERSION  6,2,3,1
+  FILEVERSION     6,2,32767,32767
+  PRODUCTVERSION  6,2,3,0
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG & SWING Research Group\0"
       VALUE "FileDescription", "Java support for Smalltalk/X - external java libraries (LIB)\0"
-      VALUE "FileVersion", "6.2.0.1\0"
+      VALUE "FileVersion", "6.2.32767.32767\0"
       VALUE "InternalName", "stx:libjava/libs\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\n          SWING Research Group, Czech Technical University In Prague\0"
       VALUE "ProductName", "Smalltalk/X\0"
-      VALUE "ProductVersion", "6.2.3.1\0"
-      VALUE "ProductDate", "Thu, 15 Nov 2012 23:56:49 GMT\0"
+      VALUE "ProductVersion", "6.2.3.0\0"
+      VALUE "ProductDate", "Wed, 16 Jan 2013 13:28:06 GMT\0"
     END
 
   END
--- a/libs/mingwmake.bat	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/mingwmake.bat	Wed Jan 16 13:37:32 2013 +0000
@@ -3,6 +3,10 @@
 @REM type mingwmake, and wait...
 @REM do not edit - automatically generated from ProjectDefinition
 @REM -------
-make.exe -N -f bc.mak -DUSEMINGW=1 %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak -DUSEMINGW=1 %DEFINES% %*
 
 
--- a/libs/stx_libjava_libs.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/stx_libjava_libs.st	Wed Jan 16 13:37:32 2013 +0000
@@ -185,6 +185,11 @@
 
 !stx_libjava_libs class methodsFor:'documentation'!
 
+version_HG
+
+    ^ '$Changeset: <not expanded> $'
+!
+
 version_SVN
-    ^ '$Id::                                                                                                                        $'
+    ^ '§Id::                                                                                                                        §'
 ! !
--- a/libs/vcmake.bat	Tue Jan 15 18:12:48 2013 +0000
+++ b/libs/vcmake.bat	Wed Jan 16 13:37:32 2013 +0000
@@ -7,6 +7,12 @@
 @if not defined VSINSTALLDIR (
     call ..\..\rules\vcsetup.bat
 )
-make.exe -N -f bc.mak -DUSEVC %*
+@SET DEFINES=
+@REM Kludge got Mercurial, cannot be implemented in Borland make
+@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
+@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
+make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
 
 
+
+
--- a/stx_libjava.st	Tue Jan 15 18:12:48 2013 +0000
+++ b/stx_libjava.st	Wed Jan 16 13:37:32 2013 +0000
@@ -405,7 +405,6 @@
         JavaNioSupport
         (JavaNativeMemoryTests autoload)
         JavaFinalizationRegistry
-        JavaPathElement
         JavaMirror
         JavaClassQuery
         (JUnitTestCaseProxy autoload)
@@ -559,18 +558,12 @@
         'Boolean class' javaWrap:
         ProgrammingLanguage isGroovy
         ProgrammingLanguage isJavaLike
-        UserPreferences javaClassPath
-        UserPreferences javaClassPath:
         UserPreferences javaRelease
         UserPreferences javaReleaseSelector
         UserPreferences javaReleaseSelector:
-        UserPreferences javaSourcePath
-        UserPreferences javaSourcePath:
         Class javaMirror
         Class javaMirrorClass
         ExecutableFunction isJavaConstructor
-        UserPreferences javaClassPathDecoded
-        UserPreferences javaSourcePathDecoded
         Process isParked
         Semaphore parkWithTimeoutMs:
         Object isSocket
@@ -589,6 +582,8 @@
         ExecutableFunction isProxyMethod
         'ProjectDefinition class' javaBundle
     )
+
+    "Modified: / 16-01-2013 / 13:31:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !stx_libjava class methodsFor:'description - java'!