<project name="ShadowJdtCore" basedir="." default="make.jdtcore.jar"> | |
<property name="eclipse.home" value="/Users/aclement/eclipses/e432/eclipse"/> | |
<property name="plugins.dir" value="${eclipse.home}/plugins"/> | |
<property name="plugins.src.dir" value="${plugins.dir}/org.eclipse.platform.source_${eclipse.version}/src"/> | |
<property name="aspectjtools.jar" value=""/> | |
<!-- build the jdtDepends.jar and jdtDepends-src.zip files --> | |
<target name="makeJdtDepends"> | |
<delete file="lib/jdtDepends.jar"/> | |
<mkdir dir="lib"/> | |
<jar destfile="lib/jdtDepends.jar"> | |
<!-- updated to Java8 in KeplerSR2 timeframe --> | |
<zipfileset src="${plugins.dir}/org.eclipse.equinox.registry_3.5.301.v20130717-1549.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.equinox.common_3.6.200.v20130402-1505.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.osgi_3.9.1.v20140110-1610.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.jobs_3.5.300.v20130429-1813.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.resources_3.8.101.v20130717-0806.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.runtime_3.9.100.v20131218-1515.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.equinox.preferences_3.5.100.v20130422-1538.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.equinox.app_1.3.100.v20130327-1442.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.text_3.5.300.v20130515-1451.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.filesystem_1.4.0.v20130514-1240.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.contenttype_3.4.200.v20130326-1255.jar"/> | |
<zipfileset src="${plugins.dir}/org.eclipse.core.runtime.compatibility.registry_3.5.200.v20130514-1256/runtime_registry_compatibility.jar"/> | |
<!-- These are dependencies the original version 785 compiler had but we do not need because of how we use it --> | |
<!-- | |
<zipfileset src="${plugins.dir}/org.eclipse.team.core_3.3.1.r33x_20070807.jar"/> | |
<zipfileset src="${plugins.dir}/org.apache.ant_1.7.0.v200706080842/lib/ant.jar"/> | |
--> | |
</jar> | |
<delete file="lib/jdtDepends-src.zip" failonerror="false"/> | |
<!-- Build the source for the included libraries --> | |
<!-- incomplete... --> | |
<!-- | |
<jar destfile="lib/jdtDepends-src.zip" update="true"> | |
<zipfileset src="${plugins.src.dir}/org.eclipse.core.resources_${eclipse.version}/src.zip"/> | |
</jar> | |
--> | |
</target> | |
<target name="make.jdtcore.jar"> | |
<property name="aj" value="/Users/aclement/gits/org.aspectj/org.eclipse.jdt.core"/> | |
<delete file="${aj}/jdtcore-for-aspectj.jar"/> | |
<jar destfile="${aj}/jdtcore-for-aspectj.jar"> | |
<fileset dir="bin"/> | |
</jar> | |
<jar destfile="${aj}/jdtcore-for-aspectj.jar" update="true"> | |
<!-- with the AST code now activated, we need text and jface... --> | |
<zipfileset src="lib/jdtDepends.jar" excludes="org/apache/**,org/w3c/**,org/xml/**,org/xml/**,org/eclipse/jface/**,org/eclipse/osgi/**,META-INF/**"/> | |
</jar> | |
<delete file="${aj}/jdtcore-for-aspectj-src.zip"/> | |
<jar destfile="${aj}/jdtcore-for-aspectj-src.zip"> | |
<fileset dir="batch"/> | |
<fileset dir="compiler"/> | |
<fileset dir="antadapter"/> | |
<!--fileset dir="antadapter"/--> | |
<fileset dir="codeassist"/> | |
<fileset dir="dom"/> | |
<fileset dir="eval"/> | |
<fileset dir="formatter"/> | |
<fileset dir="model"/> | |
<fileset dir="search"/> | |
<fileset dir="aspectj"/> | |
</jar> | |
<!-- | |
<jar destfile="../org.eclipse.jdt.core/jdtcore-for-aspectj-src.zip" update="true"> | |
<zipfileset src="lib/jdtDepends-src.zip" excludes="org/apache/**,org/w3c/**,org/xml/**,org/eclipse/jface/**,org/eclipse/text/**,org/eclipse/osgi/**"/> | |
</jar> | |
--> | |
</target> | |
<target name="make.ajdtcore.jar" | |
description="build the ajdtcore.jar and jdtcore.jar used by the org.eclipse.ajdt.core plugin"> | |
<delete file="lib/ajdtcore.jar"/> | |
<jar destfile="lib/ajdtcore.jar"> | |
<zipfileset src="${aspectjtools.jar}"> | |
<include name = "org/aspectj/asm/**" /> | |
<include name = "org/aspectj/bridge/**" /> | |
<include name = "org/aspectj/ajdt/**" /> | |
<include name = "org/aspectj/tools/**" /> | |
<include name = "org/aspectj/lang/**" /> | |
<include name = "org/aspectj/runtime/**" /> | |
<include name = "org/aspectj/util/**" /> | |
<include name = "org/aspectj/weaver/**" /> | |
</zipfileset> | |
<fileset dir="bin"/> | |
</jar> | |
</target> | |
<target name="transformProjectToORGASPECTJ" | |
description="Transforms the contents of all source folders to use of an 'org.aspectj' prefix"> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="antadapter"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="batch"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="codeassist"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="compiler"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="dom"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="eval"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="formatter"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="model"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="search"/></antcall> | |
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="aspectj"/></antcall> | |
</target> | |
<target name="transformProjectFromORGASPECTJ" | |
description="Transforms the contents of all source folders to remove 'org.aspectj' prefix on package names"> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="antadapter"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="batch"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="codeassist"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="compiler"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="dom"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="eval"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="formatter"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="model"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="search"/></antcall> | |
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="aspectj"/></antcall> | |
</target> | |
<target name="transformOneFolderToAJ" description="For source folder named in 'srcfolder' param, renames refs to org.aspectj.org.eclipse.jdt"> | |
<delete dir="src-temp" /> | |
<echo message="Copying '${srcfolder}' to 'src-temp' and modifying file names to include aspectj"/> | |
<!-- if the files don't match org.eclipse they won't be looked copied --> | |
<copy toDir="src-temp"> | |
<fileset dir="${srcfolder}"/> | |
<mapper type="regexp" from="^(.*)org/eclipse/jdt(.*)$" to="\1org/aspectj/org/eclipse/jdt\2"/> | |
<!-- win | |
<mapper type="regexp" from="^(.*)org\\eclipse\\jdt(.*)$" to="\1org\\aspectj\\org\\eclipse\\jdt\2"/> | |
--> | |
</copy> | |
<!-- Copy across other stuff as is.. --> | |
<copy toDir="src-temp"> | |
<fileset dir="${srcfolder}"/> | |
<mapper type="regexp" from="^(.*)org/aspectj/ajdt(.*)$" to="\1org/aspectj/ajdt\2"/> | |
<!-- win | |
<mapper type="regexp" from="^(.*)org\\aspectj\\ajdt(.*)$" to="\1org\\aspectj\\ajdt\2"/> | |
--> | |
</copy> | |
<echo message="Modifying file contents to change refs from 'org.eclipse.jdt' to 'org.aspectj.org.eclipse.jdt'"/> | |
<!-- This next bit of code replaces all the string references. There are two files where | |
we have to be careful about. Both AssistOptions and CompilerOptions include strings for options that we | |
must not change as AJDT will be working with them without the prefix. We skip these two files on the | |
'big replace' and then do the pair of them with a less pervasive replace that will just do import and | |
package statements. --> | |
<replaceregexp byline="true" flags="g"> | |
<regexp pattern="org.eclipse.jdt"/> | |
<substitution expression="org.aspectj.org.eclipse.jdt"/> | |
<fileset dir="src-temp"> | |
<include name="**/*"/> | |
<exclude name="**/AssistOptions.java"/> | |
<exclude name="**/CompilerOptions.java"/> | |
</fileset> | |
</replaceregexp> | |
<replaceregexp byline="true" flags="g"> | |
<regexp pattern=" org.eclipse.jdt"/> | |
<substitution expression=" org.aspectj.org.eclipse.jdt"/> | |
<fileset dir="src-temp"> | |
<include name="**/AssistOptions.java"/> | |
<include name="**/CompilerOptions.java"/> | |
</fileset> | |
</replaceregexp> | |
<delete dir="${srcfolder}"/> | |
<echo message="Copying from 'src-temp' back to '${srcfolder}'"/> | |
<copy toDir="${srcfolder}"> | |
<fileset dir="src-temp"/> | |
</copy> | |
<delete dir="src-temp"/> | |
</target> | |
<target name="transformOneFolderFromAJ" description="For source folder named in 'srcfolder' param, renames refs to org.eclipse.jdt"> | |
<delete dir="src-temp" /> | |
<echo message="Copying '${srcfolder}' to 'src-temp' and modifying file names to remove aspectj"/> | |
<copy toDir="src-temp"> | |
<fileset dir="${srcfolder}"/> | |
<mapper type="regexp" from="^(.*)org\\aspectj\\org\\eclipse\\jdt(.*)$" to="\1org\\eclipse\\jdt\2"/> | |
</copy> | |
<!-- Copy across other stuff as is.. --> | |
<copy toDir="src-temp"> | |
<fileset dir="${srcfolder}"/> | |
<mapper type="regexp" from="^(.*)org\\aspectj\\ajdt(.*)$" to="\1org\\aspectj\\ajdt\2"/> | |
</copy> | |
<echo message="Modifying file contents to change refs from 'org.aspectj.org.eclipse' to 'org.eclipse.jdt'"/> | |
<replaceregexp byline="true" flags="g"> | |
<regexp pattern="org.aspectj.org.eclipse.jdt"/> | |
<substitution expression="org.eclipse.jdt"/> | |
<fileset dir="src-temp"> | |
<include name="**/*"/> | |
</fileset> | |
</replaceregexp> | |
<delete dir="${srcfolder}"/> | |
<echo message="Copying from 'src-temp' back to 'src'"/> | |
<copy toDir="${srcfolder}"> | |
<fileset dir="src-temp"/> | |
</copy> | |
<delete dir="src-temp"/> | |
</target> | |
</project> |