mirror of
https://github.com/processing/processing4.git
synced 2026-01-24 17:01:06 +01:00
147 lines
5.1 KiB
XML
147 lines
5.1 KiB
XML
<?xml version="1.0"?>
|
|
<project name="Java Mode" default="build">
|
|
|
|
<property name="generated"
|
|
value="${basedir}/generated/processing/mode/java/preproc" />
|
|
<mkdir dir="${generated}" />
|
|
|
|
<property name="grammars"
|
|
value="${basedir}/src/processing/mode/java/preproc" />
|
|
|
|
<property name="antlr_jar"
|
|
value="${basedir}/mode/antlr.jar" />
|
|
|
|
<property name="mode_jar"
|
|
value="${basedir}/mode/JavaMode.jar" />
|
|
|
|
<classloader taskname="antlr">
|
|
<classpath path="${antlr_jar}" />
|
|
</classloader>
|
|
|
|
<target name="clean" description="Clean the build directories">
|
|
<delete dir="bin" />
|
|
<delete file="${mode_jar}" />
|
|
<delete>
|
|
<fileset dir="${generated}">
|
|
<include name="*.java" />
|
|
<include name="*.tokens" />
|
|
<include name="*.txt" />
|
|
<include name="*.g" />
|
|
<include name="*.smap" />
|
|
<include name="*.properties" />
|
|
</fileset>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="preproc" description="Compile ANTLR grammar">
|
|
<antlr target="${grammars}/java15.g" outputdirectory="${generated}">
|
|
<classpath path="${antlr_jar}" />
|
|
</antlr>
|
|
<antlr target="${grammars}/pde.g"
|
|
outputdirectory="${generated}"
|
|
glib="${grammars}/java15.g">
|
|
<classpath path="${antlr_jar}" />
|
|
</antlr>
|
|
|
|
<!-- clean up the warning mess caused by this old antlr version -->
|
|
<!--<property name="uuc" value="@SuppressWarnings({ "unused", "unchecked", "cast" })${line.separator}" />-->
|
|
<property name="uucr" value="@SuppressWarnings({ "unused", "unchecked", "cast", "rawtypes" })${line.separator}" />
|
|
<property name="uc" value="@SuppressWarnings({ "unused", "cast" })${line.separator}" />
|
|
|
|
<!-- need to match against the previous line so that we don't re-add -->
|
|
<replaceregexp
|
|
file="generated/processing/mode/java/preproc/JavaLexer.java"
|
|
match="(\n\n)(public class JavaLexer .*)"
|
|
replace="\1${uucr}\2">
|
|
</replaceregexp>
|
|
|
|
<replaceregexp
|
|
file="generated/processing/mode/java/preproc/JavaRecognizer.java"
|
|
match="(\*/\n)(public class JavaRecognizer .*)"
|
|
replace="\1${uc}\2">
|
|
</replaceregexp>
|
|
|
|
<replaceregexp
|
|
file="generated/processing/mode/java/preproc/PdeLexer.java"
|
|
match="(\n\n)(public class PdeLexer .*)"
|
|
replace="\1${uucr}\2">
|
|
</replaceregexp>
|
|
|
|
<replaceregexp
|
|
file="generated/processing/mode/java/preproc/PdeRecognizer.java"
|
|
match="(\n\n)(public class PdeRecognizer .*)"
|
|
replace="\1${uc}\2">
|
|
</replaceregexp>
|
|
<!-- end of workaround for old antlr -->
|
|
</target>
|
|
|
|
<target name="compile" depends="preproc" description="Compile sources">
|
|
<condition property="core-built">
|
|
<available file="../core/library/core.jar" />
|
|
</condition>
|
|
<fail unless="core-built" message="Please first build the core library and make sure it is located at ../core/library/core.jar" />
|
|
|
|
<condition property="app-built">
|
|
<available file="../app/pde.jar" />
|
|
</condition>
|
|
<fail unless="app-built" message="Please build app first and make sure it is located at ../app/pde.jar" />
|
|
|
|
|
|
<mkdir dir="bin" />
|
|
|
|
<!-- in some cases, pde.jar was not getting built
|
|
https://github.com/processing/processing/issues/1792 -->
|
|
<delete file="${mode_jar}" />
|
|
|
|
<!-- env used to set classpath below -->
|
|
<property environment="env" />
|
|
|
|
<javac source="1.8"
|
|
target="1.8"
|
|
destdir="bin"
|
|
excludes="**/tools/format/**"
|
|
encoding="UTF-8"
|
|
includeAntRuntime="false"
|
|
classpath="../core/library/core.jar;
|
|
|
|
../app/pde.jar;
|
|
../app/lib/ant.jar;
|
|
../app/lib/ant-launcher.jar;
|
|
../app/lib/apple.jar;
|
|
../app/lib/jna.jar;
|
|
../app/lib/jna-platform.jar;
|
|
|
|
mode/antlr.jar;
|
|
mode/classpath-explorer-1.0.jar;
|
|
mode/jsoup-1.7.1.jar;
|
|
mode/org.netbeans.swing.outline.jar;
|
|
|
|
mode/jdi.jar;
|
|
mode/jdimodel.jar;
|
|
|
|
mode/com.ibm.icu.jar;
|
|
|
|
mode/org.eclipse.core.contenttype.jar;
|
|
mode/org.eclipse.core.jobs.jar;
|
|
mode/org.eclipse.core.resources.jar;
|
|
mode/org.eclipse.core.runtime.jar;
|
|
mode/org.eclipse.equinox.common.jar;
|
|
mode/org.eclipse.equinox.preferences.jar;
|
|
mode/org.eclipse.jdt.core.jar;
|
|
mode/org.eclipse.osgi.jar;
|
|
mode/org.eclipse.text.jar"
|
|
debug="on"
|
|
nowarn="true"
|
|
compiler="org.eclipse.jdt.core.JDTCompilerAdapter">
|
|
<src path="src" />
|
|
<src path="generated" />
|
|
<compilerclasspath path="mode/org.eclipse.jdt.core.jar;
|
|
mode/jdtCompilerAdapter.jar" />
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="build" depends="compile" description="Build PDE">
|
|
<jar basedir="bin" destfile="${mode_jar}" />
|
|
</target>
|
|
</project>
|