2019-02-12 14:32:10 +01:00
<?xml version="1.0" encoding="UTF-8"?>
<project name= "jline1" default= "jar" basedir= "." >
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file= "build.properties" />
<property name= "project.groupId" value= "jline" />
<property name= "project.artifactId" value= "jline" />
<property name= "project.name" value= "JLine" />
<property name= "project.version" value= "1.0" />
<property name= "project.description" value= "JLine is a java library for reading and editing user input in console applications. It features tab-completion, command history, password masking, customizable keybindings, and pass-through handlers to use to chain to other console applications." />
<property name= "bundle.version" value= "${project.version}.0" />
2022-03-18 19:34:34 +01:00
<property name= "compiler.source" value= "1.8" />
2019-02-12 14:32:10 +01:00
<property name= "compiler.target" value= "${compiler.source}" />
<property name= "build.finalName" value= "${project.artifactId}-${project.version}" />
<property name= "build.dir" value= "target" />
<property name= "build.outputDir" value= "${build.dir}/classes" />
<property name= "build.srcDir" value= "src/main/java" />
<property name= "build.resourceDir" value= "src/main/resources" />
<property name= "build.testOutputDir" value= "${build.dir}/test-classes" />
<property name= "build.testDir" value= "src/test/java" />
<property name= "build.testResourceDir" value= "src/test/resources" />
<property name= "test.reports" value= "${build.dir}/test-reports" />
<property name= "reporting.outputDirectory" value= "${build.dir}/site" />
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id= "build.classpath" />
<path id= "build.test.classpath" />
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name= "clean" description= "Clean the output directory" >
<delete dir= "${build.dir}" />
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name= "compile" description= "Compile the code" >
<mkdir dir= "${build.outputDir}" />
<javac destdir= "${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src >
<pathelement location= "${build.srcDir}" />
</src>
<classpath refid= "build.classpath" />
</javac>
<copy todir= "${build.outputDir}" >
<fileset dir= "${build.resourceDir}" />
</copy>
</target>
<!-- ====================================================================== -->
<!-- Test - compilation target -->
<!-- ====================================================================== -->
<target name= "compile-tests"
depends="compile"
description="Compile the test code"
unless="test.skip">
<mkdir dir= "${build.testOutputDir}" />
<javac destdir= "${build.testOutputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src >
<pathelement location= "${build.testDir}" />
</src>
<classpath >
<path refid= "build.test.classpath" />
<pathelement location= "${build.outputDir}" />
</classpath>
</javac>
<copy todir= "${build.testOutputDir}" >
<fileset dir= "${build.testResourceDir}" />
</copy>
</target>
<!-- ====================================================================== -->
<!-- Run all tests -->
<!-- ====================================================================== -->
<target name= "test"
depends="compile-tests, junit-missing"
unless="junit.skipped"
description="Run the test cases">
<mkdir dir= "${test.reports}" />
<junit printSummary= "yes" haltonerror= "true" haltonfailure= "true" fork= "true" dir= "." >
<sysproperty key= "basedir" value= "." />
<formatter type= "xml" />
<formatter type= "plain" usefile= "false" />
<classpath >
<path refid= "build.test.classpath" />
<pathelement location= "${build.outputDir}" />
<pathelement location= "${build.testOutputDir}" />
</classpath>
<batchtest todir= "${test.reports}" unless= "test" >
<fileset dir= "${build.testDir}" >
<include name= "**/Test*.java" />
<include name= "**/*Test.java" />
<include name= "**/*TestCase.java" />
<exclude name= "**/*Abstract*Test.java" />
<exclude name= "**/JLineTestCase.java" />
</fileset>
</batchtest>
<batchtest todir= "${test.reports}" if= "test" >
<fileset dir= "${build.testDir}" >
<include name= "**/${test}.java" />
<exclude name= "**/*Abstract*Test.java" />
<exclude name= "**/JLineTestCase.java" />
</fileset>
</batchtest>
</junit>
</target>
<target name= "test-junit-present" >
<available classname= "junit.framework.Test" property= "junit.present" classpathref= "build.test.classpath" />
</target>
<target name= "test-junit-status"
depends="test-junit-present">
<condition property= "junit.missing" >
<and >
<isfalse value= "${junit.present}" />
<isfalse value= "${test.skip}" />
</and>
</condition>
<condition property= "junit.skipped" >
<or >
<isfalse value= "${junit.present}" />
<istrue value= "${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 the test classpath or 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= "${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
source="${compiler.source}"
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="true"
breakiterator="false">
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name= "jar" depends= "compile,test" description= "Builds the jar for the application" >
<jar jarfile= "${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest >
<attribute name= "Bundle-Description" value= "${project.description}" />
<attribute name= "Bundle-ManifestVersion" value= "2" />
<attribute name= "Bundle-Name" value= "${project.name}" />
<attribute name= "Bundle-SymbolicName" value= "${project.artifactId}" />
<attribute name= "Bundle-Version" value= "${bundle.version}" />
<attribute name= "DynamicImport-Package" value= "*" />
<attribute name= "Export-Package" value= "jline;version="${bundle.version}"" />
<attribute name= "Import-Package" value= "javax.swing;resolution:=optional" />
<attribute name= "Require-Capability" value= "osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=${compiler.target}))"" />
</manifest>
</jar>
</target>
</project>