blob: dec31309456b442046bef3477aab5fe7bb3ddd62 [file] [log] [blame]
<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"/>
<fileset dir="apt"/>
</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>
<antcall target="transformOneFolderToAJ"><param name="srcfolder" value="apt"/></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>
<antcall target="transformOneFolderFromAJ"><param name="srcfolder" value="apt"/></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" />
<mkdir 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>