Upgraded to ECJ 4.2. development
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 02 Apr 2013 23:10:55 +0100
branchdevelopment
changeset 2478 126adef4626a
parent 2477 6e37b62e21b5
child 2479 76c5d94e3d4a
Upgraded to ECJ 4.2. Use Apache IVY to download it.
.hgignore
experiments/java/src/stx/libjava/tools/compiler/ecj/Compiler.java
java/build.xml
java/ivy-2.3.0.jar
libs/java/build.xml
libs/java/pom.xml
tools/java/.classpath
tools/java/build.ivy.xml
tools/java/build.xml
tools/java/ivy.xml
tools/java/libs-src/org.eclipse.core.contenttype.source_3.4.1.R35x_v20090826-0451.jar
tools/java/libs-src/org.eclipse.core.jobs.source_3.4.100.v20090429-1800.jar
tools/java/libs-src/org.eclipse.core.resources.source_3.5.2.R35x_v20091203-1235.jar
tools/java/libs-src/org.eclipse.core.runtime.source_3.5.0.v20090525.jar
tools/java/libs-src/org.eclipse.equinox.common.source_3.5.1.R35x_v20090807-1100.jar
tools/java/libs-src/org.eclipse.equinox.preferences.source_3.2.301.R35x_v20091117.jar
tools/java/libs-src/org.eclipse.jdt.compiler.tool.source_1.0.100.v_981_R35x.jar
tools/java/libs-src/org.eclipse.jdt.core.source_3.5.2.v_981_R35x.jar
tools/java/libs-src/org.eclipse.osgi.source_3.5.2.R35x_v20100126.jar
tools/java/libs/commons-collections-2.1.1.jar
tools/java/libs/commons-io-1.4.jar
tools/java/libs/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar
tools/java/libs/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar
tools/java/libs/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar
tools/java/libs/org.eclipse.core.runtime_3.5.0.v20090525.jar
tools/java/libs/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar
tools/java/libs/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar
tools/java/libs/org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x.jar
tools/java/libs/org.eclipse.jdt.core_3.5.2.v_981_R35x.jar
tools/java/libs/org.eclipse.osgi.util_3.2.0.v20090520-1800.jar
tools/java/libs/org.eclipse.osgi_3.5.2.R35x_v20100126.jar
--- a/.hgignore	Tue Apr 02 23:08:51 2013 +0100
+++ b/.hgignore	Tue Apr 02 23:10:55 2013 +0100
@@ -24,3 +24,5 @@
 *.local
 *.other
 st.chg
+tools/java/libs/ecj*.jar
+tools/java/libs-src/ecj*.jar
--- a/experiments/java/src/stx/libjava/tools/compiler/ecj/Compiler.java	Tue Apr 02 23:08:51 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-package stx.libjava.tools.compiler.ecj;
-
-import java.nio.charset.Charset;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.tools.ToolProvider;
-
-import org.eclipse.jdt.internal.compiler.CompilationResult;
-import org.eclipse.jdt.internal.compiler.DefaultErrorHandlingPolicies;
-import org.eclipse.jdt.internal.compiler.ICompilerRequestor;
-import org.eclipse.jdt.internal.compiler.IErrorHandlingPolicy;
-import org.eclipse.jdt.internal.compiler.IProblemFactory;
-import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
-import org.eclipse.jdt.internal.compiler.env.INameEnvironment;
-import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
-import org.eclipse.jdt.internal.compiler.problem.DefaultProblemFactory;
-import org.eclipse.jdt.internal.compiler.tool.EclipseFileManager;
-
-import stx.libjava.tools.compiler.JavaClassFile;
-import stx.libjava.tools.compiler.JavaClassFileManager;
-import stx.libjava.tools.compiler.ecj.CompilationUnit;
-
-public class Compiler implements ICompilerRequestor {
-	protected JavaClassFileManager classFileManager = new JavaClassFileManager(new EclipseFileManager(Locale.getDefault(), Charset.defaultCharset())); 
-	protected CompilationResult result;
-	
-	
-	public CompilationResult getResult() {
-		return result;
-	}
-
-	/**
-	 * Compiles classes in given source. The resulting .class files are added
-	 * to an internal list which can be later retrieved by getClassFiles().
-	 * 
-	 * @param name unqualified name of class being compiled. 
-	 * @param source source code of the class as String.   
-	 * @return true, if compilation succeeded, false otherwise.
-	 */
-	public boolean compile(String name, String source) {
-		INameEnvironment environment = new CompilerEnvironment();
-		ICompilerRequestor requestor = this;
-		IErrorHandlingPolicy policy = DefaultErrorHandlingPolicies.exitAfterAllProblems();
-	    IProblemFactory problemFactory = new DefaultProblemFactory(Locale.getDefault());
-	    ICompilationUnit[] units = new ICompilationUnit[1];
-	    units[0] = new CompilationUnit(name, source);
-		
-		org.eclipse.jdt.internal.compiler.Compiler compiler = new org.eclipse.jdt.internal.compiler.Compiler(environment, policy, getDefaultCompilerSettings(), requestor, problemFactory);
-		compiler.compile(units);
-		return false;
-	}
-	
-	/**
-	 * Returns a list of JavaClassFiles that contains results of the compilation. 
-	 * 
-	 * @return resulting class files
-	 */
-	public Collection<JavaClassFile> getClassFiles() {
-		return classFileManager.getClasses().values();
-	}
-	
-	public static Map<String, Object> getDefaultCompilerSettings() {
-		String javaSpecVersion = System.getProperty("java.specification.version");
-        Map<String, Object> settings = new HashMap<String, Object>();
-        settings.put(CompilerOptions.OPTION_Source, javaSpecVersion);
-        settings.put(CompilerOptions.OPTION_TargetPlatform, javaSpecVersion);
-        settings.put(CompilerOptions.OPTION_ReportDeprecation, CompilerOptions.IGNORE);
-        return settings;
-	}
-
-    public static CompilerOptions getDefaultCompilerOptions() {
-                return new CompilerOptions(getDefaultCompilerSettings());
-    }
-
-	@Override
-	public void acceptResult(CompilationResult result) {
-		this.result = result;
-	}
-	
-
-}
--- a/java/build.xml	Tue Apr 02 23:08:51 2013 +0100
+++ b/java/build.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -4,18 +4,19 @@
               To include a user specific buildfile here, simply create one in the same
               directory with the processing instruction <?eclipse.ant.import?>
               as the first entry and export the buildfile again. -->
-<project basedir="." default="build" name="stx:libjava">
+<project basedir="." default="build" name="stx.libjava">
     <property environment="env"/>
-    <property name="stx:libjava | benchmarks.location" value="../benchmarks/java"/>
-    <property name="stx:libjava | examples.location" value="../examples/java"/>
-    <property name="stx:libjava | examples | tomcat 6.x.location" value="../examples/tomcat6/apache-tomcat-6.0.35-src"/>
-    <property name="stx:libjava | experiments.location" value="../experiments/java"/>
-    <property name="stx:libjava | tests.location" value="../tests/libjava"/>
+    <property name="stx.libjava.benchmarks.location" value="../benchmarks/java"/>
+    <property name="stx.libjava.examples.location" value="../examples/java"/>
+    <property name="stx.libjava.examples.tomcat 6.x.location" value="../examples/tomcat6/apache-tomcat-6.0.35-src"/>
+    <property name="stx.libjava.experiments.location" value="../experiments/java"/>
+    <property name="stx.libjava.tests.location" value="../tests/libjava"/>
+    <property name="stx.libjava.tools.location" value="../tools/java"/>
     <property name="ECLIPSE_HOME" value="../../../../../../../../../../../../opt/eclipse-4.2"/>
     <property name="debuglevel" value="source,lines,vars"/>
-    <property name="target" value="1.6"/>
-    <property name="source" value="1.6"/>
-    <path id="stx:libjava.classpath">
+    <property name="target" value="1.7"/>
+    <property name="source" value="1.7"/>
+    <path id="stx.libjava.classpath">
         <pathelement location="bin"/>
         <pathelement location="libs/groovy-all-1.8.2.jar"/>
         <pathelement location="libs/junit4-4.8.2.jar"/>
@@ -38,36 +39,42 @@
         <echo message="${ant.project.name}: ${ant.file}"/>
         <javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
             <src path="src"/>
-            <classpath refid="stx:libjava.classpath"/>
+            <classpath refid="stx.libjava.classpath"/>
         </javac>
     </target>
     <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects">
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="build">
+            <propertyset>
+                <propertyref name="build.compiler"/>
+            </propertyset>
+        </ant>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | examples.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | examples.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.tests.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.tests.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | tests.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | tests.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.tools.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.tools.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
Binary file java/ivy-2.3.0.jar has changed
--- a/libs/java/build.xml	Tue Apr 02 23:08:51 2013 +0100
+++ b/libs/java/build.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -4,17 +4,18 @@
               To include a user specific buildfile here, simply create one in the same
               directory with the processing instruction <?eclipse.ant.import?>
               as the first entry and export the buildfile again. -->
-<project basedir="." default="build" name="stx:libjava | libs">
+<project basedir="." default="build" name="stx.libjava.libs">
     <property environment="env"/>
-    <property name="stx:libjava | benchmarks.location" value="../../benchmarks/java"/>
-    <property name="stx:libjava | examples | tomcat 6.x.location" value="../../examples/tomcat6/apache-tomcat-6.0.35-src"/>
-    <property name="stx:libjava | experiments.location" value="../../experiments/java"/>
-    <property name="stx:libjava | tests.location" value="../../tests/libjava"/>
+    <property name="stx.libjava.benchmarks.location" value="../../benchmarks/java"/>
+    <property name="stx.libjava.examples.tomcat 6.x.location" value="../../examples/tomcat6/apache-tomcat-6.0.35-src"/>
+    <property name="stx.libjava.experiments.location" value="../../experiments/java"/>
+    <property name="stx.libjava.tests.location" value="../../tests/libjava"/>
+    <property name="stx.libjava.tools.location" value="../../tools/java"/>
     <property name="ECLIPSE_HOME" value="../../../../../../../../../../../../../opt/eclipse-4.2"/>
     <property name="debuglevel" value="source,lines,vars"/>
-    <property name="target" value="1.6"/>
-    <property name="source" value="1.6"/>
-    <path id="stx:libjava | libs.classpath">
+    <property name="target" value="1.7"/>
+    <property name="source" value="1.7"/>
+    <path id="stx.libjava.libs.classpath">
         <pathelement location="libs/commons-codec-1.5.jar"/>
         <pathelement location="libs/hamcrest-core-1.2.1.jar"/>
         <pathelement location="libs/junit-4.8.2.jar"/>
@@ -40,7 +41,6 @@
         <pathelement location="libs/jackson-databind-2.0.5.jar"/>
         <pathelement location="libs/jasperreports-5.0.1.jar"/>
         <pathelement location="libs/jcommon-1.0.15.jar"/>
-        <pathelement location="libs/jdtcore-3.1.0.jar"/>
         <pathelement location="libs/jfreechart-1.0.12.jar"/>
         <pathelement location="libs/xml-apis-1.3.02.jar"/>
     </path>
@@ -53,26 +53,32 @@
         <echo message="${ant.project.name}: ${ant.file}"/>
     </target>
     <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects">
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="build">
+            <propertyset>
+                <propertyref name="build.compiler"/>
+            </propertyset>
+        </ant>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.tests.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.tests.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | tests.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | tests.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.tools.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.tools.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
--- a/libs/java/pom.xml	Tue Apr 02 23:08:51 2013 +0100
+++ b/libs/java/pom.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -24,7 +24,11 @@
       to search for <dependency>...</depencency> snippets
     -->
     <dependencies>
-    
+   <dependency>
+	<groupId>org.eclipse.jdt.core.compiler</groupId>
+	<artifactId>ecj</artifactId>
+	<version>4.2.1</version>
+</dependency> 
     
 	<dependency>
 		<groupId>net.sourceforge.saxon</groupId>
--- a/tools/java/.classpath	Tue Apr 02 23:08:51 2013 +0100
+++ b/tools/java/.classpath	Tue Apr 02 23:10:55 2013 +0100
@@ -3,17 +3,6 @@
 	<classpathentry kind="src" path="src"/>
 	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/stx.libjava"/>
 	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/stx.libjava.libs"/>
-	<classpathentry exported="true" kind="lib" path="libs/commons-collections-2.1.1.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/commons-io-1.4.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar" sourcepath="libs-src/org.eclipse.core.contenttype.source_3.4.1.R35x_v20090826-0451.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar" sourcepath="libs-src/org.eclipse.core.jobs.source_3.4.100.v20090429-1800.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar" sourcepath="libs-src/org.eclipse.core.resources.source_3.5.2.R35x_v20091203-1235.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.core.runtime_3.5.0.v20090525.jar" sourcepath="libs-src/org.eclipse.core.runtime.source_3.5.0.v20090525.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar" sourcepath="libs-src/org.eclipse.equinox.common.source_3.5.1.R35x_v20090807-1100.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar" sourcepath="libs-src/org.eclipse.equinox.preferences.source_3.2.301.R35x_v20091117.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x.jar" sourcepath="libs-src/org.eclipse.jdt.compiler.tool.source_1.0.100.v_981_R35x.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.jdt.core_3.5.2.v_981_R35x.jar" sourcepath="libs-src/org.eclipse.jdt.core.source_3.5.2.v_981_R35x.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.osgi_3.5.2.R35x_v20100126.jar" sourcepath="libs-src/org.eclipse.osgi.source_3.5.2.R35x_v20100126.jar"/>
-	<classpathentry exported="true" kind="lib" path="libs/org.eclipse.osgi.util_3.2.0.v20090520-1800.jar"/>
+	<classpathentry exported="true" kind="lib" path="libs/ecj-4.2.1.jar" sourcepath="libs-src/ecj-4.2.1.jar"/>
 	<classpathentry kind="output" path="java/bin"/>
 </classpath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/java/build.ivy.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse.ant.import?>
+<project xmlns:ivy="antlib:org.apache.ivy.ant" name="stx.libjava.tools.dependencies" default="dependencies">
+    <property name="ivy.jar" value="../../java/ivy-2.3.0.jar"/>
+    <target name="dependencies" description="Download required libraries">
+        <taskdef 
+            resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
+            classpath="${ivy.jar}"/>
+         <ivy:retrieve 
+                conf="binaries" 
+                pattern="libs/[artifact]-[revision].[ext]"/>
+         <ivy:retrieve 
+                conf="sources" 
+                pattern="libs-src/[artifact]-[revision].[ext]"/>
+    </target>
+</project>
\ No newline at end of file
--- a/tools/java/build.xml	Tue Apr 02 23:08:51 2013 +0100
+++ b/tools/java/build.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -3,74 +3,116 @@
               Any modifications will be overwritten.
               To include a user specific buildfile here, simply create one in the same
               directory with the processing instruction <?eclipse.ant.import?>
-              as the first entry and export the buildfile again. --><project basedir="." default="build" name="stx:libjava | tools">
+              as the first entry and export the buildfile again. -->
+<project basedir="." default="build" name="stx.libjava.tools">
     <property environment="env"/>
-    <property name="stx:libjava | benchmarks.location" value="../../benchmarks/java"/>
-    <property name="stx:libjava | examples.location" value="../../examples/java"/>
-    <property name="stx:libjava | examples | tomcat 6.x.location" value="../../examples/tomcat6/apache-tomcat-6.0.35-src"/>
-    <property name="stx:libjava | experiments.location" value="../../experiments/java"/>
+    <property name="stx.libjava.benchmarks.location" value="../../benchmarks/java"/>
+    <property name="stx.libjava.examples.location" value="../../examples/java"/>
+    <property name="stx.libjava.examples.tomcat 6.x.location" value="../../examples/tomcat6/apache-tomcat-6.0.35-src"/>
+    <property name="stx.libjava.experiments.location" value="../../experiments/java"/>
     <property name="ECLIPSE_HOME" value="../../../../../../../../../../../../../opt/eclipse-4.2"/>
+    <property name="stx.libjava.location" value="../../java"/>
+    <property name="stx.libjava.libs.location" value="../../libs/java"/>
     <property name="debuglevel" value="source,lines,vars"/>
-    <property name="target" value="1.5"/>
-    <property name="source" value="1.5"/>
-    <path id="stx:libjava | tools.classpath">
-        <pathelement location="bin"/>
-        <pathelement location="libs-src/org.eclipse.core.contenttype.source_3.4.1.R35x_v20090826-0451.jar"/>
-        <pathelement location="libs/commons-collections-2.1.1.jar"/>
-        <pathelement location="libs/commons-io-1.4.jar"/>
-        <pathelement location="libs/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar"/>
-        <pathelement location="libs/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar"/>
-        <pathelement location="libs/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar"/>
-        <pathelement location="libs/org.eclipse.core.runtime_3.5.0.v20090525.jar"/>
-        <pathelement location="libs/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar"/>
-        <pathelement location="libs/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar"/>
-        <pathelement location="libs/org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x.jar"/>
-        <pathelement location="libs/org.eclipse.jdt.core_3.5.2.v_981_R35x.jar"/>
-        <pathelement location="libs/org.eclipse.osgi_3.5.2.R35x_v20100126.jar"/>
-        <pathelement location="libs/org.eclipse.osgi.util_3.2.0.v20090520-1800.jar"/>
+    <property name="target" value="1.6"/>
+    <property name="source" value="1.6"/>
+    <import file="build.ivy.xml"/>
+    <path id="stx.libjava.classpath">
+        <pathelement location="${stx.libjava.location}/bin"/>
+        <pathelement location="${stx.libjava.location}/libs/groovy-all-1.8.2.jar"/>
+        <pathelement location="${stx.libjava.location}/libs/junit4-4.8.2.jar"/>
+    </path>
+    <path id="stx.libjava.libs.classpath">
+        <pathelement location="${stx.libjava.libs.location}/libs/commons-codec-1.5.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/hamcrest-core-1.2.1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/junit-4.8.2.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/log4j-1.2.17.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/mpxj-4.3.0.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/poi-3.8.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/saxon-9.1.0.8.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/asm3-all-3.3.2.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/junit-3.8.2.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/bcmail-jdk14-1.38.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/bcmail-jdk14-138.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/bcprov-jdk14-1.38.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/bcprov-jdk14-138.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/bctsp-jdk14-1.38.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/castor-1.2.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/commons-beanutils-1.8.0.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/commons-collections-2.1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/commons-digester-2.1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/commons-logging-1.1.1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/itext-2.1.7.js1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jackson-annotations-2.0.5.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jackson-core-2.0.5.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jackson-databind-2.0.5.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jasperreports-5.0.1.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jcommon-1.0.15.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/jfreechart-1.0.12.jar"/>
+        <pathelement location="${stx.libjava.libs.location}/libs/xml-apis-1.3.02.jar"/>
+    </path>
+    <path id="stx.libjava.tools.classpath">
+        <pathelement location="java/bin"/>
+        <path refid="stx.libjava.classpath"/>
+        <path refid="stx.libjava.libs.classpath"/>
+        <pathelement location="libs/ecj-4.2.1.jar"/>
     </path>
     <target name="init">
-        <mkdir dir="bin"/>
-        <copy includeemptydirs="false" todir="bin">
+        <mkdir dir="java/bin"/>
+        <copy includeemptydirs="false" todir="java/bin">
             <fileset dir="src">
                 <exclude name="**/*.java"/>
             </fileset>
         </copy>
     </target>
     <target name="clean">
-        <delete dir="bin"/>
+        <delete dir="java/bin"/>
     </target>
-    <target depends="clean" name="cleanall"/>
+    <target depends="clean" name="cleanall">
+        <ant antfile="build.xml" dir="${stx.libjava.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.libs.location}" inheritAll="false" target="clean"/>
+    </target>
     <target depends="build-subprojects,build-project" name="build"/>
-    <target name="build-subprojects"/>
-    <target depends="init" name="build-project">
-        <echo message="${ant.project.name}: ${ant.file}"/>
-        <javac debug="true" debuglevel="${debuglevel}" destdir="bin" includeantruntime="false" source="${source}" target="${target}">
-            <src path="src"/>
-            <classpath refid="stx:libjava | tools.classpath"/>
-        </javac>
-    </target>
-    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects">
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | benchmarks.location}" inheritAll="false" target="build">
+    <target name="build-subprojects">
+        <ant antfile="build.xml" dir="${stx.libjava.location}" inheritAll="false" target="build-project">
+            <propertyset>
+                <propertyref name="build.compiler"/>
+            </propertyset>
+        </ant>
+        <ant antfile="build.xml" dir="${stx.libjava.libs.location}" inheritAll="false" target="build-project">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | examples.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | examples.location}" inheritAll="false" target="build">
+    </target>
+    <target depends="init" name="build-project">
+        <echo message="${ant.project.name}: ${ant.file}"/>
+        <javac debug="true" debuglevel="${debuglevel}" destdir="java/bin" includeantruntime="false" source="${source}" target="${target}">
+            <src path="src"/>
+            <classpath refid="stx.libjava.tools.classpath"/>
+        </javac>
+    </target>
+    <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects">
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.benchmarks.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | examples | tomcat 6.x.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.examples.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
         </ant>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="clean"/>
-        <ant antfile="build.xml" dir="${stx:libjava | experiments.location}" inheritAll="false" target="build">
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.examples.tomcat 6.x.location}" inheritAll="false" target="build">
+            <propertyset>
+                <propertyref name="build.compiler"/>
+            </propertyset>
+        </ant>
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="clean"/>
+        <ant antfile="build.xml" dir="${stx.libjava.experiments.location}" inheritAll="false" target="build">
             <propertyset>
                 <propertyref name="build.compiler"/>
             </propertyset>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/java/ivy.xml	Tue Apr 02 23:10:55 2013 +0100
@@ -0,0 +1,25 @@
+<ivy-module version="2.0">
+    <info 
+        organisation="SWING Research Group &amp; eXept Software A.G." 
+        module="stx.libjava.tools"/>
+
+   <configurations>
+        <conf name="sources"  description="Source jars"/>
+        <conf name="binaries" description="Binary jars"/>
+    </configurations>
+
+    <dependencies>
+        <dependency 
+                org="org.eclipse.jdt.core.compiler" 
+                name="ecj" 
+                rev="4.2.1"
+                conf="sources->sources"/>
+        <dependency 
+                org="org.eclipse.jdt.core.compiler" 
+                name="ecj" 
+                rev="4.2.1"
+                conf="binaries->default"/>
+
+
+    </dependencies>
+</ivy-module>
\ No newline at end of file
Binary file tools/java/libs-src/org.eclipse.core.contenttype.source_3.4.1.R35x_v20090826-0451.jar has changed
Binary file tools/java/libs-src/org.eclipse.core.jobs.source_3.4.100.v20090429-1800.jar has changed
Binary file tools/java/libs-src/org.eclipse.core.resources.source_3.5.2.R35x_v20091203-1235.jar has changed
Binary file tools/java/libs-src/org.eclipse.core.runtime.source_3.5.0.v20090525.jar has changed
Binary file tools/java/libs-src/org.eclipse.equinox.common.source_3.5.1.R35x_v20090807-1100.jar has changed
Binary file tools/java/libs-src/org.eclipse.equinox.preferences.source_3.2.301.R35x_v20091117.jar has changed
Binary file tools/java/libs-src/org.eclipse.jdt.compiler.tool.source_1.0.100.v_981_R35x.jar has changed
Binary file tools/java/libs-src/org.eclipse.jdt.core.source_3.5.2.v_981_R35x.jar has changed
Binary file tools/java/libs-src/org.eclipse.osgi.source_3.5.2.R35x_v20100126.jar has changed
Binary file tools/java/libs/commons-collections-2.1.1.jar has changed
Binary file tools/java/libs/commons-io-1.4.jar has changed
Binary file tools/java/libs/org.eclipse.core.contenttype_3.4.1.R35x_v20090826-0451.jar has changed
Binary file tools/java/libs/org.eclipse.core.jobs_3.4.100.v20090429-1800.jar has changed
Binary file tools/java/libs/org.eclipse.core.resources_3.5.2.R35x_v20091203-1235.jar has changed
Binary file tools/java/libs/org.eclipse.core.runtime_3.5.0.v20090525.jar has changed
Binary file tools/java/libs/org.eclipse.equinox.common_3.5.1.R35x_v20090807-1100.jar has changed
Binary file tools/java/libs/org.eclipse.equinox.preferences_3.2.301.R35x_v20091117.jar has changed
Binary file tools/java/libs/org.eclipse.jdt.compiler.tool_1.0.100.v_981_R35x.jar has changed
Binary file tools/java/libs/org.eclipse.jdt.core_3.5.2.v_981_R35x.jar has changed
Binary file tools/java/libs/org.eclipse.osgi.util_3.2.0.v20090520-1800.jar has changed
Binary file tools/java/libs/org.eclipse.osgi_3.5.2.R35x_v20100126.jar has changed