| <?xml version="1.0" ?> |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| |
| <project name="compiler-build-tools" default="main" basedir="."> |
| |
| <!-- |
| |
| PROPERTIES |
| |
| --> |
| |
| <!-- The 'compiler' property is the absolute path, with forward slashes, --> |
| <!-- to the 'compiler-build-tools' directory that contains this file. --> |
| <!-- All input paths are expressed as absolute paths starting with ${compiler-build-tools}. --> |
| <pathconvert property="compiler-build-tools" dirsep="/"> |
| <path location="${basedir}"/> |
| </pathconvert> |
| |
| <!-- Properties can be overridden locally by loading a local.properties file --> |
| <!-- Java 8 users probably need javadoc.params=-Xdoclint:none --> |
| <property file="${compiler-build-tools}/local.properties"/> |
| |
| <property name="src.depend" value="true"/> |
| |
| <!-- Options for <javac> tasks --> |
| <property name="javac.debug" value="true"/> |
| <property name="javac.deprecation" value="false"/> |
| <property name="javac.src" value="1.8"/> |
| |
| <!-- JAR manifest entries --> |
| <property name="manifest.sealed" value="false"/> |
| <property name="manifest.Implementation-Title" value="Apache Royale Compiler"/> |
| <property name="manifest.Implementation-Version" value="${release.version}"/> |
| <property name="manifest.Implementation-Vendor" value="Apache Software Foundation"/> |
| |
| <!-- label is set by CruiseControl script based on P4 label incrementer --> |
| <condition property="build.number" value="${env.BUILD_NUMBER}"> |
| <isset property="env.BUILD_NUMBER"/> |
| </condition> |
| |
| <target name="compiler.test.downloads"> |
| <ant antfile="${compiler-build-tools}/../compiler/src/test/downloads.xml" dir="${compiler-build-tools}/../compiler/src/test" inheritAll="false"/> |
| </target> |
| |
| <!-- |
| |
| BUILD TOOL COMPILATION |
| |
| --> |
| |
| <!-- The AnnotateClass tool is used to add @SupressWarnings annotations to Java code produced by ANTLR and JBurg --> |
| <target name="annotate.class" |
| description="Compiles the AnnotateClass build tool" > |
| <mkdir dir="${compiler-build-tools}/target/classes"/> |
| <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-build-tools}/target/classes" includeAntRuntime="true" |
| source="${javac.src}" target="${javac.src}"> |
| <compilerarg value="-Xlint:all,-path,-fallthrough"/> |
| <src path="${compiler-build-tools}/src/main/java"/> |
| <include name="org/apache/royale/compiler/tools/annotate/AnnotateClass.java"/> |
| <classpath> |
| <pathelement location="${compiler-build-tools}/target/classes"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <!-- The OrderSwitches tool is used to order a switch statement from |
| JFlex for reproducible binaries --> |
| <target name="order.switches" |
| description="Compiles the OrderSwitches build tool" > |
| <mkdir dir="${compiler-build-tools}/target/classes"/> |
| <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-build-tools}/target/classes" includeAntRuntime="true" |
| source="${javac.src}" target="${javac.src}"> |
| <compilerarg value="-Xlint:all,-path,-fallthrough"/> |
| <src path="${compiler-build-tools}/src/main/java"/> |
| <include name="org/apache/royale/compiler/tools/annotate/OrderSwitches.java"/> |
| <classpath> |
| <pathelement location="${compiler-build-tools}/target/classes"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <!-- The UnknownTreePatternInputOutput tool is used to compile an XML file containing unknown AST patterns to a Java class --> |
| <target name="unknown.tree.pattern.input.output" |
| description="Compiles the UnknownTreePatternInputOutput tool"> |
| <mkdir dir="${compiler-build-tools}/target/classes"/> |
| <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-build-tools}/target/classes" |
| includeAntRuntime="true" source="${javac.src}" target="${javac.src}"> |
| <src path="${compiler-build-tools}/src/main/java"/> |
| <include name="org/apache/royale/compiler/tools/unknowntreehandler/UnknownTreePatternInputOutput.java"/> |
| <compilerarg value="-Xlint:all,-path,-fallthrough"/> |
| </javac> |
| </target> |
| |
| <!-- The ProblemLocalizer tool is used to create a problems_en.properties file --> |
| <!-- filled with localization strings from classes extending org.apache.royale.compiler.CompilerProblem --> |
| <target name="problem.localizer" |
| description="Compiles the ProblemLocalizer build tool"> |
| <mkdir dir="${compiler-build-tools}/target/classes"/> |
| <javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler-build-tools}/target/classes" includeAntRuntime="true" |
| source="${javac.src}" target="${javac.src}"> |
| <compilerarg value="-Xlint:all,-path,-fallthrough"/> |
| <src path="${compiler-build-tools}/tools/problemlocalizer"/> |
| <classpath> |
| <pathelement location="${compiler-build-tools}/target/classes"/> |
| </classpath> |
| </javac> |
| </target> |
| |
| <target name="main" depends="annotate.class,order.switches, unknown.tree.pattern.input.output" /> |
| |
| <!-- |
| |
| CLEANUP |
| |
| --> |
| |
| <target name="clean" description="clean"> |
| <delete dir="${compiler-build-tools}/target/classes"/> |
| </target> |
| |
| <target name="wipe" depends="clean" description="Wipes everything that didn't come from Git."> |
| <delete dir="${compiler-build-tools}/target"/> |
| </target> |
| |
| </project> |