initial commit in accordance with CQ 3784
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript.java b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
new file mode 100644
index 0000000..d0bb011
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+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"); //$NON-NLS-1$
+	private static final String HEADER=
+		"<?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 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()) {
+				collectAllFiles(files[i], collector, fileFilter);
+			} else {
+				String newElement = files[i].getAbsolutePath();
+				newElement = newElement.replace('\\', '/');
+				collector.add(newElement);
+			}
+		}
+	}
+
+	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(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"; //$NON-NLS-1$
+	}
+			
+	public static void main(String[] args) {
+		if (args.length != 5) {
+			System.out.println("Usage: script_name directory gcj_exe_name dest_dir source/bin"); //$NON-NLS-1$
+			return;
+		}
+		try {
+			BufferedWriter writer = new BufferedWriter(new FileWriter(new File(args[0])));
+			writer.write(HEADER);
+			File sourceDir = new File(args[1]);
+			if (sourceDir.exists()) { 
+				ArrayList collector = new ArrayList();
+				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(MessageFormat.format(FOOTER, new Object[] {args[2], args[3]}));
+			writer.flush();
+			writer.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/org.eclipse.jdt.core/scripts/UpdateParserFiles.java b/org.eclipse.jdt.core/scripts/UpdateParserFiles.java
new file mode 100644
index 0000000..e93c466
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/UpdateParserFiles.java
@@ -0,0 +1,39 @@
+/**********************************************************************
+ * This file is part of "Object Teams Development Tooling"-Software
+ * 
+ * Copyright 2004, 2010 Fraunhofer Gesellschaft, Munich, Germany,
+ * for its Fraunhofer Institute and Computer Architecture and Software
+ * Technology (FIRST), Berlin, Germany and Technical University Berlin,
+ * Germany.
+ * 
+ * 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
+ * http://www.eclipse.org/legal/epl-v10.html
+ * $Id$
+ * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ * 	  Fraunhofer FIRST - Initial API and implementation
+ * 	  Technical University Berlin - Initial API and implementation
+ **********************************************************************/
+import java.io.IOException;
+import org.eclipse.jdt.internal.compiler.parser.Parser;
+
+public class UpdateParserFiles {
+
+	public static void main(String[] args) throws IOException {
+		if (args.length != 2) {
+			printUsage();
+			return;
+		}
+	Parser.buildFilesFromLPG(args[0], args[1]);
+	}
+			
+	public static void printUsage() {
+		System.out.println("Usage: UpdateParserFiles <path to javadcl.java> <path to javahdr.java>");
+		System.out.println("e.g. UpdateParserFiles c:/javadcl.java c:/javahdr.java");
+	}
+}
+
diff --git a/org.eclipse.jdt.core/scripts/about.html b/org.eclipse.jdt.core/scripts/about.html
new file mode 100644
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/binary/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/scripts/binary/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2adaf31
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/binary/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
+Bundle-ManifestVersion: 2
+Bundle-Name: Eclipse Compiler for Java(TM)
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
+Bundle-Version: 3.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse.org
+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.apt.dispatch;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.apt.model;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.apt.util;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,
+ org.eclipse.jdt.internal.compiler.tool;x-internal:=true
diff --git a/org.eclipse.jdt.core/scripts/build.xml b/org.eclipse.jdt.core/scripts/build.xml
new file mode 100644
index 0000000..d2cbfc1
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/build.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<project name="export-executable" default="build" basedir=".">
+
+	<property name="output" value="bin" />
+	<property name="jar_file" value="ecj.jar" />
+
+	<target name="build">
+		<delete file="${basedir}/${jar_file}" failonerror="no" />
+		<delete dir="${output}" failonerror="no" />
+		<mkdir dir="${output}" />
+
+		<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>
+
+		<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>
+
+		<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/build_ecj.xml b/org.eclipse.jdt.core/scripts/build_ecj.xml
new file mode 100644
index 0000000..66c7030
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/build_ecj.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<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
new file mode 100644
index 0000000..85b24bf
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml
@@ -0,0 +1,45 @@
+<?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/**">
+	        	<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>
+		</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 100644
index 0000000..64947b8
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ecj.xml
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ 	    Technical University Berlin - extended API and implementation
+ -->
+
+<!-- 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="ecj-temp-folder" value="${basedir}/ecj-temp-folder" />
+		<property name="ecj-temp-src-folder" value="${basedir}/ecj-temp-src-folder" />
+		<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/**"/>
+<!--{ObjectTeams:-->
+				<include name="org/objectteams/otdt/core/compiler/**"/>
+				<include name="org/objectteams/otdt/core/internal/compiler/**"/>
+				<include name="org/objectteams/otdt/core/exceptions/**"/>
+	        	<include name="org/eclipse/jdt/internal/codeassist/select/SelectionNodeFound.class"/>
+<!-- SH} -->
+				<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="${basedir}/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">
+		<property name="buildLabel" value="head" />
+		<property name="dest" value="../../ecj-export" />
+		<mkdir dir="${dest}" />
+<!-- {ObjectTeams: changed name from ecj to ecotj. SH} -->
+		<echo message="UPDATE ecotj-${buildLabel}.jar" />
+		<delete file="${dest}/ecotj-${buildLabel}.jar" failonerror="false"/>
+		<copy todir="${ecj-temp-folder}">
+			<fileset dir="scripts/binary" />
+		</copy>
+		<replace file="${ecj-temp-folder}/META-INF/MANIFEST.MF" token="qualifier" value="${buildLabel}"/>
+		<zip zipfile="${dest}/ecotj-${buildLabel}.jar">
+			<fileset dir="${ecj-temp-folder}">
+				<include name="**/*"/>
+			</fileset>
+			<fileset dir="scripts">
+				<include name="about.html" />
+			</fileset>
+		</zip>
+
+
+		<echo message="UPDATE ecotjsrc-${buildLabel}.zip" />
+		<delete file="${dest}/ecotjsrc-${buildLabel}.zip" failonerror="false"/>
+		<copy todir="${ecj-temp-src-folder}">
+			<fileset dir="scripts/source" />
+		</copy>
+		<replace file="${ecj-temp-src-folder}/META-INF/MANIFEST.MF" token="qualifier" value="${buildLabel}"/>
+		<zip zipfile="${dest}/ecotjsrc-${buildLabel}.zip">
+			<zipfileset dir="ecj-temp-src-folder" />
+			<zipfileset dir="batch" />
+			<zipfileset dir="compiler" />
+<!-- {ObjectTeams: -->		    
+		    <zipfileset dir="util">
+		    	<exclude name="org/objectteams/otdt/core/util/**"/>
+		    </zipfileset>
+<!-- SH} -->		    
+			<zipfileset dir="antadapter">
+				<exclude name="org/eclipse/jdt/core/CheckDebugAttributes.java"/>
+			</zipfileset>
+			<zipfileset dir="scripts">
+				<include name="about.html" />
+				<include name="build.xml" />
+			</zipfileset>
+		</zip>
+		<antcall target="cleanup"/>
+	</target>
+
+	<target name="export_src_bin">
+		<property name="buildLabel" value="head" />
+		<property name="dest" value="../../ecj-export" />
+		<mkdir dir="${dest}" />
+		<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-folder}">
+			<fileset dir="scripts/binary" />
+		</copy>
+		<replace file="${ecj-temp-folder}/META-INF/MANIFEST.MF" token="qualifier" value="${buildLabel}"/>
+
+		<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}">
+				<exclude name="META-INF/**"/>
+			</fileset>
+			<fileset dir="scripts">
+				<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"/>
+		<delete dir="${ecj-temp-src-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_src_bin"/>
+		<antcall target="export"/>
+		<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
new file mode 100644
index 0000000..8c7d2ac
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<project name="export-executable" default="build" basedir="..">
+
+	<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">
+		<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-mingw32-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/export-ejavac2.xml b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
new file mode 100644
index 0000000..a5fe20e
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<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 100644
index 0000000..6d38b19
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<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 100644
index 0000000..7a0cae9
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<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
new file mode 100644
index 0000000..1223454
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/exportplugin.xml
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<!-- build script to create a plugin from ${plugin} -->
+<project name="${plugin}" default="export plug-in [_3.6.0]" basedir="..">
+<target name="export plug-in [_3.6.0]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.6.0"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.6.0.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.6.0.${qualifier}"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.6.0.qualifier] (with sources)">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.6.0.${qualifier}"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.5.0]">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.5.0"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.5.0.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.5.0.${qualifier}"/>
+	</antcall>
+</target>
+<target name="export plug-in [_3.5.0.qualifier] (with sources)">
+    <tstamp/>
+	<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.5.0.${qualifier}"/>
+	</antcall>
+</target>
+	<target name="export plug-in [_3.4.0]">
+	    <tstamp/>
+		<property name="qualifier" value="z${DSTAMP}-${TSTAMP}" />
+		<antcall target="zz_internal_export">
+			<param name="jdt_core_version" value="3.4.0"/>
+		</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>
+
+<target name="export plug-in [_3.1.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.1.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_3.0.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.0.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.1.1]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="2.1.1"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.1.0]">
+	<antcall target="zz_internal_export">
+		<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"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.0.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="2.0.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_1.9.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="1.9.0"/>
+	</antcall>
+</target>
+
+<target name="zz_internal_export">
+
+	<tstamp/>
+	<property name="export-dir" value="../../plugin-export" />
+	<property name="plugin" value="org.eclipse.jdt.core" />
+	<property name="plugin-dir" value="${export-dir}/${plugin}_${jdt_core_version}"/>
+
+	<echo message="TARGET: ${export-dir}" />
+	<mkdir dir="${export-dir}" />
+	<delete dir="${plugin-dir}" />
+	<mkdir dir="${plugin-dir}" />
+
+	<echo message="UPDATE jdtCompilerAdapter.jar" />
+  	<jar 
+		jarfile="${plugin-dir}/jdtCompilerAdapter.jar"
+		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=".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 ${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>
+
+<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="plugin-dir" value="${export-dir}/${plugin}_${jdt_core_version}"/>
+
+	<echo message="TARGET: ${export-dir}" />
+	<mkdir dir="${export-dir}" />
+	<delete dir="${plugin-dir}" />
+	<mkdir dir="${plugin-dir}" />
+
+	<echo message="UPDATE jdtCompilerAdapter.jar" />
+  	<jar 
+		jarfile="${plugin-dir}/jdtCompilerAdapter.jar"
+		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=".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" />
+
+	<delete file="${plugin-dir}/jdtCompilerAdapter.jar"/>
+
+	<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/generateOTParser.sh b/org.eclipse.jdt.core/scripts/generateOTParser.sh
new file mode 100644
index 0000000..cb2f947
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/generateOTParser.sh
@@ -0,0 +1,330 @@
+#!/bin/bash
+############################################################################################################################################################
+# This file is part of "Object Teams Development Tooling"-Software
+#
+# Copyright 2003, 2006 Fraunhofer Gesellschaft, Munich, Germany,
+# for its Fraunhofer Institute and Computer Architecture and Software
+# Technology (FIRST), Berlin, Germany and Technical University Berlin,
+# Germany.
+#
+# 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
+# http://www.eclipse.org/legal/epl-v10.html
+#
+#
+# Contributors:
+# Fraunhofer FIRST - Initial API and implementation
+# Technical University Berlin - Initial API and implementation
+#
+# Dieses Script erzeugt aus der java.g Datei alle automatisch generierbaren Dateien
+# und kopiert diese an die richtigen Stellen innerhalb der aktuellen Sourcen
+# Das Script benötigt den Ordner "OTDTCore"
+# Das Script benötigt die Datei "objectteams.g" welche aus dem Eclipse Quellcode extrahiert werden kann.
+# Zu Beginn des Vorganges wird eine Kopie aller Dateien die in den Sourcen verändert werden erstellt
+
+############################################################################################################################################################
+
+JIKESPG_HOME=${JIKESPG_HOME:-/usr/bin}
+export JIKESPG_HOME
+
+# please adjust:
+JDTCORE_JAR=/home/local/eclipse-3.5/plugins/org.eclipse.jdt.core_3.5.0.v_963.jar
+
+
+
+if test $# -ne 2
+then
+	echo "Achtung: JIKESPG_HOME muss KORREKT gesetzt sein!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	echo "Bsp: generateOTParser.sh objectteams.g OTDTCore"
+	echo "(im Verzeichnis des Skripts aufzurufen)."
+	exit
+fi
+
+GRAMMAR=`readlink -f "$1"`
+SOURCE=`readlink -f "$2"`
+
+if test -f $JIKESPG_HOME/jikespg
+then
+	echo "jikespg wurde gefunden"
+else
+	echo "JIKESPG_HOME/jikespg konnte nicht gefunden werden"
+	exit
+fi
+
+if test -f $GRAMMAR
+then
+	echo "Verwende Grammatik:" $GRAMMAR
+else
+	echo "Fehler: Grammatik" $GRAMMAR "konnte nicht gefunden werden!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	exit
+fi
+
+if test -d $SOURCE
+then
+	echo "Verwende Eclipse-Sourcen:" $SOURCE
+else
+	echo "Fehler: Eclipse-Sourcen" $SOURCE "konnten nicht gefunden werden!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	exit
+fi
+
+echo "Initiales Aufräumen"
+if test -d output
+then
+	rm -r output
+fi
+
+if test -d backup
+then
+	rm -r backup
+fi
+
+echo "Leere Verzeichnisse erzeugen"
+mkdir output
+mkdir backup
+
+echo "Original Dateien vor der Anpassung aus Sourcen holen"
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java                  output
+else
+	exit
+fi
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java          output
+else
+	exit
+fi
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java  output
+else
+	exit
+fi
+
+echo "Eine Kopie der Originaldateien die verändert werden im Ordner backup erzeugen"
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java                   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java           backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/parser?.rsc                   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/readableNames.properties      backup
+
+cp $GRAMMAR output
+
+############################################################################################################################################################
+cd output
+echo "Parsergenerator starten"
+islalr=`$JIKESPG_HOME/jikespg $GRAMMAR | tee /tmp/jikes.log | grep grammar`
+
+if [ "$islalr" = "This grammar is LALR(1)." ]
+then
+	echo "Grammatik ist LALR(1)."
+else
+	echo "Grammatik ist nicht korrekt!"
+	exit
+fi
+
+chmod 644 *
+
+#echo "Konstanten von javasym.java umbenennen"
+cat javasym.java | sed -e s/TokenName\$eof/TokenNameEOF/g -e s/TokenName\$error/TokenNameERROR/g > javasym_tmp.java
+rm javasym.java
+mv javasym_tmp.java javasym.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: javadef.java"
+cat javadef.java  | awk '{
+	if($0 ~ /^[ \t]*{[ \t]*$/ ){
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}.*$/){
+			print nextline ;
+		}
+		print "}" ;
+	}
+}
+' > javadef_tmp.java
+
+echo "Alles unnötige wegschneiden: ParserBasicInformation.java"
+cat ParserBasicInformation.java  | awk '{
+	if($0 ~ /^.*{[ \t]*$/ ){
+		print $0;
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	} else {
+		print $0
+	}
+}
+' > ParserBasicInformation_tmp.java
+
+echo "Kopiere den Inhalt von javadef.java nach ParserBasicInformation.java"
+cat ParserBasicInformation_tmp.java javadef_tmp.java > ParserBasicInformation.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: JavaAction.java"
+cat JavaAction.java | awk '{\
+	if($0 !~ /^[ \t]*\/\/ This method is part of an automatic generation : do NOT edit-modify[ \t]*$/ ){\
+		print $0\
+	}\
+}\
+' > JavaAction_tmp.java
+
+echo "Ersetze die Methode consumeRule gegen das Token TMP_CUT_OUT"
+cat Parser.java  | awk '{
+	if($0 ~ /^[ \t]*protected void consumeRule\(int act\) \{[ \t]*$/ ){
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		print "TMP_CUT_OUT";
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	} else {
+		print $0
+	}
+}
+' > Parser_tmp.java
+
+cat Parser_tmp.java  | awk '{
+	if($0 ~ /^TMP_CUT_OUT$/ ){
+		while((getline nextline) == 1){
+			nextline="" ;
+		}
+	} else {
+		print $0
+	}
+}
+' > Parser_1_tmp.java
+
+cat Parser_tmp.java  | awk '{
+	if($0 ~ /^TMP_CUT_OUT$/ ){
+		while((getline nextline) == 1){
+			print nextline;
+		}
+	}
+}
+' > Parser_2_tmp.java
+
+echo "Kopiere den Inhalt von JavaAction.java nach Parser.java"
+cat Parser_1_tmp.java JavaAction_tmp.java Parser_2_tmp.java > Parser.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: TerminalTokens.java"
+cat TerminalTokens.java  | awk '{
+	if($0 ~ /^[ \t]*public interface TerminalTokens \{[ \t]*$/ ){
+		print $0
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*int[ \t]*$/){
+			print nextline ;
+		}
+		print nextline ;
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*int[ \t]*$/){
+			print nextline ;
+		}
+		print nextline ;
+
+		while((getline nextline) == 1 ){
+			nextline ="";
+		}
+
+	} else {
+		print $0
+	}
+}
+' > TerminalTokens_tmp.java
+
+echo "Alles unnötige wegschneiden: javasym.java"
+cat javasym.java  | awk '{
+	if($0 ~ /^[ \t]*public final static int[ \t]*$/ ){
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	}
+}
+' > javasym_tmp.java
+
+
+echo "Kopiere den Inhalt von javasym.java nach TerminalTokens.java"
+cat TerminalTokens_tmp.java javasym_tmp.java > TerminalTokens.java
+cd ..
+############################################################################################################################################################
+cd output
+
+cp  ../UpdateParserFiles.java .
+if [ -z ${JDTCORE_JAR} ]
+then
+  if test -f ${ECLIPSE_HOME}/plugins/org.eclipse.jdt.core_3.0.0/jdtcore.jar
+  then
+	JDTCORE_JAR=${ECLIPSE_HOME}/plugins/org.eclipse.jdt.core_3.0.0/jdtcore.jar
+  else
+    	echo "FEHLER: jdtcore.jar nicht gefunden!"
+	echo "Bitte Umgebungsvariable ECLIPSE_HOME setzen."
+    	exit
+  fi
+fi
+echo "Verwende jdtcore.jar aus ${JDTCORE_JAR}"
+#cp ${JDTCORE_JAR} .
+echo "UpdateParserFiles kompilieren"
+javac -classpath ${JDTCORE_JAR} UpdateParserFiles.java
+echo "Ressourcendateien erzeugen (*.rsc)"
+java -classpath .:${JDTCORE_JAR} UpdateParserFiles javadcl.java javahdr.java
+
+cd ..
+
+############################################################################################################################################################
+echo "Alle zu aktualisierenden Classfiles entfernen (Parser/TerminalTokens/ParserBasicInformation)"
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/Parser.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/Parser.class
+fi
+
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.class
+fi
+
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.class
+fi
+
+#################################################################################################################
+echo "Die originalen Dateien werden in den Sourcen durch die neu generierten ersetzt"
+cp output/Parser.java                 $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/TerminalTokens.java         $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/ParserBasicInformation.java $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/parser*.rsc                 $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/parser*.rsc                 $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser
+cp output/readableNames.properties    $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/readableNames.properties    $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser
+############################################################################################################################################################
+#echo "Eclipse Build ausfhren mit Optionen build -os linux -ws motif"
+#cd $SOURCE
+#build -os linux -ws motif
+#cd ..
+############################################################################################################################################################
+#echo "Alle nicht mehr benötigten bzw temporären Dateien entfernen"
+#rm -rf output
+############################################################################################################################################################
+#echo "Eclipse starten"
+#cd $SOURCE
+#eclipse
+############################################################################################################################################################
+echo "Fertig"
+echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+echo "Bitte fhren sie ein 'Refresh' im Eclipse Package Explorer aus"
+echo "Da Eclipse die Abhängigkeiten zu den geänderten Interfaces sonst nicht aktualisiert"
diff --git a/org.eclipse.jdt.core/scripts/ikvm_script.xml b/org.eclipse.jdt.core/scripts/ikvm_script.xml
new file mode 100644
index 0000000..ff090db
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/ikvm_script.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<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" />
+   </target>
+   <target name="allsources">
+     <exec program="cmd" commandline="/c dir /s/b org.eclipse.jdt.core\batch\*.java > allsources.lst" />
+     <exec program="cmd" commandline="/c dir /s/b org.eclipse.jdt.core\compiler\*.java >> allsources.lst" />
+   </target>
+   <target name="classes">
+     <exec program="../bin/ikvmstub.exe" commandline="IKVM.GNU.Classpath" useruntimeengine="true" />
+     <exec program="jikes" commandline="-nowarn -classpath IKVM.GNU.Classpath.jar;org.eclipse.jdt.core/compiler;org.eclipse.jdt.core/batch @allsources.lst" />
+     <delete file="IKVM.GNU.Classpath.jar" />
+   </target -->
+	<property name="ikvm_home" value="D:\java_tools\ikvm" />
+	<property name="dest" value="../../bingcj" />
+	<property name="work" value="${dest}/tmp" />
+	<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+	<property name="source" value="D:/eclipse/workspaces/head/org.eclipse.jdt.core" />
+
+    <target name="clean">
+		<echo message="target: ${dest}" />
+		<delete dir="${dest}" failonerror="no"/>
+		<mkdir dir="${dest}" />
+	</target>	
+
+	<target name="retrieve_class_files">
+		<copy todir="${work}">
+		    <fileset dir="${source}/batch/" includes='**/*.java' />
+		</copy>
+		<copy todir="${work}">
+		    <fileset dir="${source}/compiler/" includes='**/*.java' />
+		</copy>
+
+		<echo message="copy resource files"/>
+		<copy todir="${dest}">
+		    <fileset dir="${source}/compiler/" includes='**/*.rsc' />
+		</copy>
+
+		<echo message="copy properties files from compiler"/>
+		<copy todir="${dest}">
+		    <fileset dir="${source}/compiler/" includes='**/*.properties' />
+		    <fileset dir="${source}/batch/" includes='**/*.properties' />
+		</copy>
+
+		<javac srcdir="${work}" destdir="${dest}" nowarn="off" deprecation="off" source="1.4" debug="off" verbose="on">
+			<classpath>
+				<path location="${work}"/>
+			</classpath>
+		</javac>
+
+		<delete dir="${work}" failonerror="no"/>
+	</target>
+
+	<target name="ecj">
+		<exec dir="${dest}" executable="${ikvm_home}/bin/ikvmc.exe" output="${dest}/log.txt">
+			<arg line="-out:ecj.exe -main:org.eclipse.jdt.internal.compiler.batch.Main -recurse:./*.class -recurse:./*.properties -recurse:./*.rsc"/>
+		</exec>
+		<copy file="${ikvm_home}/bin/IKVM.Runtime.dll" todir="${dest}" />
+		<copy file="${ikvm_home}/bin/IKVM.GNU.Classpath.dll" todir="${dest}" />
+	</target>
+
+	<target name="all" depends="clean, retrieve_class_files, ecj">
+	</target>
+</project>
diff --git a/org.eclipse.jdt.core/scripts/oldexportplugin.xml b/org.eclipse.jdt.core/scripts/oldexportplugin.xml
new file mode 100644
index 0000000..4b76405
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/oldexportplugin.xml
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
<!--
+    Copyright (c) 2007, 2009 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
+    http://www.eclipse.org/legal/epl-v10.html
+    
+    Contributors:
+        IBM Corporation - initial API and implementation
+ -->
+
+<!-- build script to create a plugin from ${plugin} -->
+<project name="${plugin}" default="export plug-in [_3.1.0]" basedir="..">
+
+<target name="export plug-in [_3.1.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.1.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_3.0.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="3.0.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.1.1]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="2.1.1"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.1.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="2.1.0"/>
+	</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"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_2.0.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="2.0.0"/>
+	</antcall>
+</target>
+
+<target name="export plug-in [_1.9.0]">
+	<antcall target="zz_internal_export">
+		<param name="jdt_core_version" value="1.9.0"/>
+	</antcall>
+</target>
+
+<target name="zz_internal_export">
+
+	<tstamp/>
+	<property name="export-dir" value="../../plugin-export" />
+	<property name="plugin" value="org.eclipse.jdt.core" />
+	<property name="plugin-dir" value="${export-dir}/${plugin}_${jdt_core_version}"/>
+
+	<echo message="TARGET: ${export-dir}" />
+	<mkdir dir="${export-dir}" />
+	<delete dir="${plugin-dir}" />
+	<mkdir dir="${plugin-dir}" />
+
+	<echo message="UPDATE jdtcore.jar" />
+	<jar 
+		jarfile="${plugin-dir}/jdtcore.jar"
+		basedir="bin"
+		manifest="META-INF/MANIFEST.MF"/>
+		
+	<echo message="UPDATE jdtCompilerAdapter.jar" />
+	<jar 
+		jarfile="${plugin-dir}/jdtCompilerAdapter.jar"
+		basedir="antbin"/>
+
+	<echo message="UPDATE plugin.xml" />
+	<copy file="plugin.xml" todir="${plugin-dir}" />
+	<echo message="UPDATE plugin.properties" />
+	<copy file="plugin.properties" todir="${plugin-dir}" />
+
+	<echo message="UPDATE .options" />
+	<copy file=".options" todir="${plugin-dir}" />
+
+	<echo message="UPDATE about.html" />
+	<copy file="about.html" todir="${plugin-dir}" />
+
+	<echo message="UPDATE jdtcoresrc.zip" />
+	<zip zipfile="${plugin-dir}/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 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}" 
+	    includes="${plugin}_${jdt_core_version}/**"	/>		
+</target>
+
+<target name="zz_internal_export_structure">
+
+	<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}"/>
+
+	<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}" />
+
+	<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/*"/>
+
+	<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 .options" />
+	<copy file=".options" todir="${bin_dest}" />
+
+	<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>		
+</target>
+
+</project>
diff --git a/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1966ba5
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Source of Eclipse Compiler for Java(TM)
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch.source
+Bundle-Version: 3.6.0.qualifier
+Bundle-Vendor: Eclipse.org
+Eclipse-SourceBundle: org.eclipse.jdt.core.compiler.batch;version="3.6.0.qualifier";roots:="."