blob: 3dfc74c652ad808d7f58e0803750eda53cf5878e [file] [log] [blame]
<?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" default="main" basedir=".">
<!--
PROPERTIES
-->
<!-- The 'compiler' property is the absolute path, with forward slashes, -->
<!-- to the 'compiler' directory that contains this file. -->
<!-- All input paths are expressed as absolute paths starting with ${compiler}. -->
<pathconvert property="compiler" dirsep="/">
<path location="${basedir}"/>
</pathconvert>
<!-- The 'env' property contains all the environment variables -->
<property environment="env"/>
<!-- Properties can be overridden locally by loading a local.properties file -->
<property file="${compiler}/local.properties"/>
<property name="playerglobal.version" value="11.1" />
<property name="env.FLEX_HOME" value="${compiler}/generated/dist/sdk"/>
<property name="env.PLAYERGLOBAL_HOME" value="${compiler}/generated/dist/sdk/frameworks/libs/player"/>
<!-- set FLEX_HOME from environment if not already set -->
<property name="FLEX_HOME" value="${env.FLEX_HOME}"/>
<!-- The Falcon SDK is assembled from sdk project, where 'ant main' has build an SDK -->
<!-- With the move to git the path to the assumed root is one level less up and doesn't need to include 'branches/develop' -->
<!-- Old path: -->
<!-- property name="sdk.branch" value="${compiler}/../../../sdk/branches/develop"/ -->
<!-- New path: -->
<available file="${compiler}/../../flex-sdk"
type="dir"
property="sdk.branch"
value="${compiler}/../../flex-sdk" />
<available file="${compiler}/../../sdk"
type="dir"
property="sdk.branch"
value="${compiler}/../../sdk" />
<property name="sdk.branch" value="${FLEX_HOME}" />
<!-- The 'sdk' property is the absolute path, with forward slashes, to the compiler/generated/dist/sdk directory -->
<!-- where a Falcon SDK is built -->
<!-- All output paths are expressed as absolute paths starting with ${sdk} -->
<property name="sdk" value="${compiler}/generated/dist/sdk"/>
<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.6"/>
<!-- JAR manifest entries -->
<property name="manifest.sealed" value="false"/>
<property name="manifest.Implementation-Title" value="Apache Flex Compiler"/>
<property name="manifest.Implementation-Version" value="0.5.0"/>
<property name="manifest.Implementation-Vendor" value="Apache Software Foundation"/>
<property name="compiler.ant.binaries" value="org/apache/flex/compiler/ant/**/*.class"/>
<property name="compiler.font.binaries" value="org/apache/flex/fonts/**"/>
<!-- label is set by CruiseControl script based on P4 label incrementer -->
<condition property="build.number" value="${label}">
<isset property="label"/>
</condition>
<!--
CLASSPATHS
-->
<path id="classpath">
<fileset dir="${compiler}/lib" includes="**/*.jar"/>
</path>
<!--
MACROS
-->
<!--
Defines a <jflex input="..." skeleton="..." output="..."> macro
for using JFlex to generate a Java-based lexer from a .lex file.
-->
<macrodef name="jflex">
<attribute name="input"/>
<attribute name="skeleton" default="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/skeleton.default"/>
<attribute name="output"/>
<sequential>
<java jar="${compiler}/lib/JFlex.jar" fork="true">
<arg value="-d"/>
<arg value="@{output}"/>
<arg value="-q"/>
<arg value="@{input}"/>
<arg value="--skel"/>
<arg value="@{skeleton}"/>
</java>
</sequential>
</macrodef>
<!--
Defines an <antlr2 input="..." output="..."> macro
for using ANTLR 2 to generate a Java-based parser from a .g file.
-->
<macrodef name="antlr2">
<attribute name="input"/>
<attribute name="output"/>
<sequential>
<mkdir dir="@{output}"/>
<dirname property="antlr2.dirname.@{input}" file="@{input}"/>
<antlr target="@{input}" outputdirectory="@{output}" dir="${antlr2.dirname.@{input}}">
<classpath>
<pathelement path="${compiler}/lib/antlr.jar"/>
</classpath>
</antlr>
</sequential>
</macrodef>
<!--
Defines an <antlr3 input="..." output="..."> macro
for using ANTLR 3 to generate a Java-based parser from a .g file.
-->
<macrodef name="antlr3">
<attribute name="input"/>
<attribute name="output"/>
<sequential>
<mkdir dir="@{output}"/>
<!-- Call antlr3 on command-line because we can't update Ant library path. -->
<java jar="${compiler}/lib/antlr.jar" fork="yes" failonerror="yes">
<arg value="@{input}"/>
<arg value="-o"/>
<arg value="@{output}"/>
</java>
</sequential>
</macrodef>
<!--
Defines a <jburg input="..." output="..."> macro
for using JBurg to generate a Java-based BURM from a .jbg file.
-->
<macrodef name="jburg">
<attribute name="input"/>
<attribute name="output"/>
<sequential>
<dirname property="jburg.dirname.@{input}" file="@{input}"/>
<dirname property="jburg.dirname.@{output}" file="@{output}"/>
<basename property="jburg.basename.@{output}" file="@{output}"/>
<mkdir dir="${jburg.dirname.@{output}}"/>
<java classname="jburg.burg.JBurgMain"
classpath="${compiler}/generated/classes"
fork="true" failonerror="true"
dir="${jburg.dirname.@{input}}">
<arg value="@{input}"/>
<arg value="-outputdir"/>
<arg value="${jburg.dirname.@{output}}"/>
<arg value="-outputfile"/>
<arg value="${jburg.basename.@{output}}"/>
<arg value="-g"/>
<classpath>
<pathelement path="${compiler}/generated/classes"/>
<pathelement path="${compiler}/lib/antlr.jar"/>
<pathelement path="${compiler}/lib/jburg.jar"/>
</classpath>
</java>
</sequential>
</macrodef>
<!--
Defines an <annotate.class file="..." annotation="..."> macro
used for inserting @SuppressWarnings(...) into generated Java classes,
in order to keep the build warning-free.
ANTLR and JBurg generate code that isn't warning-free in Eclipse.
-->
<macrodef name="annotate.class">
<attribute name="file"/>
<attribute name="annotation"/>
<sequential>
<move file="@{file}" tofile="@{file}.temp"/>
<java classname="org.apache.flex.compiler.tools.AnnotateClass" output="@{file}" fork="false">
<classpath>
<path refid="classpath"/>
<pathelement location="${compiler}/generated/classes"/>
</classpath>
<arg value="@{file}.temp"/>
<arg value="@{annotation}"/>
</java>
<delete file="@{file}.temp"/>
</sequential>
</macrodef>
<!--
SETUP
-->
<target name="download" description="Downloads third-party JARs">
<ant antfile="${compiler}/downloads.xml" dir="${compiler}"/>
<delete dir="${compiler}/in"/>
</target>
<target name="setup" depends="download" description="Does prelimary build setup">
</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}/generated/classes"/>
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/generated/classes" includeAntRuntime="true"
source="${javac.src}" target="${javac.src}">
<compilerarg value="-Xlint:all,-path,-fallthrough"/>
<src path="${compiler}/tools/AnnotateClass"/>
<classpath>
<pathelement location="${compiler}/generated/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}/generated/classes"/>
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/generated/classes" classpathref="classpath"
includeAntRuntime="true" source="${javac.src}" target="${javac.src}">
<src path="${compiler}/src"/>
<include name="org/apache/flex/compiler/internal/as/codegen/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.flex.compiler.CompilerProblem -->
<target name="problem.localizer"
description="Compiles the ProblemLocalizer build tool">
<mkdir dir="${compiler}/generated/classes"/>
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/generated/classes" includeAntRuntime="true"
source="${javac.src}" target="${javac.src}">
<compilerarg value="-Xlint:all,-path,-fallthrough"/>
<src path="${compiler}/tools/problemlocalizer"/>
<classpath>
<pathelement location="${compiler}/generated/classes"/>
</classpath>
</javac>
</target>
<!--
GENERATION OF JAVA CODE WITH JFLEX
-->
<target name="set.raw.as.tokenizer.uptodate">
<uptodate property="raw.as.tokenizer.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/parsing/as">
<include name="RawASTokenizer.lex"/>
<include name="skeleton.falcon"/>
</srcfiles>
</uptodate>
</target>
<target name="raw.as.tokenizer" depends="set.raw.as.tokenizer.uptodate" unless="raw.as.tokenizer.uptodate"
description="Generates RawASTokenizer.java">
<echo message="Generating RawASTokenizer"/>
<jflex input="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/RawASTokenizer.lex"
skeleton="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/skeleton.falcon"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as"/>
</target>
<target name="set.raw.asdoc.tokenizer.uptodate">
<uptodate property="raw.asdoc.tokenizer.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/RawASDocTokenizer.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/parsing/as">
<include name="RawASDocTokenizer.lex"/>
<include name="skeleton.default"/>
</srcfiles>
</uptodate>
</target>
<target name="raw.asdoc.tokenizer" depends="set.raw.asdoc.tokenizer.uptodate" unless="raw.asdoc.tokenizer.uptodate"
description="Generates RawASDocTokenizer.java">
<echo message="Generating RawASDocTokenizer"/>
<jflex input="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/RawASDocTokenizer.lex"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as"/>
</target>
<target name="set.raw.mxml.tokenizer.uptodate">
<uptodate property="raw.mxml.tokenizer.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/mxml/RawMXMLTokenizer.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/parsing/mxml">
<include name="RawMXMLTokenizer.lex"/>
<include name="skeleton.default"/>
</srcfiles>
</uptodate>
</target>
<target name="raw.mxml.tokenizer" depends="set.raw.mxml.tokenizer.uptodate" unless="raw.mxml.tokenizer.uptodate"
description="Generates RawMXMLTokenizer.java">
<echo message="Generating RawMXMLTokenizer"/>
<jflex input="${compiler}/src/org/apache/flex/compiler/internal/parsing/mxml/RawMXMLTokenizer.lex"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/mxml"/>
</target>
<target name="jflex" depends="raw.as.tokenizer, raw.asdoc.tokenizer, raw.mxml.tokenizer"
description="Generates Java code with JFlex"/>
<!--
GENERATION OF JAVA CODE WITH ANTLR
-->
<target name="set.as.parser.uptodate">
<uptodate property="as.parser.uptodate"
srcfile="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/ASParser.java"/>
</target>
<target name="as.parser" depends="annotate.class, set.as.parser.uptodate" unless="as.parser.uptodate">
<echo message="Generating ASParser and ASTokenTypes"/>
<antlr2 input="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/ASParser.g"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as"/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/ASParser.java"
annotation='@SuppressWarnings("unused")'/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/ASTokenTypes.java"
annotation='@SuppressWarnings("unused")'/>
</target>
<target name="set.metadata.parser.uptodate">
<uptodate property="metadata.parser.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/parsing/as">
<include name="MetadataParser.g"/>
<include name="ImportMetadataTokenTypes.txt"/>
</srcfiles>
</uptodate>
</target>
<target name="metadata.parser" depends="annotate.class, set.metadata.parser.uptodate" unless="metadata.parser.uptodate">
<echo message="Generating MetadataParser and MetadataTokenTypes"/>
<antlr2 input="${compiler}/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.g"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as"/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataParser.java"
annotation='@SuppressWarnings("all")'/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/parsing/as/MetadataTokenTypes.java"
annotation='@SuppressWarnings("unused")'/>
</target>
<target name="set.css.lexer.and.parser.uptodate">
<uptodate property="css.lexer.and.parser.uptodate"
srcfile="${compiler}/src/org/apache/flex/compiler/internal/css/CSS.g"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/css/CSSParser.java"/>
</target>
<target name="css.lexer.and.parser" depends="annotate.class, set.css.lexer.and.parser.uptodate" unless="css.lexer.and.parser.uptodate">
<echo message="Generating CSSLexer and CSSParser"/>
<antlr3 input="${compiler}/src/org/apache/flex/compiler/internal/css/CSS.g"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/css"/>
<!--<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/css/CSSLexer.java"
annotation='@SuppressWarnings("unused")'/>-->
<!--<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/css/CSSParser.java"
annotation='@SuppressWarnings("unused")'/>-->
</target>
<target name="set.css.tree.uptodate">
<uptodate property="css.tree.uptodate"
srcfile="${compiler}/src/org/apache/flex/compiler/internal/css/CSSTree.g"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/css/CSSTree.java"/>
</target>
<target name="css.tree" depends="annotate.class, set.css.tree.uptodate" unless="css.tree.uptodate">
<echo message="Generating CSSTree"/>
<antlr3 input="${compiler}/src/org/apache/flex/compiler/internal/css/CSSTree.g"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/css"/>
<!--<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/css/CSSTree.java"
annotation='@SuppressWarnings({"rawtypes", "unchecked", "unused"})'/>-->
</target>
<target name="antlr" depends="as.parser, metadata.parser, css.lexer.and.parser, css.tree"
description="Generates Java code with ANTLR"/>
<!--
GENERATION OF JAVA CODE WITH JBURG
-->
<target name="node.adapter">
<mkdir dir="${compiler}/generated/classes"/>
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" destdir="${compiler}/generated/classes" classpathref="classpath"
includeAntRuntime="true" source="${javac.src}" target="${javac.src}">
<src path="${compiler}/src"/>
<include name="org/apache/flex/compiler/internal/as/codegen/IASNodeAdapter.java"/>
<compilerarg value="-Xlint:all,-path,-fallthrough"/>
</javac>
</target>
<target name="set.unknown.tree.handler.patterns.uptodate">
<uptodate property="unknown.tree.handler.patterns.uptodate"
srcfile="${compiler}/src/org/apache/flex/compiler/internal/as/codegen/UnknownTreeHandlerPatterns.xml"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen/UnknownTreeHandlerPatterns.java"/>
</target>
<target name="unknown.tree.handler.patterns" depends="unknown.tree.pattern.input.output, set.unknown.tree.handler.patterns.uptodate" unless="unknown.tree.handler.patterns.uptodate">
<mkdir dir="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen"/>
<java classname="org.apache.flex.compiler.internal.as.codegen.UnknownTreePatternInputOutput" fork="true" failonerror="true">
<arg value="${compiler}/src/org/apache/flex/compiler/internal/as/codegen/UnknownTreeHandlerPatterns.xml"/>
<arg value="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen/UnknownTreeHandlerPatterns.java"/>
<classpath>
<pathelement location="${compiler}/generated/classes"/>
</classpath>
</java>
</target>
<target name="set.cmc.emitter.uptodate">
<uptodate property="cmc.emitter.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen/CmcEmitter.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/as/codegen">
<include name="*.jbg"/>
</srcfiles>
</uptodate>
</target>
<target name="cmc.emitter" depends="annotate.class, node.adapter, unknown.tree.handler.patterns, set.cmc.emitter.uptodate" unless="cmc.emitter.uptodate">
<echo message="Generating CmcEmitter"/>
<jburg input="${compiler}/src/org/apache/flex/compiler/internal/as/codegen/cmc.jbg"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen/CmcEmitter.java"/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/as/codegen/CmcEmitter.java"
annotation='@SuppressWarnings({"rawtypes", "unchecked", "unused"})'/>
</target>
<target name="set.css.emitter.uptodate">
<uptodate property="css.emitter.uptodate"
targetfile="${compiler}/generated/src/org/apache/flex/compiler/internal/css/codegen/CSSEmitter.java">
<srcfiles dir="${compiler}/src/org/apache/flex/compiler/internal/css/codegen">
<include name="css.jbg"/>
<include name="CSSPatterns.jbg"/>
<include name="CSSRules.jbg"/>
</srcfiles>
</uptodate>
</target>
<target name="css.emitter" depends="annotate.class, set.css.emitter.uptodate" unless="css.emitter.uptodate">
<echo message="Generating CSSEmitter"/>
<jburg input="${compiler}/src/org/apache/flex/compiler/internal/css/codegen/css.jbg"
output="${compiler}/generated/src/org/apache/flex/compiler/internal/css/codegen/CSSEmitter.java"/>
<annotate.class file="${compiler}/generated/src/org/apache/flex/compiler/internal/css/codegen/CSSEmitter.java"
annotation='@SuppressWarnings({"rawtypes", "unchecked", "unused"})'/>
</target>
<target name="jburg" depends="cmc.emitter, css.emitter"
description="Generates Java code with JBurg"/>
<!--
ECLIPSE SETUP
-->
<target name="eclipse" depends="setup, jflex, antlr, jburg, copy.sdk"
description="Prepares for building in Eclipse by generating Java code with JFlex, ANTLR, and JBurg"/>
<!--
JAVADOC
-->
<target name="set.javadoc.zip.uptodate">
<uptodate property="javadoc.zip.uptodate"
targetfile="${compiler}/generated/javadoc.zip">
<srcfiles dir="${compiler}/src">
<include name="**/*.java"/>
</srcfiles>
<srcfiles dir="${compiler}/generated/src">
<include name="**/*.java"/>
</srcfiles>
</uptodate>
</target>
<target name="javadoc" depends="eclipse, set.javadoc.zip.uptodate" unless="javadoc.zip.uptodate"
description="Builds Javadoc">
<javadoc destdir="${compiler}/generated/javadoc" useexternalfile="yes" overview="${compiler}/src/overview.html" failonerror="true" maxmemory="512m">
<sourcefiles>
<fileset dir="${compiler}/src" includes="**/*.java"/>
<fileset dir="${compiler}/generated/src" includes="**/*.java"/>
</sourcefiles>
<classpath>
<path refid="classpath"/>
<pathelement location="${ant.core.lib}"/>
</classpath>
<tag name="note" description="Note:"/>
<tag name="post" description="Postcondition:"/>
<tag name="pre" description="Precondition:"/>
</javadoc>
<zip destfile="${compiler}/generated/javadoc.zip">
<zipfileset dir="${compiler}/generated/javadoc" prefix="javadoc"/>
</zip>
</target>
<!--
BUILDING
-->
<target name="src.depend" if="src.depend">
<depend srcdir="${compiler}/src;${compiler}/generated/src"
destdir="${compiler}/generated/classes" cache="${compiler}/generated/classes"/>
</target>
<target name="compile" depends="eclipse, src.depend" description="compile">
<javac debug="${javac.debug}" deprecation="${javac.deprecation}"
includes="**/*.java" destdir="${compiler}/generated/classes" classpathref="classpath" includeAntRuntime="true"
source="${javac.src}" target="${javac.src}">
<src path="${compiler}/src"/>
<src path="${compiler}/generated/src"/>
<compilerarg value="-Xlint:all,-path,-fallthrough,-cast"/>
</javac>
<copy todir="${compiler}/generated/classes">
<fileset dir="${compiler}/src" includes="**/*.properties"/>
</copy>
<!-- Copy the config file for the flex-tool-api. -->
<copy todir="${compiler}/generated/classes/META-INF/services"
file="src/META-INF/services/org.apache.flex.tools.FlexToolGroup"/>
</target>
<target name="set.messages.en.uptodate">
<uptodate property="messages.en.uptodate"
targetfile="${compiler}/generated/classes/org/apache/flex/compiler/messages_en.properties">
<srcfiles dir="${compiler}/generated/classes/org/apache/flex/compiler/problems">
<include name="*Problem.class"/>
</srcfiles>
</uptodate>
</target>
<target name="localization" depends="compile, problem.localizer, set.messages.en.uptodate" unless="messages.en.uptodate"
description="Creates message_en.properties file">
<echo message="Creating messages_en.properties file for compiler problem localization"/>
<java classname="org.apache.flex.compiler.tools.ProblemLocalizer" fork="true">
<classpath>
<pathelement location="${compiler}/generated/classes"/>
<fileset dir="${compiler}/lib" includes="**/*.jar"/>
</classpath>
<!-- arg0: location of directory to search for problem class files -->
<arg value="${compiler}/generated/classes/org/apache/flex/compiler/problems"/>
<!-- arg1: location of where to write messages_en.properties -->
<arg value="${compiler}/generated/classes/org/apache/flex/compiler"/>
</java>
</target>
<target name="version-info" unless="build.number">
<property name="build.number" value="0"/>
</target>
<target name="set.compiler.jar.uptodate">
<uptodate property="compiler.jar.uptodate"
targetfile="${sdk}/lib/compiler.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="compiler.jar" depends="compile, localization, version-info, set.compiler.jar.uptodate" unless="compiler.jar.uptodate"
description="Builds compiler.jar">
<mkdir dir="${sdk}/lib"/>
<copy file="${basedir}/../LICENSE.base" tofile="${compiler}/generated/classes/META-INF/LICENSE"/>
<copy file="${basedir}/../NOTICE.base" tofile="${compiler}/generated/classes/META-INF/NOTICE"/>
<jar file="${sdk}/lib/compiler.jar" basedir="${compiler}/generated/classes" includes="**/*.properties,org/apache/**/*,META-INF/**/*" excludes="${compiler.ant.binaries},${compiler.font.binaries}">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title}"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Class-Path" value="external/antlr.jar external/commons-cli.jar external/commons-io.jar external/guava.jar external/lzma-sdk.jar external/flex-tool-api.jar .."/>
<!-- The .. in the line above allows the compiler to load the env.properties file -->
</manifest>
</jar>
</target>
<target name="set.falcon.asc.jar.uptodate">
<uptodate property="falcon.asc.jar.uptodate"
targetfile="${sdk}/lib/falcon-asc.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.asc.jar" depends="compiler.jar, set.falcon.asc.jar.uptodate" unless="falcon.asc.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-asc.jar" basedir="${compiler}/generated/classes" whenmanifestonly="create">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - ASC Command Line Compiler"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="org.apache.flex.compiler.clients.ASC"/>
<attribute name="Class-Path" value="compiler.jar"/>
</manifest>
</jar>
</target>
<target name="set.falcon.mxmlc.jar.uptodate">
<uptodate property="falcon.mxmlc.jar.uptodate"
targetfile="${sdk}/lib/falcon-mxmlc.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.mxmlc.jar" depends="compiler.jar, set.falcon.mxmlc.jar.uptodate" unless="falcon.mxmlc.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-mxmlc.jar" basedir="${compiler}/generated/classes" whenmanifestonly="create">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - MXMLC Command Line Compiler"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="org.apache.flex.compiler.clients.MXMLC"/>
<attribute name="Class-Path" value="compiler.jar"/>
</manifest>
</jar>
</target>
<target name="set.falcon.compc.jar.uptodate">
<uptodate property="falcon.compc.jar.uptodate"
targetfile="${sdk}/lib/falcon-compc.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.compc.jar" depends="compiler.jar, set.falcon.compc.jar.uptodate" unless="falcon.compc.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-compc.jar" basedir="${compiler}/generated/classes" whenmanifestonly="create">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - COMPC Command Line Compiler"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="org.apache.flex.compiler.clients.COMPC"/>
<attribute name="Class-Path" value="compiler.jar"/>
</manifest>
</jar>
</target>
<target name="set.falcon.optimizer.jar.uptodate">
<uptodate property="falcon.optimizer.jar.uptodate"
targetfile="${sdk}/lib/falcon-optimizer.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.optimizer.jar" depends="compiler.jar, set.falcon.optimizer.jar.uptodate" unless="falcon.optimizer.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-optimizer.jar" basedir="${compiler}/generated/classes" whenmanifestonly="create">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Apache SWF Optimizer"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="org.apache.flex.compiler.clients.Optimizer"/>
<attribute name="Class-Path" value="compiler.jar"/>
</manifest>
</jar>
</target>
<target name="set.falcon.swfdump.jar.uptodate">
<uptodate property="falcon.swfdump.jar.uptodate"
targetfile="${sdk}/lib/falcon-swfdump.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.swfdump.jar" depends="compiler.jar, set.falcon.swfdump.jar.uptodate" unless="falcon.swfdump.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-swfdump.jar" basedir="${compiler}/generated/classes" whenmanifestonly="create">
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - SWF Dump Command Line utility"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="org.apache.flex.swf.io.SWFDump"/>
<attribute name="Class-Path" value="compiler.jar commons-io.jar"/>
</manifest>
</jar>
</target>
<target name="set.falcon.flextasks.jar.uptodate">
<uptodate property="falcon.flextasks.jar.uptodate"
targetfile="${sdk}/lib/falcon-flextasks.jar">
<srcfiles dir="${compiler}/generated/classes">
<include name="**/*.class"/>
<include name="**/*.properties"/>
</srcfiles>
</uptodate>
</target>
<target name="falcon.flextasks.jar" depends="compiler.jar, set.falcon.flextasks.jar.uptodate" unless="falcon.flextasks.jar.uptodate">
<mkdir dir="${sdk}/lib"/>
<jar file="${sdk}/lib/falcon-flexTasks.jar" basedir="${compiler}/generated/classes" >
<include name="META-INF/LICENSE"/>
<include name="META-INF/NOTICE"/>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - ant Tasks"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Class-Path" value="compiler.jar"/>
</manifest>
<fileset dir="${compiler}" includes="flexTasks.tasks"/>
<fileset dir="${compiler}/generated/classes" includes="${compiler.ant.binaries}"/>
</jar>
</target>
<target name="jar" depends="compiler.jar, falcon.asc.jar, falcon.mxmlc.jar, falcon.compc.jar, falcon.optimizer.jar, falcon.swfdump.jar, falcon.flextasks.jar"
description="Creates JAR files"/>
<!--
SDK
-->
<target name="bin-legacy">
<mkdir dir="${sdk}/bin-legacy" />
<copy todir="${sdk}/bin-legacy" includeEmptyDirs="false">
<fileset dir="${sdk.branch}/bin">
<include name="**/*"/>
</fileset>
</copy>
<replace dir="${sdk}/bin-legacy" value="/lib-legacy/" >
<include name="**/*"/>
<replacetoken>/lib/</replacetoken>
</replace>
</target>
<target name="set.flex.config.xml.available">
<available property="flex.config.xml.available" file="${sdk}/frameworks/flex-config.xml"/>
</target>
<target name="copy.sdk" depends="bin-legacy,set.flex.config.xml.available" unless="flex.config.xml.available"
description="Copy a subset of the Flex SDK to our Falcon SDK area." >
<echo message="Copying SDK"/>
<!-- Copy portions of this SDK to create Falcon's generated SDK -->
<copy todir="${sdk}" includeEmptyDirs="false">
<fileset dir="${sdk.branch}">
<include name="frameworks/**/*"/>
<exclude name="frameworks/projects/**/*"/>
</fileset>
</copy>
<copy todir="${sdk}/lib-legacy" failOnError="false" overwrite="false">
<fileset dir="${sdk.branch}/lib">
<include name="**/*"/>
</fileset>
</copy>
<!-- If sdk.branch is set to binary distro flexTasks is in a different place. -->
<copy todir="${sdk}/lib" failOnError="false" overwrite="false">
<fileset dir="${sdk.branch}/ant/lib">
<include name="flexTasks.jar"/>
</fileset>
</copy>
<copy todir="${sdk}/bin" includeEmptyDirs="false">
<fileset dir="${compiler}/commandline">
<include name="**/*"/>
</fileset>
</copy>
<!-- Copy compiler external dependencies -->
<copy todir="${sdk}/lib/external" includeEmptyDirs="false">
<fileset dir="${compiler}/lib">
<include name="antlr*"/>
<include name="commons-*"/>
<include name="guava*"/>
<include name="lzma*"/>
<include name="flex-tool-api*"/>
</fileset>
</copy>
<copy file="${env.PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc" todir="${sdk}/frameworks/libs/player/${playerglobal.version}"/>
<copy file="${env.AIR_HOME}/frameworks/libs/air/airglobal.swc" todir="${sdk}/frameworks/libs/air"/>
<!-- Create an env.properties file that tells the compiler's configuration system how to expand {playerglobalHome} and {airHome} -->
<echo message="env.PLAYERGLOBAL_HOME=${sdk}/frameworks/libs/player${line.separator}" file="${sdk}/env.properties"/>
<echo message="env.AIR_HOME=${sdk}${line.separator}" file="${sdk}/env.properties" append="true"/>
</target>
<target name="set.support.swc.available">
<available property="support.swc.available" file="${sdk}/frameworks/libs/support.swc"/>
</target>
<target name="support.swc" depends="copy.sdk, set.support.swc.available" unless="support.swc.available"
description="Builds support.swc">
<echo message="Building support.swc"/>
<taskdef name="compc" classname="flex.ant.CompcTask">
<!-- If using the development branch then in lib directory and if using a binary kit in ant/lib directory. -->
<classpath>
<pathelement location="${compiler}/generated/dist/sdk/lib/flexTasks.jar"/>
<pathelement location="${compiler}/generated/dist/sdk/ant/lib/flexTasks.jar"/>
</classpath>
</taskdef>
<compc output="${sdk}/frameworks/libs/support.swc" include-classes="mx.managers.SystemManager mx.core.FlexModuleFactory StyleModuleBase EmptyModuleFactory">
<include-sources dir="${compiler}/dist/flex/frameworks/projects/support/multiDefSrc" includes="*.*"/>
<source-path path-element="${compiler}/dist/flex/frameworks/projects/support/src"/>
<load-config append="true" filename="${compiler}/dist/flex/frameworks/projects/support/framework-config.xml"/>
<library-path />
<external-library-path append="true" dir="${FLEX_HOME}/frameworks/libs">
<include name="framework.swc"/>
<include name="textLayout.swc"/>
</external-library-path>
</compc>
</target>
<target name="sdk" depends="jar, dist-dev" description="Builds a Falcon SDK"/>
<target name="release-binaries" >
<!-- set flag so sdk is not copied -->
<property name="flex.config.xml.available" value="true" />
<antcall target="sdk" />
</target>
<target name="main" depends="sdk, javadoc" description="Default target - Builds a Falcon SDK and builds Falcon Javadoc">
<tstamp>
<format property="build.datetime" pattern="MM/dd/yyyy hh:mm:ss aa"/>
</tstamp>
<echo>compiler main completed on ${build.datetime}</echo>
</target>
<!--
PACKAGING
-->
<target name="dist-dev" depends="jar">
<copy todir="${sdk}/lib/external" includeEmptyDirs="false">
<fileset dir="${compiler}/lib">
<include name="**/*"/>
<exclude name="ant-1.7.0*"/>
</fileset>
</copy>
<copy todir="${sdk}/ant/lib" file="${sdk}/lib/falcon-flexTasks.jar"/>
<copy todir="${sdk}/bin" includeEmptyDirs="false">
<fileset dir="${compiler}/commandline">
<include name="**/*"/>
</fileset>
</copy>
<chmod perm="ugo+rx">
<fileset dir="${sdk}">
<include name="bin/**/*"/>
<include name="bin-legacy/**/*"/>
<exclude name="bin/**/*.bat"/>
<exclude name="bin/**/*.exe"/>
<exclude name="bin-legacy/**/*.bat"/>
<exclude name="bin-legacy/**/*.exe"/>
</fileset>
</chmod>
</target>
<target name="dist" depends="copy.sdk, jar, support.swc">
<copy todir="${sdk}/lib" includeEmptyDirs="false">
<fileset dir="${compiler}/lib">
<include name="**/*"/>
<exclude name="ant-1.7.0*"/>
</fileset>
</copy>
<copy todir="${sdk}/ant/lib" file="${flexTasks.jar}"/>
<copy todir="${sdk}/bin" includeEmptyDirs="false">
<fileset dir="${compiler}/commandline">
<include name="**/*"/>
</fileset>
</copy>
<chmod perm="ugo+rx">
<fileset dir="${sdk}">
<include name="bin/**/*"/>
<include name="bin-legacy/**/*"/>
<exclude name="bin/**/*.bat"/>
<exclude name="bin/**/*.exe"/>
<exclude name="bin-legacy/**/*.bat"/>
<exclude name="bin-legacy/**/*.exe"/>
</fileset>
</chmod>
</target>
<target name="dist.flex.sdk" depends="dist" description="Package up Flex SDK with Falcon.">
<mkdir dir="${compiler}/generated/dist"/>
<zip destfile="${compiler}/generated/dist/falcon.zip">
<zipfileset dir="${sdk}">
<include name="**/*"/>
<exclude name="bin/*"/>
<exclude name="bin-legacy/*"/>
<exclude name="**/commons-exec-1.1.*"/>
</zipfileset>
<zipfileset dir="${sdk}" filemode="755">
<include name="bin/*"/>
<include name="bin-legacy/*"/>
</zipfileset>
</zip>
</target>
<target name="dist.runtime.legacy" description="Re-package legacy asdoc.jar and fdb.jar to support these legacy command-line tools" >
<mkdir dir="${sdk}/lib/legacy"/>
<!-- legacy-common.jar -->
<jar destfile="${sdk}/lib/legacy/legacy-common.jar">
<zipgroupfileset dir="${sdk}/lib" >
<include name="mxmlc.jar"/>
<include name="asc.jar"/>
<include name="xmlParserAPIs.jar"/>
<include name="batik-all-flex.jar"/>
<include name="commons-collections*.jar"/>
<include name="commons-discovery*.jar"/>
<include name="commons-logging*.jar"/>
<include name="license.jar"/>
<include name="swfutils.jar"/>
<include name="fxgutils.jar"/>
<include name="flex-messaging-common.jar"/>
<include name="mxmlc_*.jar"/>
<include name="xalan.jar"/>
<include name="saxon9.jar"/>
<include name="velocity-dep-1.4-flex.jar"/>
</zipgroupfileset>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Legacy Common Libraries"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
</manifest>
</jar>
<!-- asdoc.jar -->
<jar file="${sdk}/lib/legacy/asdoc.jar">
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Legacy ASDoc"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="flex2.tools.ASDoc"/>
<attribute name="Class-Path" value="legacy-common.jar"/>
</manifest>
</jar>
<!-- fdb.jar -->
<jar file="${sdk}/lib/legacy/fdb.jar">
<zipgroupfileset dir="${compiler}/dist/runtime/fdb" >
<include name="fdb.jar"/>
</zipgroupfileset>
<manifest>
<attribute name="Sealed" value="${manifest.sealed}"/>
<attribute name="Implementation-Title" value="${manifest.Implementation-Title} - Legacy FDB"/>
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}.${build.number}"/>
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/>
<attribute name="Main-Class" value="flex.tools.debugger.cli.DebugCLI"/>
<attribute name="Class-Path" value="legacy-common.jar"/>
</manifest>
</jar>
</target>
<target name="dist.runtime.sdk" depends="dist" description="Package up Falcon as an overlay for the AIR SDK.">
<mkdir dir="${compiler}/generated/dist"/>
<zip destfile="${compiler}/generated/dist/falcon-runtime-overlay.zip">
<zipfileset dir="${sdk}">
<include name="ant/lib/flexTasks.jar"/>
<include name="asdoc/**"/>
<include name="frameworks/libs/core.swc"/>
<include name="lib/legacy/**"/>
<include name="lib/afe.jar"/>
<include name="lib/aglj40.jar"/>
<include name="lib/antlr*"/>
<include name="lib/commons-cli*"/>
<include name="lib/commons-io*"/>
<include name="lib/compiler.jar"/>
<include name="lib/falcon*.jar"/>
<include name="lib/guava*.jar"/>
<include name="lib/lzma*"/>
<include name="lib/rideau*"/>
<include name="templates/swfobject/**"/>
</zipfileset>
<zipfileset dir="${sdk}" filemode="755">
<include name="bin/acompc*"/>
<include name="bin/amxmlc*"/>
<include name="bin/asc*"/>
<include name="bin/compc*"/>
<include name="bin/fontswf*"/>
<include name="bin/mxmlc*"/>
<include name="bin/optimizer*"/>
<include name="bin/swfdump*"/>
</zipfileset>
<zipfileset dir="${compiler}/dist/runtime" filemode="755">
<include name="bin/aasdoc*"/>
<include name="bin/asdoc*"/>
<include name="bin/fdb*"/>
</zipfileset>
<zipfileset dir="${compiler}/dist/runtime">
<include name="lib/legacy/legacy-common*.txt"/>
<include name="frameworks/air-config.xml"/>
<include name="frameworks/airmobile-config.xml"/>
<include name="frameworks/flex-config.xml"/>
</zipfileset>
</zip>
</target>
<target name="dist.localization" depends="compile">
<mkdir dir="${compiler}/generated/dist"/>
<copy todir="${compiler}/generated/dist">
<fileset dir="${compiler}/generated/classes/org/apache/flex/compiler" includes="*_en.properties"/>
</copy>
</target>
<target name="package" depends="dist, dist.flex.sdk, dist.localization" description="Package the compiler for Falcon Flex SDK, Runtime SDK"/>
<!--
CREATE MAVEN ARTIFACTS
-->
<target name="maven-artifacts" depends="sdk" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
<!-- Make sure the maven-ant-tasks jar is available. -->
<ant antfile="downloads.xml" target="maven-related"/>
<!-- Setup the maven-ant-tasks. -->
<path id="maven-ant-tasks.classpath" path="utils/maven-ant-tasks.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
classpathref="maven-ant-tasks.classpath"/>
<property name="falcon.version" value="${manifest.Implementation-Version}"/>
<mkdir dir="generated/maven"/>
<!--
Remark:
There currently seems to be a bug in the maven-ant-tasks that
prevents the install target from working correctly. Therefore
instead of directly defining the pom, we have to define it,
write it to disk and use the disk-pom to install the artifact.
-->
<!-- Install jburg as it's not publicly available in Maven -->
<artifact:pom id="jburgPom" groupId="net.sourceforge.jburg" artifactid="jburg" version="1.10.1"/>
<artifact:writepom pomrefid="jburgPom" file="generated/maven/jburg.pom"/>
<artifact:install file="lib/jburg.jar">
<artifact:pom file="generated/maven/jburg.pom"/>
</artifact:install>
<!-- Install lzma-sdk as it's not publicly available in Maven -->
<artifact:pom id="lzmaSdkPom" groupId="de.7zip" artifactid="lzma-sdk" version="9.20"/>
<artifact:writepom pomrefid="lzmaSdkPom" file="generated/maven/lzma-sdk.pom"/>
<artifact:install file="lib/lzma-sdk.jar">
<artifact:pom file="generated/maven/lzma-sdk.pom"/>
</artifact:install>
<!-- Install falcon -->
<artifact:pom id="falconPom" groupId="org.apache.flex.compiler.falcon" artifactId="compiler"
version="${falcon.version}">
<artifact:dependency groupId="org.antlr" artifactId="antlr" version="3.5.2"/>
<artifact:dependency groupId="commons-cli" artifactId="commons-cli" version="1.2"/>
<artifact:dependency groupId="commons-io" artifactId="commons-io" version="2.4"/>
<artifact:dependency groupId="com.google.guava" artifactId="guava" version="17.0"/>
<artifact:dependency groupId="net.sourceforge.jburg" artifactId="jburg" version="1.10.1"/>
<artifact:dependency groupId="de.jflex" artifactId="jflex" version="1.6.0"/>
<artifact:dependency groupId="de.7zip" artifactId="lzma" version="9.20"/>
<artifact:license name="apache" url="http://www.apache.org"/>
</artifact:pom>
<artifact:writepom pomrefid="falconPom" file="generated/maven/compiler.pom"/>
<artifact:install file="generated/dist/sdk/lib/compiler.jar">
<artifact:pom file="generated/maven/compiler.pom"/>
</artifact:install>
</target>
<!--
CLEANUP
-->
<target name="clean" description="clean">
<delete dir="${compiler}/generated"/>
</target>
<target name="wipe" depends="clean" description="Wipes everything that didn't come from Git.">
<delete dir="${compiler}/lib"/>
<delete dir="${compiler}/utils"/>
</target>
</project>