monsieurp 15/01/31 19:42:17 Modified: jflex-1.5.0-build.xml Log: Patch to fix jflex-1.5.0 (bug 505498) courtesy of Martin Walch <[email protected]>. (Portage version: 2.2.14/cvs/Linux x86_64, unsigned Manifest commit)
Revision Changes Path 1.2 dev-java/jflex/files/jflex-1.5.0-build.xml file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jflex/files/jflex-1.5.0-build.xml?rev=1.2&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jflex/files/jflex-1.5.0-build.xml?rev=1.2&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-java/jflex/files/jflex-1.5.0-build.xml?r1=1.1&r2=1.2 Index: jflex-1.5.0-build.xml =================================================================== RCS file: /var/cvsroot/gentoo-x86/dev-java/jflex/files/jflex-1.5.0-build.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- jflex-1.5.0-build.xml 8 Mar 2014 16:17:17 -0000 1.1 +++ jflex-1.5.0-build.xml 31 Jan 2015 19:42:17 -0000 1.2 @@ -1,286 +1,149 @@ -<?xml version="1.0" encoding="UTF-8"?> +<?xml version="1.0"?> +<project name="JFlex" default="help"> -<!-- ====================================================================== --> -<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. --> -<!-- ====================================================================== --> - -<!-- ====================================================================== --> -<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== --> -<!-- ====================================================================== --> -<!-- --> -<!-- Any modifications will be overwritten. --> -<!-- --> -<!-- Generated by Maven Ant Plugin on 3/8/14 4:23 PM --> -<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ --> -<!-- --> -<!-- ====================================================================== --> - -<project name="jflex-from-maven" default="package" basedir="."> - - <!-- ====================================================================== --> - <!-- Build environment properties --> - <!-- ====================================================================== --> - - <property file="${user.home}/.m2/maven.properties"/> - <property file="maven-build.properties"/> - - <property name="maven.build.finalName" value="jflex-1.5.0"/> - <property name="maven.build.dir" value="target"/> - <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/> - <property name="maven.build.srcDir.0" value="src/main/java"/> - <property name="maven.build.resourceDir.0" value="src/main/resources"/> - <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/> - <property name="maven.build.testDir.0" value="src/test/java"/> - <property name="maven.build.testResourceDir.0" value="src/test/resources"/> - <property name="maven.test.reports" value="${maven.build.dir}/test-reports"/> - <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/> - - <property name="maven.repo.local" value="${user.home}/.m2/repository"/> - <property name="maven.settings.offline" value="false"/> - <property name="maven.settings.interactiveMode" value="true"/> - - <!-- ====================================================================== --> - <!-- Defining classpaths --> - <!-- ====================================================================== --> - - <path id="build.classpath"> - <pathelement location="${maven.repo.local}/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/> - <pathelement location="${maven.repo.local}/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/> - </path> - <path id="build.test.classpath"> - <pathelement location="${maven.repo.local}/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/> - <pathelement location="${maven.repo.local}/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/> - <pathelement location="${maven.repo.local}/junit/junit/4.11/junit-4.11.jar"/> - <pathelement location="${maven.repo.local}/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/> - </path> - - <!-- ====================================================================== --> - <!-- Cleaning up target --> - <!-- ====================================================================== --> - - <target name="clean" description="Clean the output directory"> - <delete dir="${maven.build.dir}"/> - </target> - - <!-- ====================================================================== --> - <!-- Compilation target --> - <!-- ====================================================================== --> - - <target name="compile" depends="get-deps" description="Compile the code"> - <mkdir dir="${maven.build.outputDir}"/> - <javac destdir="${maven.build.outputDir}" - nowarn="false" - debug="true" - optimize="false" - deprecation="true" - target="1.5" - verbose="false" - fork="false" - source="1.5"> - <src> - <pathelement location="${maven.build.srcDir.0}"/> - </src> - <classpath refid="build.classpath"/> - </javac> - <copy todir="${maven.build.outputDir}"> - <fileset dir="${maven.build.resourceDir.0}"/> - </copy> + <property name="version" value="1.5.0" /> + <property name="bootstrap.version" value="1.5.0" /> + <property name="junit.version" value="4.11" /> + <property name="cup.version" value="11a" /> + <property name="java.source.version" value="1.5" /> + + <!-- use any of these files to override properties --> + <property file="build.properties" /> + <property file="${user.home}/.jflex.properties" /> + + <!-- location of development tools necessary for the build --> + <property name="lib.dir" value="lib"/> + + <!-- override these if you want to use your own versions --> + <property name="bootstrap.jflex.jar" value="${lib.dir}/jflex-${bootstrap.version}.jar" /> + <property name="cup.jar" value="${lib.dir}/java-cup-${cup.version}.jar" /> + <property name="junit.jar" value="${lib.dir}/junit-${junit.version}.jar" /> + + <!-- where to get tool jars from --> + <property name="maven.central.url" value="http://central.maven.org/maven2" /> + <property name="bootstrap.jflex.jar.url" + value="${maven.central.url}/de/jflex/jflex/${bootstrap.version}/jflex-${bootstrap.version}.jar" /> + <property name="junit.jar.url" + value="${maven.central.url}/junit/junit/${junit.version}/junit-${junit.version}.jar" /> + + <!-- where build output goes, including the jflex jar --> + <property name="build.dir" value="build"/> + <property name="generated.sources.dir" value="${build.dir}/generated-sources"/> + <property name="compile.output.dir" value="${build.dir}/classes"/> + <property name="test.compile.output.dir" value="${build.dir}/test-classes"/> + <property name="tests.dir" value="${build.dir}/tests"/> + + <!-- where the output jar goes --> + <property name="output.jar.name" value="${build.dir}/jflex-${version}.jar" /> + + <target name="help" description="show help message"> + <echo message="Ant build file for JFlex. Useful targets:"/> + <echo message=""/> + <echo message="gettools: download development tools for the build"/> + <echo message="clean: remove all generated and compiled files"/> + <echo message="compile: generates sources and compiles non-test classes"/> + <echo message="jar: make ${output.jar.name}"/> + <echo message="build: complete build from scratch (clean jar)"/> + <echo message="test: run the unit tests"/> + <echo message=""/> + <echo message="Use the gettool target or override the *.jar properties"/> + <echo message="before you do the first build."/> + </target> + + <target name="gettools" description="download development tools"> + <get src="${bootstrap.jflex.jar.url}" dest="${bootstrap.jflex.jar}"/> + <get src="${junit.jar.url}" dest="${junit.jar}"/> + </target> + + <target name="build" depends="clean,jar" + description="complete build from scratch (clean jar)"/> + + <target name="clean" description="remove all generated and compiled files"> + <delete includeemptydirs="true"> + <fileset dir="${build.dir}" includes="**/*"/> + </delete> + </target> + + <target name="jar" depends="compile,-copy-resources" + description="make ${output.jar.name}"> + <jar basedir="${compile.output.dir}" jarfile="${output.jar.name}"> + <manifest> + <attribute name="Main-Class" value="jflex.Main"/> + </manifest> + </jar> </target> - <!-- ====================================================================== --> - <!-- Test-compilation target --> - <!-- ====================================================================== --> - - <target name="compile-tests" - depends="compile" - description="Compile the test code" - unless="maven.test.skip"> - <mkdir dir="${maven.build.testOutputDir}"/> - <javac destdir="${maven.build.testOutputDir}" - nowarn="false" - debug="true" - optimize="false" - deprecation="true" - target="1.5" - verbose="false" - fork="false" - source="1.5"> - <src> - <pathelement location="${maven.build.testDir.0}"/> - </src> - <classpath> - <path refid="build.test.classpath"/> - <pathelement location="${maven.build.outputDir}"/> - </classpath> + <target name="compile" depends="-generate-scanner,-generate-parser" + description="generate sources and compile all non-test classes"> + <mkdir dir="${compile.output.dir}" /> + <javac destdir="${compile.output.dir}" + target="${java.source.version}" + source="${java.source.version}" + debug="on" + includeantruntime="true"> + <src path="src/main/java"/> + <src path="${generated.sources.dir}"/> </javac> - <copy todir="${maven.build.testOutputDir}"> - <fileset dir="${maven.build.testResourceDir.0}"/> - </copy> </target> - - <!-- ====================================================================== --> - <!-- Run all tests --> - <!-- ====================================================================== --> - - <target name="test" - depends="compile-tests, junit-missing" - unless="junit.skipped" - description="Run the test cases"> - <mkdir dir="${maven.test.reports}"/> - <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir="."> - <sysproperty key="basedir" value="."/> - <formatter type="xml"/> - <formatter type="plain" usefile="false"/> + + <target name="test" depends="compile,-copy-resources,-compile-test"> + <mkdir dir="${tests.dir}"/> + <junit dir="." printsummary="true" errorproperty="junit.failed"> <classpath> - <path refid="build.test.classpath"/> - <pathelement location="${maven.build.outputDir}"/> - <pathelement location="${maven.build.testOutputDir}"/> + <file file="${junit.jar}"/> + <pathelement location="${compile.output.dir}"/> + <pathelement location="${test.compile.output.dir}"/> </classpath> - <batchtest todir="${maven.test.reports}" unless="test"> - <fileset dir="${maven.build.testDir.0}"> - <include name="**/*Test.java"/> - <include name="**/*Tests.java"/> - <exclude name="**/*Abstract*Test.java"/> - </fileset> - </batchtest> - <batchtest todir="${maven.test.reports}" if="test"> - <fileset dir="${maven.build.testDir.0}"> - <include name="**/${test}.java"/> - <exclude name="**/*Abstract*Test.java"/> + <assertions> + <enable/> + </assertions> + <batchtest fork="yes" todir="${tests.dir}"> + <formatter type="plain"/> + <fileset dir="src/test/java"> + <include name="**/*Test*.java"/> </fileset> </batchtest> </junit> + <fail if="junit.failed"/> </target> - <target name="test-junit-present"> - <available classname="junit.framework.Test" property="junit.present"/> - </target> - - <target name="test-junit-status" - depends="test-junit-present"> - <condition property="junit.missing"> - <and> - <isfalse value="${junit.present}"/> - <isfalse value="${maven.test.skip}"/> - </and> - </condition> - <condition property="junit.skipped"> - <or> - <isfalse value="${junit.present}"/> - <istrue value="${maven.test.skip}"/> - </or> - </condition> - </target> - - <target name="junit-missing" - depends="test-junit-status" - if="junit.missing"> - <echo>=================================== WARNING ===================================</echo> - <echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo> - <echo>===============================================================================</echo> - </target> - - <!-- ====================================================================== --> - <!-- Javadoc target --> - <!-- ====================================================================== --> - - <target name="javadoc" description="Generates the Javadoc of the application"> - <javadoc sourcepath="${maven.build.srcDir.0}" - packagenames="*" - destdir="${maven.reporting.outputDirectory}/apidocs" - access="protected" - old="false" - verbose="false" - version="true" - use="true" - author="true" - splitindex="false" - nodeprecated="false" - nodeprecatedlist="false" - notree="false" - noindex="false" - nohelp="false" - nonavbar="false" - serialwarn="false" - charset="ISO-8859-1" - linksource="false" - breakiterator="false"/> - </target> - - <!-- ====================================================================== --> - <!-- Package target --> - <!-- ====================================================================== --> - - <target name="package" depends="compile,test" description="Package the application"> - <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar" - compress="true" - index="false" - basedir="${maven.build.outputDir}" - excludes="**/package.html"> - <manifest> - <attribute name="Main-Class" - value="jflex.Main"/> - </manifest> - </jar> + <target name="-copy-resources"> + <copy todir="${compile.output.dir}"> + <fileset dir="src/main/resources"/> + </copy> </target> - <!-- ====================================================================== --> - <!-- A dummy target for the package named after the type it creates --> - <!-- ====================================================================== --> - - <target name="jar" depends="package" description="Builds the jar for the application"/> - - <!-- ====================================================================== --> - <!-- Download dependencies target --> - <!-- ====================================================================== --> - - <target name="test-offline"> - <condition property="maven.mode.offline"> - <equals arg1="${maven.settings.offline}" arg2="true"/> - </condition> + <target name="-generate-scanner"> + <taskdef classname="jflex.anttask.JFlexTask" + name="jflex" classpath="${bootstrap.jflex.jar}"/> + <mkdir dir="${generated.sources.dir}/jflex"/> + <jflex file="src/main/jflex/LexScan.flex" + outdir="${generated.sources.dir}/jflex" + skeleton="src/main/jflex/skeleton.nested" + nobak="on"/> + </target> + + <target name="-generate-parser"> + <taskdef classname="java_cup.anttask.CUPTask" + name="cup" classpath="${cup.jar}"/> + <mkdir dir="${generated.sources.dir}"/> + <cup srcfile="src/main/cup/LexParse.cup" + destdir="${generated.sources.dir}" + interface="true" + parser="LexParse"/> + </target> + + <target name="-compile-test" depends="compile"> + <mkdir dir="${test.compile.output.dir}"/> + <javac srcdir="src/test/java" + destdir="${test.compile.output.dir}" + target="${java.source.version}" + source="${java.source.version}" + classpath="${compile.output.dir}:${junit.jar}" + includeantruntime="true"/> </target> - <target name="get-deps" - depends="test-offline" - description="Download all dependencies" - unless="maven.mode.offline"> - <mkdir dir="${maven.repo.local}"/> - <mkdir dir="${maven.repo.local}/org/apache/ant/ant/1.7.0"/> - <get src="https://oss.sonatype.org/content/repositories/snapshots/org/apache/ant/ant/1.7.0/ant-1.7.0.jar" - dest="${maven.repo.local}/org/apache/ant/ant/1.7.0/ant-1.7.0.jar" - usetimestamp="false" - ignoreerrors="true"/> - <get src="http://repo.maven.apache.org/maven2/org/apache/ant/ant/1.7.0/ant-1.7.0.jar" - dest="${maven.repo.local}/org/apache/ant/ant/1.7.0/ant-1.7.0.jar" - usetimestamp="false" - ignoreerrors="true"/> - <mkdir dir="${maven.repo.local}/org/apache/ant/ant-launcher/1.7.0"/> - <get src="https://oss.sonatype.org/content/repositories/snapshots/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar" - dest="${maven.repo.local}/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar" - usetimestamp="false" - ignoreerrors="true"/> - <get src="http://repo.maven.apache.org/maven2/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar" - dest="${maven.repo.local}/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar" - usetimestamp="false" - ignoreerrors="true"/> - <mkdir dir="${maven.repo.local}/junit/junit/4.11"/> - <get src="https://oss.sonatype.org/content/repositories/snapshots/junit/junit/4.11/junit-4.11.jar" - dest="${maven.repo.local}/junit/junit/4.11/junit-4.11.jar" - usetimestamp="false" - ignoreerrors="true"/> - <get src="http://repo.maven.apache.org/maven2/junit/junit/4.11/junit-4.11.jar" - dest="${maven.repo.local}/junit/junit/4.11/junit-4.11.jar" - usetimestamp="false" - ignoreerrors="true"/> - <mkdir dir="${maven.repo.local}/org/hamcrest/hamcrest-core/1.3"/> - <get src="https://oss.sonatype.org/content/repositories/snapshots/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" - dest="${maven.repo.local}/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" - usetimestamp="false" - ignoreerrors="true"/> - <get src="http://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" - dest="${maven.repo.local}/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar" - usetimestamp="false" - ignoreerrors="true"/> + <target depends="compile" name="javadoc"> + <javadoc packagenames="jflex" sourcepath="src/main/java:build/generated-sources" destdir="javadoc" version="true" /> </target> - </project>
