| <?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> |