src/JavaTestsResource.st
branchjk_new_structure
changeset 763 1e82b558abd3
parent 752 ff7bc6428c9c
child 841 4db3d65dfd33
--- a/src/JavaTestsResource.st	Sat May 07 16:18:07 2011 +0000
+++ b/src/JavaTestsResource.st	Sat May 07 18:23:38 2011 +0000
@@ -7,7 +7,7 @@
 	category:'Languages-Java-Tests'
 !
 
-JavaTestsResource class instanceVariableNames:'projectDir projectBuilded'
+JavaTestsResource class instanceVariableNames:'testsBuilded'
 
 "
  The following class instance variables are inherited by this class:
@@ -30,64 +30,90 @@
         (Smalltalk packageDirectoryForPackageId: 'stx:libjava') asFilename
             / 'java' / 'libjava-tests' .
 
-    projectBuilded := false.
+    testsBuilded := false.
 
     "Modified: / 16-03-2011 / 14:33:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaTestsResource class methodsFor:'accessing'!
 
-projectBuilded:aBoolean
+testsBuilded
+    
+    ^testsBuilded == true
 
+    "Created: / 07-05-2011 / 18:44:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+testsBuilded:aBoolean 
     "
         JavaTestsResource projectBuilded: true.
-        JavaTestsResource projectBuilded: false.
-    "
-
-    projectBuilded := aBoolean.
+        JavaTestsResource projectBuilded: false."
+    
+    testsBuilded := aBoolean.
 
     "Modified: / 16-03-2011 / 15:20:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-projectDir
-    ^ projectDir
+testsClasspath
+
+    | cp |
+    cp := OrderedCollection new.
+
+    self testsDirectory directoryContentsAsFilenamesDo:
+            [:entry | 
+            entry isDirectory 
+                ifTrue:
+                    [ (entry / 'bin') exists 
+                        ifTrue:[ cp add:(entry / 'bin') asString ].
+                    (entry / 'lib') exists 
+                        ifTrue:[ cp addAll: ((entry / 'lib') directoryContentsAsFilenames select:[:jar|jar suffix = 'jar' ] ) ] ] ].
+
+    ^cp
+
+    "
+        JavaTestsResource testsClasspath      
+    "
+
+    "Created: / 07-05-2011 / 18:15:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+testsDirectory
+    ^ UserPreferences current javaTestsDirectory asFilename
+
+    "Modified: / 07-05-2011 / 17:57:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaTestsResource class methodsFor:'running'!
 
 buildProject
-
     "
         JavaTestsResource projectBuilded: true.
-        JavaTestsResource projectBuilded: false.
-    "
-
-
-    projectBuilded == true ifFalse:[ 
-        "Check for ant"
-        self assert: (OperatingSystem canExecuteCommand:'ant')
-             description: 'Cannot execute ant'.
-
-        self assert: (self projectDir / 'build.xml') exists
-             description: 'No build.xml in ' , self projectDir asString.
-
-
-        "Launch ant"
-        Transcript show:'Running ant in '; showCR: self projectDir asString.
-        OperatingSystem
-                executeCommand:'ant -f build.xml' 
-                inputFrom:nil 
-                outputTo:Stdout 
-                errorTo:Stderr 
-                inDirectory: self projectDir
+        JavaTestsResource projectBuilded: false."
+    
+    testsBuilded == true 
+        ifFalse:
+            [ "Check for ant"
+            self assert:(OperatingSystem canExecuteCommand:'ant')
+                description:'Cannot execute ant'.
+            self assert:(self testsDirectory / 'build.xml') exists
+                description:'No build.xml in ' , self testsDirectory asString.
+             "Launch ant"
+            Transcript
+                show:'Running ant in ';
+                showCR:self testsDirectory asString.
+            OperatingSystem 
+                executeCommand:'ant -f build.xml'
+                inputFrom:nil
+                outputTo:Stdout
+                errorTo:Stderr
+                inDirectory:self testsDirectory
                 onError:
                     [:status | 
                     Transcript showCR:'ANT FAILED!!!!!!'.
                     self error:'ant failed'.
-                    ^self].
-
-        Transcript show:'Ant finished'].
-    ^ projectBuilded
+                    ^ self ].
+            Transcript show:'Ant finished' ].
+    ^ testsBuilded
 
     "Modified: / 16-03-2011 / 15:20:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
@@ -96,10 +122,16 @@
 
 setUp
     self class buildProject.
-    Java addToClassPath: (self class projectDir / 'bin') asString
+    self class testsClasspath do:
+        [:each|Java addToClassPath: each].
+
+    "
+        JavaTestsResource basicNew setUp
+        Java classPath
+    "
 
     "Created: / 06-03-2011 / 14:50:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 16-03-2011 / 14:38:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 07-05-2011 / 18:19:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaTestsResource class methodsFor:'documentation'!