diff --git a/org.eclipse.jdt.core/plugin.jars b/org.eclipse.jdt.core/plugin.jars
index 5ecd897..b47c1c8 100644
--- a/org.eclipse.jdt.core/plugin.jars
+++ b/org.eclipse.jdt.core/plugin.jars
@@ -1,9 +1,9 @@
-jdtcore.jar=\
-	batch,\
-	codeassist,\
-	compiler,\
-	eval,\
-	formatter,\
-	dom,\
-	model, \
-	search
+jdtcore.jar=\
+	batch,\
+	codeassist,\
+	compiler,\
+	eval,\
+	formatter,\
+	dom,\
+	model, \
+	search
diff --git a/org.eclipse.jdt.core/plugin.properties b/org.eclipse.jdt.core/plugin.properties
index c165a9d..8bb193c 100644
--- a/org.eclipse.jdt.core/plugin.properties
+++ b/org.eclipse.jdt.core/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
+# Copyright (c) 2000, 2007 IBM Corporation and others.
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -18,9 +18,11 @@
 classpathVariableInitializersName=Classpath Variable Initializers
 classpathContainerInitializersName=Classpath Container Initializers
 codeFormattersName=Source Code Formatters
+compilationParticipantsName=Compilation Participants
+annotationProcessorManagerName=Java 6 Annotation Processor Manager
 javaTaskName=Java Task
 javaPropertiesName=Java Properties File
 javaSourceName=Java Source File
 javaClassName=Java Class File
 jarManifestName=JAR Manifest File
-extraJavaLikeFileExtensions=Extra Java-like File Extensions
\ No newline at end of file
+
diff --git a/org.eclipse.jdt.core/plugin.xml b/org.eclipse.jdt.core/plugin.xml
index 346f9ec..ddc50f8 100644
--- a/org.eclipse.jdt.core/plugin.xml
+++ b/org.eclipse.jdt.core/plugin.xml
@@ -40,6 +40,22 @@
 	schema="schema/codeFormatter.exsd"/>
 
 <!-- =================================================================================== -->
+<!-- Extension Point: Compilation Participant                                            -->
+<!-- =================================================================================== -->
+
+<extension-point name="%compilationParticipantsName" 
+	id="compilationParticipant"
+	schema="schema/compilationParticipant.exsd"/>
+
+<!-- =================================================================================== -->
+<!-- Extension Point: Java 6 Annotation Processor Manager                                -->
+<!-- =================================================================================== -->
+
+<extension-point name="%annotationProcessorManagerName" 
+	id="annotationProcessorManager"
+	schema="schema/annotationProcessorManager.exsd"/>
+
+<!-- =================================================================================== -->
 <!-- Extension: Java Nature                                                              -->
 <!-- =================================================================================== -->
 
@@ -78,6 +94,7 @@
 	<attribute name="id"/>
 	<attribute name="flags"/>
 	<attribute name="arguments"/>
+	<attribute name="categoryId"/>
 </extension>   
 
 <!-- =================================================================================== -->
@@ -155,7 +172,18 @@
 	<fileTypes extension="jardesc" type="text"/>
 	<fileTypes extension="zip" type="binary"/>
 </extension>
-      
+
+<!-- =================================================================================== -->
+<!-- Extension: Java Code Formatter                                                      -->
+<!-- =================================================================================== -->
+<extension
+      id="JavaCodeFormatter"
+      point="org.eclipse.core.runtime.applications">
+      	<application>
+      		<run class="org.eclipse.jdt.core.formatter.CodeFormatterApplication" />
+		</application>
+</extension>
+
 <!-- =================================================================================== -->
 <!-- Extension: Java Content Types                                                       -->
 <!-- =================================================================================== -->
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript$1.class b/org.eclipse.jdt.core/scripts/GenerateBuildScript$1.class
new file mode 100755
index 0000000..2104d6d
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript$1.class
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript$2.class b/org.eclipse.jdt.core/scripts/GenerateBuildScript$2.class
new file mode 100755
index 0000000..e52da5e
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript$2.class
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript.class b/org.eclipse.jdt.core/scripts/GenerateBuildScript.class
index 61cd251..d355baf 100644
--- a/org.eclipse.jdt.core/scripts/GenerateBuildScript.class
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript.class
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript.java b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
index ea42020..d0bb011 100644
--- a/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,55 +10,57 @@
  *******************************************************************************/
 import java.io.BufferedWriter;
 import java.io.File;
+import java.io.FileFilter;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.Writer;
+import java.text.MessageFormat;
 import java.util.ArrayList;
 
 public class GenerateBuildScript {
 
-	private static final String LINE_SEPARATOR = System.getProperty("line.separator");
+	private static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
 	private static final String HEADER=
-		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + LINE_SEPARATOR +
-		"<project name=\"export-executable\" default=\"build_executable\">" +LINE_SEPARATOR +
-		"    <target name=\"build_executable\">" + LINE_SEPARATOR +
-		"        <echo message=\"compiling resources   -> .o\"/>" + LINE_SEPARATOR;
-		
-	private static final String FOOTER =
-		"	    <echo message=\"compiling sources      -> .o\"/>" + LINE_SEPARATOR +
-		"        <apply failonerror=\"true\" executable=\"${gcc-path}/bin/gcj.exe\" dest=\"${work}\" parallel=\"false\">" + LINE_SEPARATOR +
-		"  			 <arg value=\"--verbose\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"--classpath=${work}\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-O2\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-c\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR +
-		"            <srcfile/>" + LINE_SEPARATOR +
-		"            <arg value=\"-o\"/>" + LINE_SEPARATOR +
-		"            <targetfile/>" + LINE_SEPARATOR +
-		"            <fileset dir=\"${work}\" includes=\"**/*.java\"/>" + LINE_SEPARATOR +
-		"            <mapper type=\"glob\" from=\"*.java\" to=\"*.o\"/>" + LINE_SEPARATOR +
-		"        </apply>" + LINE_SEPARATOR + LINE_SEPARATOR +
-		"        <echo message=\"linking .o -> ${binaryname}\"/>" + LINE_SEPARATOR +
-		"        <apply failonerror=\"true\" executable=\"${gcc-path}/bin/gcj.exe\" parallel=\"true\">" + LINE_SEPARATOR +
-		"        	<arg value=\"--verbose\"/>" + LINE_SEPARATOR +
-		"            <arg line =\"-o ${dest}${binaryname}.exe\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR +
-		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR +
-		"            <arg line=\"--main=org.eclipse.jdt.internal.compiler.batch.Main\"/>" + LINE_SEPARATOR +
-		"            <fileset dir=\"${work}\" includes=\"**/*.o\"/>" + LINE_SEPARATOR +
-		"       </apply>" + LINE_SEPARATOR +
-		"    </target>" + LINE_SEPARATOR +
-		"</project>" + LINE_SEPARATOR;
+		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"<project name=\"export-executable\" default=\"build_executable\">" +LINE_SEPARATOR + //$NON-NLS-1$
+		"    <target name=\"build_executable\">" + LINE_SEPARATOR; //$NON-NLS-1$
 
-	private static void collectAllPropertiesFiles(File root, ArrayList collector) {
-		File[] files = root.listFiles();
+	private static final String SOURCE_FILES =
+		"	    <echo message=\"compiling sources      -> .o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" dest=\"{1}\" parallel=\"false\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--classpath={1}\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-O2\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-c\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <srcfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <targetfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.java\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <mapper type=\"glob\" from=\"*.java\" to=\"*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        </apply>" + LINE_SEPARATOR + LINE_SEPARATOR; //$NON-NLS-1$
+	private static final String FOOTER =
+		"        <echo message=\"linking .o -> $'{'binaryname'}'\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" parallel=\"true\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg line =\"-o $'{'dest'}'/$'{'binaryname'}'\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg line=\"--main=org.eclipse.jdt.internal.compiler.batch.Main\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"       </apply>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"    </target>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"</project>" + LINE_SEPARATOR; //$NON-NLS-1$
+
+	private static void collectAllFiles(File root, ArrayList collector, FileFilter fileFilter) {
+		File[] files = root.listFiles(fileFilter);
 		for (int i = 0; i < files.length; i++) {
 			if (files[i].isDirectory()) {
-				collectAllPropertiesFiles(files[i], collector);
-			} else if (files[i].getName().endsWith(".rsc") || files[i].getName().endsWith(".properties")) { //$NON-NLS-1$
+				collectAllFiles(files[i], collector, fileFilter);
+			} else {
 				String newElement = files[i].getAbsolutePath();
 				newElement = newElement.replace('\\', '/');
 				collector.add(newElement);
@@ -66,23 +68,49 @@
 		}
 	}
 
-	private static void dumpAllProperties(Writer writer, File sourceDir, ArrayList collector) throws IOException {
+	private static void dumpAllProperties(Writer writer, File sourceDir, ArrayList collector, String gcj_exe, String dest_dir) throws IOException {
+		writer.write("        <echo message=\"compiling resources   -> .o\"/>" + LINE_SEPARATOR); //$NON-NLS-1$
 		for (int i = 0, max = collector.size(); i < max; i++) {
 			String absolutePath = (String) collector.get(i);
 			String fileName = absolutePath.substring(sourceDir.getAbsolutePath().length() + 1); 
-			writer.write("  		<exec dir=\"${work}\" executable=\"${gcc-path}/bin/gcj.exe\">" + LINE_SEPARATOR);
-			writer.write("  		  <arg line=\"--resource ");
-			writer.write(fileName + " " + fileName + " -c -o " + getObjectName(fileName) + "\"/>" + LINE_SEPARATOR);
-			writer.write("  		</exec>" + LINE_SEPARATOR);
+			writer.write(MessageFormat.format("  		<exec dir=\"{1}\" executable=\"$'{'gcc-path'}'/bin/{0}\">" + LINE_SEPARATOR, new Object[] { gcj_exe, dest_dir})); //$NON-NLS-1$
+			writer.write("  		<arg line=\"--resource "); //$NON-NLS-1$
+			writer.write(fileName + " " + fileName + " -c -o " + getObjectName(fileName) + "\"/>" + LINE_SEPARATOR); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			writer.write("  		</exec>" + LINE_SEPARATOR); //$NON-NLS-1$
 		}
 	}
 
+	private static void dumpAllClassFiles(Writer writer, File sourceDir, ArrayList collector, String gcj_exe, String dest_dir) throws IOException {
+		writer.write("        <echo message=\"compiling class files   -> .o\"/>" + LINE_SEPARATOR); //$NON-NLS-1$
+		writer.write(
+				MessageFormat.format(
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" dest=\"{1}\" parallel=\"false\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"  			 <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--classpath={1}\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-O2\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-c\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <srcfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <targetfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.class\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <mapper type=\"glob\" from=\"*.class\" to=\"*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        </apply>" + LINE_SEPARATOR + LINE_SEPARATOR,//$NON-NLS-1$
+		new Object[] {
+				gcj_exe,
+				dest_dir
+		}));
+	}
+
 	private static String getObjectName(String fileName) {
-		return fileName.substring(0, fileName.lastIndexOf('.')) + ".o";
+		return fileName.substring(0, fileName.lastIndexOf('.')) + ".o"; //$NON-NLS-1$
 	}
 			
 	public static void main(String[] args) {
-		if (args.length != 2) {
+		if (args.length != 5) {
+			System.out.println("Usage: script_name directory gcj_exe_name dest_dir source/bin"); //$NON-NLS-1$
 			return;
 		}
 		try {
@@ -91,10 +119,27 @@
 			File sourceDir = new File(args[1]);
 			if (sourceDir.exists()) { 
 				ArrayList collector = new ArrayList();
-				collectAllPropertiesFiles(sourceDir, collector);
-				dumpAllProperties(writer, sourceDir, collector);
+				collectAllFiles(sourceDir, collector, new FileFilter() {
+					public boolean accept(File pathname) {
+						String fileName = pathname.getAbsolutePath();
+						return pathname.isDirectory() || fileName.endsWith(".rsc") || fileName.endsWith(".properties"); //$NON-NLS-1$ //$NON-NLS-2$
+					}
+				});
+				dumpAllProperties(writer, sourceDir, collector, args[2], args[3]);
+				if ("source".equals(args[4])) { //$NON-NLS-1$
+					writer.write(MessageFormat.format(SOURCE_FILES, new Object[] {args[2], args[3]}));
+				} else {
+					collector = new ArrayList();
+					collectAllFiles(sourceDir, collector, new FileFilter() {
+						public boolean accept(File pathname) {
+							String fileName = pathname.getAbsolutePath();
+							return pathname.isDirectory() || fileName.endsWith(".class"); //$NON-NLS-1$
+						}
+					});
+					dumpAllClassFiles(writer, sourceDir, collector, args[2], args[3]);				
+				}
 			}
-			writer.write(FOOTER);
+			writer.write(MessageFormat.format(FOOTER, new Object[] {args[2], args[3]}));
 			writer.flush();
 			writer.close();
 		} catch (IOException e) {
diff --git a/org.eclipse.jdt.core/scripts/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/scripts/META-INF/MANIFEST.MF
new file mode 100755
index 0000000..0c54849
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/META-INF/MANIFEST.MF
@@ -0,0 +1,25 @@
+Manifest-Version: 1.0
+Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
+Bundle-ManifestVersion: 2
+Bundle-Name: Eclipse Compiler for Java
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
+Bundle-Version: 3.3.0
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse.org
+Bundle-Localization: plugin
+Export-Package: org.eclipse.jdt.core,
+ org.eclipse.jdt.core.compiler,
+ org.eclipse.jdt.internal.antadapter;x-internal:=true,
+ org.eclipse.jdt.internal.compiler;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.ast;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.batch;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.classfmt;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.codegen;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.env;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.flow;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.impl;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.lookup;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.parser;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.parser.diagnose;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.problem;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.util;x-internal:=true
diff --git a/org.eclipse.jdt.core/scripts/about.html b/org.eclipse.jdt.core/scripts/about.html
new file mode 100755
index 0000000..4602330
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 2, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/build.xml b/org.eclipse.jdt.core/scripts/build.xml
index cd38f4e..2f0f9b5 100644
--- a/org.eclipse.jdt.core/scripts/build.xml
+++ b/org.eclipse.jdt.core/scripts/build.xml
@@ -1,60 +1,43 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="export-executable" default="build" basedir=".">
 
-	<property name="version" value="3.1.0" />
-	<property name="gcc-path" value="C:/java_tools/thisiscool-gcc/gcc-4.0" />
-	<property name="binaryname" value="ejavac${version}" />
-	<property name="dest" value="c:/temp/bingcj" />
-	<property name="extract_folder" value="${dest}/src/" />
-	<property name="work" value="${dest}/tmp/" />
-	<property name="source" value="C:/eclipse/I1111/eclipse/plugins/org.eclipse.jdt.source_3.1.0/src/org.eclipse.jdt.core_3.1.0/jdtcoresrc.zip" />
-	<property name="binaries" value="C:/eclipse/I1111/eclipse/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar" />
-	<property name="gcj_script_name" value="export-executable.xml" />
+	<property name="output" value="bin" />
+	<property name="jar_file" value="ecj.jar" />
 
 	<target name="build">
-		<echo message="target: ${dest}" />
-		<delete dir="${dest}" failonerror="no" />
-		<mkdir dir="${dest}" />
+		<delete file="${basedir}/${jar_file}" failonerror="no" />
+		<delete dir="${output}" failonerror="no" />
+		<mkdir dir="${output}" />
 
-		<unzip overwrite="yes" dest="${work}" src="${source}">
-			<patternset>
-				<include name="**/compiler/**" />
-				<exclude name="**/compiler/**/*.html" />
-				<exclude name="**/IScanner.java" />
-				<exclude name="**/ITerminalSymbols.java" />
-				<exclude name="**/DocumentElementParser.java" />
-				<exclude name="**/IDocumentElementRequestor.java" />
-				<exclude name="**/ISourceElementRequestor.java" />
-				<exclude name="**/SourceElementParser.java" />
-				<exclude name="**/SourceElementRequestorAdapter.java" />
-				<exclude name="**/SourceConstructorDeclaration.java" />
-				<exclude name="**/SourceFieldDeclaration.java" />
-				<exclude name="**/SourceMethodDeclaration.java" />
-				<exclude name="**/SourceTypeConverter.java" />
-			</patternset>
-		</unzip>
+		<javac srcdir="${basedir}" destdir="${output}"
+				debuglevel="lines,source"
+				source="1.3"
+				target="1.2"
+			excludes="org/eclipse/jdt/internal/compiler/tool/*,**/apt/**">
+			<compilerarg line="-Xlint:none"/>
+		</javac>
 
-		<unzip overwrite="yes" dest="${work}" src="${binaries}">
-			<patternset>
-				<include name="**/compiler/**/*.properties" />
-				<include name="**/*.rsc" />
-				<exclude name="**/*.class" />
-				<exclude name="**/*.mf" />
-			</patternset>
-		</unzip>
+		<javac destdir="${output}"
+				debuglevel="lines,source"
+				source="1.6"
+				target="1.6"
+				includes="org/eclipse/jdt/internal/compiler/tool/*">
+			<src path="${basedir}"/>
+			<include name="org/eclipse/jdt/internal/compiler/tool/*"/>
+			<include name="**/apt/**"/>
+			<compilerarg line="-Xlint:none"/>
+		</javac>
 
-		<!-- echo message="generate build script" />
-		<java classname="GenerateBuildScript">
-			<sysproperty key="user.dir" value="${basedir}/scripts"/>
-			<arg value="${gcj_script_name}"/>
-			<arg value="${basedir}/${work}"/>
-			<classpath>
-				<pathelement path="${basedir}/scripts"/>
-			</classpath>
-		</java>
-		
-		<echo message="run the new build script" />
-		<ant antfile="${basedir}/scripts/export-executable.xml"/>
-		<delete file="${basedir}/scripts/export-executable.xml"/ -->
+		<zip destfile="${basedir}/${jar_file}">
+			<fileset dir="${output}" />
+			<fileset dir="${basedir}">
+				<include name="about.html"/>
+				<include name="**/*.rsc"/>
+				<include name="META-INF/**"/>
+				<include name="**/*.properties"/>
+				<exclude name="META-INF/eclipse.inf"/>
+			</fileset>
+		</zip>
+		<delete dir="${output}" />
 	</target>
 </project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/buildExtraJars.xml b/org.eclipse.jdt.core/scripts/buildExtraJars.xml
deleted file mode 100644
index 363b77b..0000000
--- a/org.eclipse.jdt.core/scripts/buildExtraJars.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="org.eclipse.core.resources" default="main" basedir="..">
-
-	<property name="bootclasspath" value=""/>
-
-	<target name="main">
-		<available file="${basedir}/jdtCompilerAdapter.jar" property="do.not.rebuild"/>
-		<antcall target="build"/>
-	</target>
-
-	<target name="build" unless="do.not.rebuild">
-		<antcall target="clean"/>
-		<antcall target="jdtCompilerAdapter.jar"/>
-		<antcall target="refresh"/>
-	</target>
-
-	<target name="init" depends="properties">
-		<property name="plugin" value="org.eclipse.jdt.core"/>
-		<property name="temp.folder" value="${basedir}/temp.folder"/>
-		<property name="plugin.destination" value="${basedir}"/>
-		<property name="build.result.folder" value="${basedir}"/>
-	</target>
-
-	<target name="properties" if="eclipse.running">
-		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
-	</target>
-
-	<target name="jdtCompilerAdapter.jar" depends="init">
-		<property name="destdir" value="${temp.folder}/jdtCompilerAdapter.jar.bin"/>
-		<delete dir="${temp.folder}/jdtCompilerAdapter.jar.bin"/>
-		<mkdir dir="${temp.folder}/jdtCompilerAdapter.jar.bin"/>
-		<!-- compile the source code -->
-		<javac destdir="${temp.folder}/jdtCompilerAdapter.jar.bin" failonerror="false" target="1.1" source="1.3" verbose="false" debug="on" includeAntRuntime="no" bootclasspath="${bootclasspath}" classpath="../org.eclipse.core.runtime/bin;../org.eclipse.core.runtime/runtime.jar;../org.eclipse.core.resources/bin;../org.eclipse.core.resources/resources.jar;../org.apache.ant/ant.jar;../org.eclipse.jdt.core/bin;../org.eclipse.jdt.core/jdtcore.jar;">
-			<src path="antadapter/"/>
-		</javac>
-		<!-- copy necessary resources activate when we 
-		<copy todir="${temp.folder}/jdtCompilerAdapter.jar.bin">
-			<fileset dir="antadapter/" excludes="**/*.java"/>
-		</copy> -->
-		<jar jarfile="${build.result.folder}/jdtCompilerAdapter.jar" basedir="${temp.folder}/jdtCompilerAdapter.jar.bin"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="clean" depends="init">
-		<delete file="${build.result.folder}/jdtCompilerAdapter.jar"/>
-		<delete dir="${temp.folder}"/>
-	</target>
-
-	<target name="refresh" depends="init" if="eclipse.running">
-		<eclipse.refreshLocal resource="${plugin}" depth="infinite"/>
-	</target>
-
-</project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/build_ecj.xml b/org.eclipse.jdt.core/scripts/build_ecj.xml
new file mode 100755
index 0000000..cd38f4e
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/build_ecj.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="export-executable" default="build" basedir=".">
+
+	<property name="version" value="3.1.0" />
+	<property name="gcc-path" value="C:/java_tools/thisiscool-gcc/gcc-4.0" />
+	<property name="binaryname" value="ejavac${version}" />
+	<property name="dest" value="c:/temp/bingcj" />
+	<property name="extract_folder" value="${dest}/src/" />
+	<property name="work" value="${dest}/tmp/" />
+	<property name="source" value="C:/eclipse/I1111/eclipse/plugins/org.eclipse.jdt.source_3.1.0/src/org.eclipse.jdt.core_3.1.0/jdtcoresrc.zip" />
+	<property name="binaries" value="C:/eclipse/I1111/eclipse/plugins/org.eclipse.jdt.core_3.1.0/jdtcore.jar" />
+	<property name="gcj_script_name" value="export-executable.xml" />
+
+	<target name="build">
+		<echo message="target: ${dest}" />
+		<delete dir="${dest}" failonerror="no" />
+		<mkdir dir="${dest}" />
+
+		<unzip overwrite="yes" dest="${work}" src="${source}">
+			<patternset>
+				<include name="**/compiler/**" />
+				<exclude name="**/compiler/**/*.html" />
+				<exclude name="**/IScanner.java" />
+				<exclude name="**/ITerminalSymbols.java" />
+				<exclude name="**/DocumentElementParser.java" />
+				<exclude name="**/IDocumentElementRequestor.java" />
+				<exclude name="**/ISourceElementRequestor.java" />
+				<exclude name="**/SourceElementParser.java" />
+				<exclude name="**/SourceElementRequestorAdapter.java" />
+				<exclude name="**/SourceConstructorDeclaration.java" />
+				<exclude name="**/SourceFieldDeclaration.java" />
+				<exclude name="**/SourceMethodDeclaration.java" />
+				<exclude name="**/SourceTypeConverter.java" />
+			</patternset>
+		</unzip>
+
+		<unzip overwrite="yes" dest="${work}" src="${binaries}">
+			<patternset>
+				<include name="**/compiler/**/*.properties" />
+				<include name="**/*.rsc" />
+				<exclude name="**/*.class" />
+				<exclude name="**/*.mf" />
+			</patternset>
+		</unzip>
+
+		<!-- echo message="generate build script" />
+		<java classname="GenerateBuildScript">
+			<sysproperty key="user.dir" value="${basedir}/scripts"/>
+			<arg value="${gcj_script_name}"/>
+			<arg value="${basedir}/${work}"/>
+			<classpath>
+				<pathelement path="${basedir}/scripts"/>
+			</classpath>
+		</java>
+		
+		<echo message="run the new build script" />
+		<ant antfile="${basedir}/scripts/export-executable.xml"/>
+		<delete file="${basedir}/scripts/export-executable.xml"/ -->
+	</target>
+</project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml b/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml
deleted file mode 100644
index 19ad32d..0000000
--- a/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- build script to create a batch compiler from org.eclipse.jdt.core -->
-<project name="Eclipse Batch Compiler" default="export" basedir="..">
-	<target name="init">
-		<tstamp/>
-		<property name="destdir" value="../../batchcompiler-export" />
-		<property name="dest"  value="${destdir}" />
-	</target>
-
-	<target name="export" depends="init">
-
-		<echo message="TARGET: ${destdir}" />
-		<mkdir dir="${destdir}" />
-		<delete dir="${dest}" />
-		<mkdir dir="${dest}" />
-
-		<echo message="UPDATE jdtcom.jar" />
-		<zip zipfile="${dest}/jdtcom.jar">
-			<fileset dir=".">
-			  <include name="META-INF/**" />
-	        </fileset>
-	        <fileset dir="bin" includes="org/eclipse/jdt/internal/compiler/**,org/eclipse/jdt/core/compiler/**"/>
-		</zip>
-		<echo message="UPDATE jdtcomsrc.zip" />
-		<zip zipfile="${dest}/jdtcomsrc.zip">
-		    <zipfileset dir="batch" />
-		    <zipfileset dir="compiler" />
-  		</zip>		
-	
-	</target>
-</project>
diff --git a/org.eclipse.jdt.core/scripts/export-ecj.xml b/org.eclipse.jdt.core/scripts/export-ecj.xml
new file mode 100755
index 0000000..31351e9
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ecj.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- build script to create a batch compiler from org.eclipse.jdt.core -->
+<project name="Eclipse Batch Compiler" default="export-all" basedir="..">
+	<target name="init">
+		<tstamp/>
+		<property name="dest" value="../../ecj-export" />
+		<property name="ecj-temp-folder" value="${basedir}/ecj-temp-folder" />
+		<property name="ecj-temp-src-folder" value="${basedir}/ecj-temp-src-folder" />
+		<mkdir dir="${dest}" />
+		<mkdir dir="${ecj-temp-src-folder}" />
+		<mkdir dir="${ecj-temp-folder}"/>
+	</target>
+	
+	<target name="extract-batch-compiler" depends="init">
+		<property name="target.folder" value="${basedir}/bin"/>
+		<echo message="Extract .class file and properties for the batch compiler" />
+		<copy todir="${ecj-temp-folder}">
+			<fileset dir="${target.folder}">
+				<include name="org/eclipse/jdt/internal/compiler/**"/>
+				<include name="org/eclipse/jdt/core/compiler/**"/>
+				<exclude name="**/package.htm*"/>
+				<exclude name="org/eclipse/jdt/core/compiler/CompilationParticipant*.class"/>
+				<exclude name="org/eclipse/jdt/core/compiler/BuildContext.class"/>
+				<exclude name="org/eclipse/jdt/core/compiler/IScanner.class"/>
+				<exclude name="org/eclipse/jdt/core/compiler/ITerminalSymbols*.class"/>
+				<exclude name="org/eclipse/jdt/core/compiler/ReconcileContext*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/DocumentElementParser*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/IDocumentElementRequestor.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/ISourceElementRequestor*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/SourceElementParser*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/SourceJavadocParser*.class"/>
+				<exclude name="org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter*.class"/>
+			</fileset>
+		</copy>		
+	</target>
+
+	<target name="extract-_jsr199" depends="init">
+		<property name="target.folder" value="${basedir}/../org.eclipse.jdt.compiler.tool/bin"/>
+		<echo message="Extract .class file and properties for the jsr199" />
+		<copy todir="${ecj-temp-folder}" failonerror="false">
+			<fileset dir="${target.folder}"/>
+		</copy>		
+	</target>
+	
+	<target name="extract-_jsr269" depends="init">
+		<property name="jsr_project" value="org.eclipse.jdt.compiler.apt"/>
+		<property name="target.folder" value="${basedir}/../org.eclipse.jdt.compiler.apt/bin"/>
+		<echo message="Extract .class file and properties for the jsr269" />
+		<copy todir="${ecj-temp-folder}" failonerror="false">
+			<fileset dir="${target.folder}"/>
+		</copy>		
+	</target>
+
+	<target name="extract-ant-adapter-compiler" depends="init">
+		<property name="target.folder" value="antbin"/>
+		<echo message="Extract .class file and properties for the ant adapter" />
+		<mkdir dir="${ecj-temp-folder}"/>
+		<copy todir="${ecj-temp-folder}">
+			<fileset dir="${target.folder}">
+				<exclude name="org/eclipse/jdt/core/CheckDebugAttributes*.*"/>
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="export" depends="init">
+		<echo message="UPDATE ecj.jar" />
+		<delete file="${dest}/ecj.jar" failonerror="false"/>
+		<zip zipfile="${dest}/ecj.jar">
+			<fileset dir="${ecj-temp-folder}">
+				<include name="**/*"/>
+			</fileset>
+			<fileset dir="scripts">
+				<include name="META-INF/**" />
+				<include name="about.html" />
+			</fileset>
+		</zip>
+		<echo message="UPDATE ecjsrc.zip" />
+		<delete file="${dest}/ecjsrc.zip" failonerror="false"/>
+		<zip zipfile="${dest}/ecjsrc.zip">
+			<zipfileset dir="batch" />
+			<zipfileset dir="compiler" />
+			<zipfileset dir="antadapter">
+				<exclude name="org/eclipse/jdt/core/CheckDebugAttributes.java"/>
+			</zipfileset>
+			<zipfileset dir="scripts">
+				<include name="about.html" />
+				<include name="META-INF/**" />
+				<include name="build.xml" />
+			</zipfileset>
+		</zip>
+	</target>
+	
+	<target name="export_src_bin">
+		<echo message="UPDATE ecj_all.jar" />
+		<delete file="${dest}/ecj_all.jar" failonerror="false"/>
+		<mkdir dir="${ecj-temp-src-folder}/src" />
+
+		<copy todir="${ecj-temp-src-folder}/src">
+			<fileset dir="batch" />
+			<fileset dir="compiler" />
+			<fileset dir="antadapter">
+				<exclude name="org/eclipse/jdt/core/CheckDebugAttributes.java"/>
+			</fileset>
+		</copy>
+
+		<zip zipfile="${dest}/ecj_all.jar">
+			<fileset dir="${ecj-temp-folder}">
+				<include name="**/*"/>
+				<include name="about.html"/>
+			</fileset>
+			<fileset dir="${ecj-temp-src-folder}"/>
+			<fileset dir="scripts">
+				<include name="META-INF/**" />
+				<include name="about.html" />
+			</fileset>
+		</zip>
+		
+		<delete dir="${ecj-temp-src-folder}" failonerror="false"/>
+	</target>
+
+	<target name="cleanup">
+		<delete dir="${ecj-temp-folder}" failonerror="false"/>
+	</target>
+
+	<target name="export-all" depends="init">
+		<antcall target="extract-batch-compiler"/>
+		<antcall target="extract-ant-adapter-compiler"/>
+		<antcall target="extract-_jsr199"/>
+		<antcall target="extract-_jsr269"/>
+		<antcall target="export"/>
+		<antcall target="export_src_bin"/>
+		<antcall target="cleanup"/>
+	</target>
+</project>
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac.xml b/org.eclipse.jdt.core/scripts/export-ejavac.xml
index 09ef024..04c3190 100644
--- a/org.eclipse.jdt.core/scripts/export-ejavac.xml
+++ b/org.eclipse.jdt.core/scripts/export-ejavac.xml
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="export-executable" default="build" basedir="..">
 
-	<property name="version" value="310" />
-	<property name="gcc-path" value="D:\java_tools\thisiscool-gcc\gcc-4.0.old" />
-	<property name="binaryname" value="ejavac${version}" />
-	<property name="dest" value="../../bingcj/" />
-	<property name="work" value="${dest}tmp/" />
-	<property name="source" value="D:/eclipse/workspaces/head/org.eclipse.jdt.core" />
+	<property name="version" value="32M4SM" />
+	<property name="gcc-path" value="/oliviert/gcj4.0.3/xgcc" />
+	<property name="binaryname" value="ejavac${version}.exe" />
+	<property name="dest" value="../../bingcj" />
+	<property name="work" value="${dest}/tmp/" />
+	<property name="source" value="/oliviert/workspaces/head/org.eclipse.jdt.core" />
 	<property name="gcj_script_name" value="export-executable.xml"/>
 
     <target name="build">
@@ -23,9 +23,11 @@
 	
 		<echo message="generate build script" />
 		<java classname="GenerateBuildScript">
-			<sysproperty key="user.dir" value="${basedir}/scripts"/>
-			<arg value="${gcj_script_name}"/>
+			<arg value="${basedir}/scripts/${gcj_script_name}"/>
 			<arg value="${basedir}/${work}"/>
+			<arg value="i686-pc-mingw32-gcj"/>
+			<arg value="${basedir}/${work}"/>
+			<arg value="source"/>			
 			<classpath>
 				<pathelement path="${basedir}/scripts"/>
 			</classpath>
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac2.xml b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
new file mode 100755
index 0000000..942c677
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="export-executable" default="build" basedir="..">
+
+	<property name="version" value="32M4" />
+	<property name="gcc-path" value="/oliviert/gcj4.0.3/xgcc" />
+	<property name="binaryname" value="ejc${version}.exe" />
+	<property name="dest" value="../../bingcj" />
+	<property name="work" value="${dest}/tmp/" />
+	<property name="bin" value="${dest}/bin/" />
+	<property name="source" value="/oliviert/workspaces/head/org.eclipse.jdt.core" />
+	<property name="gcj_script_name" value="export-executable.xml"/>
+
+    <target name="build">
+		<echo message="target: ${dest}" />
+		<delete dir="${dest}" failonerror="no"/>
+		<mkdir dir="${dest}" />
+		<delete dir="${bin}" failonerror="no"/>
+		<mkdir dir="${bin}" />
+	
+		<copy todir="${work}">
+		    <fileset dir="${source}/batch/" excludes='**/*.html' />
+		</copy>
+		<copy todir="${work}">
+		    <fileset dir="${source}/compiler/" excludes='**/*.html' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/batch/" includes='**/*.properties' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/compiler/" includes='**/*.properties' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/compiler/" includes='**/*.rsc' />
+		</copy>
+   
+		<javac srcdir="${work}"
+			destdir="${bin}"
+			nowarn="on"
+			deprecation="off"
+			source="1.3"
+			debug="on"
+			verbose="off"
+			target="1.2">
+		    <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-1.4 -inlineJSR"/>
+		</javac>
+	
+		<echo message="generate build script" />
+		<java classname="GenerateBuildScript">
+			<arg value="${basedir}/scripts/${gcj_script_name}"/>
+			<arg value="${basedir}/${bin}"/>
+			<arg value="i686-pc-mingw32-gcj"/>
+			<arg value="${basedir}/${bin}"/>
+			<arg value="bin"/>
+			<classpath>
+				<pathelement path="${basedir}/scripts"/>
+			</classpath>
+		</java>
+		
+		<echo message="run the new build script" />
+		<ant antfile="${basedir}/scripts/export-executable.xml"/>
+		<delete file="${basedir}/scripts/export-executable.xml"/>
+	</target>
+</project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml b/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml
new file mode 100755
index 0000000..ed442dc
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="export-executable" default="build" basedir="..">
+
+	<property name="version" value="32M4" />
+	<property name="gcc-path" value="/oliviert/gcj4.1_linux/gcc" />
+	<property name="binaryname" value="ejc${version}" />
+	<property name="dest" value="../../bingcj" />
+	<property name="work" value="${dest}/tmp/" />
+	<property name="bin" value="${dest}/bin/" />
+	<property name="source" value="/oliviert/workspaces/head/org.eclipse.jdt.core" />
+	<property name="gcj_script_name" value="export-executable.xml"/>
+
+    <target name="build">
+		<echo message="target: ${dest}" />
+		<delete dir="${dest}" failonerror="no"/>
+		<mkdir dir="${dest}" />
+		<delete dir="${bin}" failonerror="no"/>
+		<mkdir dir="${bin}" />
+	
+		<copy todir="${work}">
+		    <fileset dir="${source}/batch/" excludes='**/*.html' />
+		</copy>
+		<copy todir="${work}">
+		    <fileset dir="${source}/compiler/" excludes='**/*.html' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/batch/" includes='**/*.properties' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/compiler/" includes='**/*.properties' />
+		</copy>
+		<copy todir="${bin}">
+		    <fileset dir="${source}/compiler/" includes='**/*.rsc' />
+		</copy>
+   
+		<javac srcdir="${work}"
+			destdir="${bin}"
+			nowarn="on"
+			deprecation="off"
+			source="1.3"
+			debug="on"
+			verbose="off"
+			target="1.2">
+		    <compilerarg compiler="org.eclipse.jdt.core.JDTCompilerAdapter" line="-1.4 -inlineJSR"/>
+		</javac>
+	
+		<echo message="generate build script" />
+		<java classname="GenerateBuildScript">
+			<arg value="${basedir}/scripts/${gcj_script_name}"/>
+			<arg value="${basedir}/${bin}"/>
+			<arg value="i686-pc-linux-gnu-gcj"/>
+			<arg value="${basedir}/${bin}"/>
+			<arg value="bin"/>
+			<classpath>
+				<pathelement path="${basedir}/scripts"/>
+			</classpath>
+		</java>
+		
+		<echo message="run the new build script" />
+		<ant antfile="${basedir}/scripts/export-executable.xml"/>
+		<delete file="${basedir}/scripts/export-executable.xml"/>
+	</target>
+</project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml b/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml
new file mode 100755
index 0000000..bbb1a89
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="export-executable" default="build" basedir="..">
+
+	<property name="version" value="v632linux" />
+	<property name="gcc-path" value="/oliviert/gcj4.1_linux/gcc" />
+	<property name="binaryname" value="ejc${version}" />
+	<property name="dest" value="../../bingcj" />
+	<property name="work" value="${dest}/tmp/" />
+	<property name="source" value="/oliviert/workspaces/head/org.eclipse.jdt.core" />
+	<property name="gcj_script_name" value="export-executable.xml"/>
+
+    <target name="build">
+		<echo message="target: ${dest}" />
+		<delete dir="${dest}" failonerror="no"/>
+		<mkdir dir="${dest}" />
+	
+		<copy todir="${work}">
+		    <fileset dir="${source}/batch/" excludes='**/*.html' />
+		</copy>
+		<copy todir="${work}">
+		    <fileset dir="${source}/compiler/" excludes='**/*.html' />
+		</copy>
+	
+		<echo message="generate build script" />
+		<java classname="GenerateBuildScript">
+			<arg value="${basedir}/scripts/${gcj_script_name}"/>
+			<arg value="${basedir}/${work}"/>
+			<arg value="i686-pc-linux-gnu-gcj"/>
+			<arg value="${basedir}/${work}"/>
+			<arg value="source"/>			
+			<classpath>
+				<pathelement path="${basedir}/scripts"/>
+			</classpath>
+		</java>
+		
+		<echo message="run the new build script" />
+		<ant antfile="${basedir}/scripts/export-executable.xml"/>
+		<delete file="${basedir}/scripts/export-executable.xml"/>
+	</target>
+</project>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/exportplugin.xml b/org.eclipse.jdt.core/scripts/exportplugin.xml
index 41ec08a..d0afada 100644
--- a/org.eclipse.jdt.core/scripts/exportplugin.xml
+++ b/org.eclipse.jdt.core/scripts/exportplugin.xml
@@ -1,11 +1,60 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <!-- build script to create a plugin from ${plugin} -->
-<project name="${plugin}" default="export plug-in [_3.1.1]" basedir="..">
+<project name="${plugin}" default="export plug-in [_3.3.2]" basedir="..">
 
-<target name="export plug-in [_3.1.1]">
+<target name="export plug-in [_3.3.2]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
 	<antcall target="zz_internal_export">
-		<param name="jdt_core_version" value="3.1.1"/>
+		<param name="jdt_core_version" value="3.3.2"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_3.3.2.qualifier] (with sources)">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.3.2.${qualifier}"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.3.2.qualifier] (binary only)">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export_binary_only">
+		<param name="jdt_core_version" value="3.3.2.${qualifier}"/>
+	</antcall>
+</target>
+
+	<target name="export plug-in [_3.3.1]">
+	    <tstamp/>
+		<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+		<antcall target="zz_internal_export">
+			<param name="jdt_core_version" value="3.3.1"/>
+		</antcall>
+	</target>
+
+<target name="export plug-in [_3.3.0]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.3.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_3.2.1]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.2.1"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_3.2.0]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.2.0"/>
 	</antcall>
 </target>
 
@@ -33,12 +82,6 @@
 	</antcall>
 </target>
 
-<target name="export plug-in [_2.1.0] (directory structure)">
-	<antcall target="zz_internal_export_structure">
-		<param name="jdt_core_version" value="2.1.0"/>
-	</antcall>
-</target>
-
 <target name="export plug-in [_2.0.1]">
 	<antcall target="zz_internal_export">
 		<param name="jdt_core_version" value="2.0.1"/>
@@ -75,36 +118,35 @@
 		basedir="antbin"/>
 
 	<echo message="UPDATE ${plugin}_${jdt_core_version}.jar" />
+	<copy todir="${plugin-dir}/META-INF">
+		<fileset dir="META-INF" />
+	</copy>  
+	<replaceregexp file="${plugin-dir}/META-INF/MANIFEST.MF" match="Bundle-Version: ((\d)+\.(\d)+\.(\d)+\.)qualifier" replace="Bundle-Version: \1${qualifier}" byline="true" />
 	<zip zipfile="${plugin-dir}/${plugin}_${jdt_core_version}.jar">
 		<fileset dir=".">
 		  <include name="plugin.xml" />
 		  <include name="plugin.properties" />
-		  <include name="META-INF/**" />
 	      <include name=".options"/>
           <include name="about.html"/>
         </fileset>
+		<fileset dir="${plugin-dir}">
+			<include name="META-INF/**" />
+		</fileset>
         <fileset dir="bin" />
         <fileset file="${plugin-dir}/jdtCompilerAdapter.jar"/>
+        <zipfileset dir="batch" prefix="src"/>
+	    <zipfileset dir="codeassist" prefix="src"/>
+	    <zipfileset dir="compiler" prefix="src"/>
+	    <zipfileset dir="dom" prefix="src"/>
+	    <zipfileset dir="eval" prefix="src"/>
+	    <zipfileset dir="formatter" prefix="src"/>
+	    <zipfileset dir="model" prefix="src"/>
+	    <zipfileset dir="search" prefix="src"/>
 	</zip>
+	<delete dir="${plugin-dir}/META-INF" />
 
 	<delete file="${plugin-dir}/jdtCompilerAdapter.jar"/>
-	<echo message="UPDATE src.zip" />
-	<zip zipfile="${plugin-dir}/src.zip">
-        <fileset file="component.xml"/>	
-	    <fileset dir="batch" />
-	    <fileset dir="codeassist" />
-	    <fileset dir="compiler" />
-	    <fileset dir="dom" />
-	    <fileset dir="eval" />
-	    <fileset dir="formatter" />
-	    <fileset dir="model" />
-	    <fileset dir="search" />
-	</zip>		
 
-	<echo message="UPDATE jdtCompilerAdaptersrc.zip" />
-	<zip zipfile="${plugin-dir}/jdtCompilerAdaptersrc.zip">
-		<fileset dir="antadapter" />
-	</zip>	    
 	<echo message="UPDATE ${export-dir}/../${plugin}_${jdt_core_version}.zip" />
 	<zip zipfile="${export-dir}/../${plugin}_${jdt_core_version}.zip"
 	    basedir="${export-dir}" 
@@ -114,55 +156,52 @@
 	-->
 </target>
 
-<target name="zz_internal_export_structure">
+<target name="zz_internal_export_binary_only">
 
 	<tstamp/>
 	<property name="export-dir" value="../../plugin-export" />
 	<property name="plugin" value="org.eclipse.jdt.core" />
-	<property name="bin_dest" value="${export-dir}/eclipse/plugins/${plugin}_${jdt_core_version}"/>
-	<property name="src_dest" value="${export-dir}/eclipse/plugins/org.eclipse.jdt.source_${jdt_core_version}/src/${plugin}_${jdt_core_version}"/>
+	<property name="plugin-dir" value="${export-dir}/${plugin}_${jdt_core_version}"/>
 
 	<echo message="TARGET: ${export-dir}" />
 	<mkdir dir="${export-dir}" />
-	<delete dir="${bin_dest}" />
-	<delete dir="${src_dest}" />
-	<mkdir dir="${bin_dest}" />
-	<mkdir dir="${src_dest}" />
+	<delete dir="${plugin-dir}" />
+	<mkdir dir="${plugin-dir}" />
 
-	<echo message="UPDATE jdtcore.jar" />
-	<jar 
-		jarfile="${bin_dest}/jdtcore.jar"
-		basedir="bin" 
-		excludes="**/JDTCompilerAdapter.class,**/antadapter/*"/>
-		
 	<echo message="UPDATE jdtCompilerAdapter.jar" />
-	<jar 
-		jarfile="${bin_dest}/jdtCompilerAdapter.jar"
-		basedir="bin" 
-		includes="**/JDTCompilerAdapter.class,**/antadapter/*"/>
+  	<jar 
+		jarfile="${plugin-dir}/jdtCompilerAdapter.jar"
+		basedir="antbin"/>
 
-	<echo message="UPDATE plugin.xml" />
-	<copy file="plugin.xml" todir="${bin_dest}" />
-	<echo message="UPDATE plugin.properties" />
-	<copy file="plugin.properties" todir="${bin_dest}" />
+	<echo message="UPDATE ${plugin}_${jdt_core_version}.jar" />
+	<copy todir="${plugin-dir}/META-INF">
+		<fileset dir="META-INF" />
+	</copy>  
+	<replaceregexp file="${plugin-dir}/META-INF/MANIFEST.MF" match="Bundle-Version: ((\d)+\.(\d)+\.(\d)+\.)qualifier" replace="Bundle-Version: \1${qualifier}" byline="true" />
+	<zip zipfile="${plugin-dir}/${plugin}_${jdt_core_version}.jar">
+		<fileset dir=".">
+		  <include name="plugin.xml" />
+		  <include name="plugin.properties" />
+	      <include name=".options"/>
+          <include name="about.html"/>
+        </fileset>
+		<fileset dir="${plugin-dir}">
+			<include name="META-INF/**" />
+		</fileset>
+        <fileset dir="bin" />
+        <fileset file="${plugin-dir}/jdtCompilerAdapter.jar"/>
+	</zip>
+	<delete dir="${plugin-dir}/META-INF" />
 
-	<echo message="UPDATE .options" />
-	<copy file=".options" todir="${bin_dest}" />
+	<delete file="${plugin-dir}/jdtCompilerAdapter.jar"/>
 
-	<echo message="UPDATE about.html" />
-	<copy file="about.html" todir="${bin_dest}" />
-
-	<echo message="UPDATE jdtcoresrc.zip" />
-	<zip zipfile="${src_dest}/jdtcoresrc.zip">
-	    <fileset dir="batch" />
-	    <fileset dir="codeassist" />
-	    <fileset dir="compiler" />
-	    <fileset dir="dom" />
-	    <fileset dir="eval" />
-	    <fileset dir="formatter" />
-	    <fileset dir="model" />
-	    <fileset dir="search" />
-	</zip>		
+	<echo message="UPDATE ${export-dir}/../${plugin}_${jdt_core_version}.zip" />
+	<zip zipfile="${export-dir}/../${plugin}_${jdt_core_version}.zip"
+	    basedir="${export-dir}" 
+	    includes="${plugin}_${jdt_core_version}/**"	/>
+	<!--
+		<delete dir="${plugin-dir}" />
+	-->
 </target>
 
 </project>
diff --git a/org.eclipse.jdt.core/scripts/ikvm_script.xml b/org.eclipse.jdt.core/scripts/ikvm_script.xml
index 7324c60..b60594a 100644
--- a/org.eclipse.jdt.core/scripts/ikvm_script.xml
+++ b/org.eclipse.jdt.core/scripts/ikvm_script.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <project name="ecj" default="all" basedir="..">
 	<!-- target name="checkout">
      <exec program="cvs" commandline="-z3 -d:pserver:anonymous@dev.eclipse.org:/home/eclipse co org.eclipse.jdt.core" />
