summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetteri Räty <betelgeuse@gentoo.org>2007-01-21 20:32:33 +0000
committerPetteri Räty <betelgeuse@gentoo.org>2007-01-21 20:32:33 +0000
commit05d4d18e581d867d1d851795a0ea5c2a25f8cc00 (patch)
tree6caf229a26ac10820c03a2f0951a666a06c21c89 /dev-java/jline
parentAdded maven.mode.offline to properties we always pass to ant (diff)
downloadgentoo-2-05d4d18e581d867d1d851795a0ea5c2a25f8cc00.tar.gz
gentoo-2-05d4d18e581d867d1d851795a0ea5c2a25f8cc00.tar.bz2
gentoo-2-05d4d18e581d867d1d851795a0ea5c2a25f8cc00.zip
Run the unit test in src_test so we don't need to depend on full dev-java/ant for just building this.
(Portage version: 2.1.2-r1)
Diffstat (limited to 'dev-java/jline')
-rw-r--r--dev-java/jline/ChangeLog8
-rw-r--r--dev-java/jline/files/maven-build.properties13
-rw-r--r--dev-java/jline/files/maven-build.xml199
-rw-r--r--dev-java/jline/jline-0.9.9-r1.ebuild26
4 files changed, 235 insertions, 11 deletions
diff --git a/dev-java/jline/ChangeLog b/dev-java/jline/ChangeLog
index 159085d22412..96003a444623 100644
--- a/dev-java/jline/ChangeLog
+++ b/dev-java/jline/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-java/jline
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/jline/ChangeLog,v 1.5 2007/01/21 14:11:56 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/jline/ChangeLog,v 1.6 2007/01/21 20:32:33 betelgeuse Exp $
+
+ 21 Jan 2007; Petteri Räty <betelgeuse@gentoo.org>
+ +files/maven-build.properties, +files/maven-build.xml,
+ jline-0.9.9-r1.ebuild:
+ Run the unit test in src_test so we don't need to depend on full
+ dev-java/ant for just building this.
21 Jan 2007; Vlastimil Babka <caster@gentoo.org> jline-0.9.9-r1.ebuild:
Depend on full ant for junit, fixes bug #163049.
diff --git a/dev-java/jline/files/maven-build.properties b/dev-java/jline/files/maven-build.properties
new file mode 100644
index 000000000000..bebd460b3286
--- /dev/null
+++ b/dev-java/jline/files/maven-build.properties
@@ -0,0 +1,13 @@
+#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE!
+#Sun Jan 21 15:31:06 EET 2007
+maven.build.finalName=jline-0.9.9
+maven.build.outputDir=${maven.build.dir}/classes
+maven.build.resourceDir.0=src/main/resources
+maven.build.testResourceDir.0=src/test/resources
+maven.build.testOutputDir=${maven.build.dir}/test-classes
+maven.repo.local=/home/betelgeuse/.m2/repository
+maven.settings.offline=false
+maven.build.dir=target
+maven.settings.interactiveMode=true
+maven.build.srcDir.0=src/main/java
+maven.build.testDir.0=src/test/java
diff --git a/dev-java/jline/files/maven-build.xml b/dev-java/jline/files/maven-build.xml
new file mode 100644
index 000000000000..ef1947b88a9f
--- /dev/null
+++ b/dev-java/jline/files/maven-build.xml
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- 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 1/21/07 3:31 PM -->
+<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<project name="jline-from-maven" default="dist" basedir=".">
+
+ <!-- ====================================================================== -->
+ <!-- Build environnement properties -->
+ <!-- ====================================================================== -->
+
+ <property file="maven-build.properties"/>
+
+ <property name="maven.build.finalName" value="jline-0.9.9"/>
+ <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/main/resources"/>
+ <property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
+
+ <property name="maven.settings.offline" value="true"/>
+ <property name="maven.settings.interactiveMode" value="true"/>
+
+ <!-- ====================================================================== -->
+ <!-- Defining classpaths -->
+ <!-- ====================================================================== -->
+
+ <path id="build.classpath">
+ <fileset dir="${maven.repo.local}">
+ <include name="junit/junit/3.8.1/junit-3.8.1.jar"/>
+ </fileset>
+ </path>
+ <path id="build.test.classpath">
+ <fileset dir="${maven.repo.local}">
+ <include name="junit/junit/3.8.1/junit-3.8.1.jar"/>
+ </fileset>
+ </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.3"
+ verbose="false"
+ fork="false"
+ source="1.3">
+ <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>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Test-compilation target -->
+ <!-- ====================================================================== -->
+
+ <target name="compile-tests"
+ depends="junit-present, compile"
+ description="Compile the test code"
+ if="junit.present">
+ <mkdir dir="${maven.build.testOutputDir}"/>
+ <javac destdir="${maven.build.testOutputDir}"
+ nowarn="false"
+ debug="true"
+ optimize="false"
+ deprecation="true"
+ target="1.3"
+ verbose="false"
+ fork="false"
+ source="1.3">
+ <src>
+ <pathelement location="${maven.build.testDir.0}"/>
+ </src>
+ <classpath>
+ <path refid="build.test.classpath"/>
+ <pathelement location="${maven.build.outputDir}"/>
+ </classpath>
+ </javac>
+ <copy todir="${maven.build.testOutputDir}">
+ <fileset dir="${maven.build.testResourceDir.0}"/>
+ </copy>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Run all tests -->
+ <!-- ====================================================================== -->
+
+ <target name="test"
+ depends="junit-present, compile-tests"
+ if="junit.present"
+ 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"/>
+ <classpath>
+ <path refid="build.test.classpath"/>
+ <pathelement location="${maven.build.outputDir}"/>
+ <pathelement location="${maven.build.testOutputDir}"/>
+ </classpath>
+ <batchtest todir="${maven.test.reports}">
+ <fileset dir="${maven.build.testDir.0}">
+ <include name="**/Test*.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <target name="test-junit-present">
+ <available classname="junit.framework.Test" property="junit.present"/>
+ </target>
+
+ <target name="junit-present"
+ depends="test-junit-present"
+ unless="junit.present">
+ <echo>=================================== WARNING ===================================</echo>
+ <echo> Junit isn&apos;t present in your $ANT_HOME/lib directory. Tests not executed. </echo>
+ <echo>===============================================================================</echo>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Package target -->
+ <!-- ====================================================================== -->
+
+ <target name="package" depends="compile" description="Package the application">
+ <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
+ compress="true"
+ index="false"
+ basedir="${maven.build.outputDir}"
+ excludes="**/package.html"/>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Dist target -->
+ <!-- ====================================================================== -->
+
+ <target name="dist" depends="package,test" description="Package the application and run tests"/>
+
+ <!-- ====================================================================== -->
+ <!-- Download dependencies target -->
+ <!-- ====================================================================== -->
+
+ <target name="test-offline">
+ <condition property="maven.mode.offline">
+ <equals arg1="${maven.settings.offline}" arg2="true"/>
+ </condition>
+ </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}/junit/junit/3.8.1"/>
+ <get src="http://jline.sourceforge.net/m2repo/junit/junit/3.8.1/junit-3.8.1.jar"
+ dest="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"
+ usetimestamp="true"
+ ignoreerrors="true"/>
+ <get src="http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar"
+ dest="${maven.repo.local}/junit/junit/3.8.1/junit-3.8.1.jar"
+ usetimestamp="true"
+ ignoreerrors="true"/>
+ </target>
+</project>
diff --git a/dev-java/jline/jline-0.9.9-r1.ebuild b/dev-java/jline/jline-0.9.9-r1.ebuild
index 2ed623e10e18..199aeb867e58 100644
--- a/dev-java/jline/jline-0.9.9-r1.ebuild
+++ b/dev-java/jline/jline-0.9.9-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-java/jline/jline-0.9.9-r1.ebuild,v 1.4 2007/01/21 14:11:56 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-java/jline/jline-0.9.9-r1.ebuild,v 1.5 2007/01/21 20:32:33 betelgeuse Exp $
inherit java-pkg-2 java-ant-2
@@ -11,14 +11,12 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="source"
+IUSE="source test"
-# TODO: use maven to create a build.xml that does not always
-# run tests
DEPEND=">=virtual/jdk-1.4
- dev-java/ant
+ dev-java/ant-core
app-arch/unzip
- dev-java/junit
+ test? ( dev-java/junit dev-java/ant-tasks )
source? ( app-arch/zip )"
RDEPEND=">=virtual/jre-1.4"
@@ -30,16 +28,24 @@ src_unpack() {
cd "${S}"
# we don't support maven for building yet. this build.xml was generated by:
# - mvn ant:ant
- # - tweak build.xml to use <fileset dir="lib" includes="**/*.jar" for
- # build.classpath
- cp ${FILESDIR}/build-${PV}.xml build.xml || die "failed to copy build.xml"
+ # - tweak build.xml to not load properties from home dir
+ # - tweak the test target to match the test cases
+ cp ${FILESDIR}/maven-build.xml build.xml || die "failed to copy build.xml"
+ cp ${FILESDIR}/maven-build.properties . || die
+ java-ant_ignore-system-classes
mkdir lib
cd lib
- java-pkg_jar-from --build-only junit
+ use test && java-pkg_jar-from --build-only junit
}
+EANT_BUILD_TARGET="package"
+
src_install() {
java-pkg_newjar target/${P}.jar
use source && java-pkg_dosrc src/main/java
}
+
+src_test() {
+ eant test -Djunit.present=true
+}