<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |
<!-- | |
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 default="main" basedir="." name="Code Coverage Server and Code Coverge Reporter"> | |
<property file="${basedir}/env.properties"/> | |
<property environment="env"/> | |
<property name="lib.dir" value="${basedir}/../lib"/> | |
<!-- Options for <javac> tasks --> | |
<property name="javac.debug" value="true"/> | |
<property name="javac.deprecation" value="false"/> | |
<property name="javac.src" value="1.7"/> | |
<!-- JAR manifest entries --> | |
<property name="manifest.Implementation-Version" value="0.9.0"/> | |
<property name="manifest.Implementation-Vendor" value="Apache Software Foundation"/> | |
<target name="main" depends="check-falcon-home,clean,compile-ccserver,create-ccserver.jar,compile-ccreporter,create-ccreporter.jar,copy-bin-lib"> | |
</target> | |
<target name="check-falcon-home" unless="FALCON_HOME" | |
description="Check FALCON_HOME is a directory."> | |
<echo message="FALCON_HOME is ${env.FALCON_HOME}"/> | |
<available file="${env.FALCON_HOME}/lib/compiler.jar" | |
type="file" | |
property="FALCON_HOME" | |
value="${env.FALCON_HOME}"/> | |
<fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing compiler.jar such as the compiler/generated/dist/sdk folder in flex-falcon repo." | |
unless="FALCON_HOME"/> | |
</target> | |
<target name="clean"> | |
<delete dir="${basedir}/generated"/> | |
<delete file="${lib.dir}/ccreporter.jar" quiet="true" failonerror="false"/> | |
<delete file="${lib.dir}/ccserver.jar" quiet="true" failonerror="false"/> | |
<delete quiet="true" failonerror="false"> | |
<fileset dir="${lib.dir}"> | |
<include name="compiler.jar"/> | |
<include name="ccreporter.jar"/> | |
<include name="ccserver.jar"/> | |
<include name="ccserver.properties"/> | |
</fileset> | |
</delete> | |
<delete dir="${lib.dir}/external" quiet="true" failonerror="false"/> | |
</target> | |
<path id="classpath"> | |
<fileset dir="${env.FALCON_HOME}/lib" includes="**/*.jar" excludes="ccserver.jar,ccreporter.jar"/> | |
</path> | |
<target name="create-ccserver.jar" depends="set.ccserver.jar.uptodate" unless="ccserver.jar.uptodate"> | |
<jar file="${lib.dir}/ccserver.jar" basedir="${basedir}/generated/classes" includes="**/server/*" whenmanifestonly="fail"> | |
<manifest> | |
<attribute name="Implementation-Title" value="Apache Flex Code Coverage Server"/> | |
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}"/> | |
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/> | |
<attribute name="Main-Class" value="org.apache.flex.tools.codecoverage.server.CodeCoverageServer"/> | |
<attribute name="Class-Path" value=". external/commons-io.jar"/> | |
</manifest> | |
</jar> | |
</target> | |
<target name="set.ccserver.jar.uptodate"> | |
<uptodate property="ccserver.jar.uptodate" | |
targetfile="${lib.dir}/ccserver.jar"> | |
<srcfiles dir="${basedir}/generated/classes"> | |
<include name="**/server/*.class"/> | |
<include name="**/*.properties"/> | |
</srcfiles> | |
</uptodate> | |
</target> | |
<target name="compile-ccserver" description="compile"> | |
<mkdir dir="${basedir}/generated/classes"/> | |
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" | |
includes="**/server/*.java" destdir="${basedir}/generated/classes" | |
classpathref="classpath" includeAntRuntime="false" | |
source="${javac.src}" target="${javac.src}"> | |
<src path="${basedir}/src"/> | |
<compilerarg value="-Xlint:all,-path,-fallthrough,-cast"/> | |
</javac> | |
<copy todir="${basedir}/generated/classes"> | |
<fileset dir="${basedir}/src" includes="**/*.properties"/> | |
</copy> | |
</target> | |
<target name="create-ccreporter.jar" depends="set.ccreporter.jar.uptodate" unless="ccreporter.jar.uptodate"> | |
<jar file="${lib.dir}/ccreporter.jar" basedir="${basedir}/generated/classes" includes="**/reporter/**/*" whenmanifestonly="fail"> | |
<manifest> | |
<attribute name="Implementation-Title" value="Apache Flex Code Coverage Reporter"/> | |
<attribute name="Implementation-Version" value="${manifest.Implementation-Version}"/> | |
<attribute name="Implementation-Vendor" value="${manifest.Implementation-Vendor}"/> | |
<attribute name="Main-Class" value="org.apache.flex.tools.codecoverage.reporter.CodeCoverageReporter"/> | |
<attribute name="Class-Path" value="compiler.jar ."/> | |
</manifest> | |
</jar> | |
</target> | |
<target name="set.ccreporter.jar.uptodate"> | |
<uptodate property="ccreporter.jar.uptodate" | |
targetfile="${lib.dir}/ccreporter.jar"> | |
<srcfiles dir="${basedir}/generated/classes"> | |
<include name="**/*.class"/> | |
<include name="**/*.properties"/> | |
</srcfiles> | |
</uptodate> | |
</target> | |
<target name="compile-ccreporter" description="compile"> | |
<javac debug="${javac.debug}" deprecation="${javac.deprecation}" | |
includes="**/reporter/**/*.java" destdir="${basedir}/generated/classes" | |
classpathref="classpath" includeAntRuntime="false" | |
source="${javac.src}" target="${javac.src}"> | |
<src path="${basedir}/src"/> | |
<compilerarg value="-Xlint:all,-path,-fallthrough,-cast"/> | |
</javac> | |
<copy todir="${basedir}/generated/classes"> | |
<fileset dir="${basedir}/src" includes="**/*.properties"/> | |
</copy> | |
</target> | |
<target name="copy-bin-lib" description="copy lib dependencies"> | |
<copy todir="${lib.dir}"> | |
<fileset dir="${FALCON_HOME}/lib/"> | |
<include name="compiler.jar"/> | |
<include name="external/antlr*.*"/> | |
<include name="external/commons-cli*.*"/> | |
<include name="external/commons-io*.*"/> | |
<include name="external/flex-tool-api*.*"/> | |
<include name="external/guava*.*"/> | |
<include name="external/lzma-sdk*.*"/> | |
</fileset> | |
<fileset dir="${basedir}" includes="ccserver.properties"/> | |
</copy> | |
</target> | |
</project> |