Run the unit test in src_test so we don't need to depend on full dev-java/ant for...
authorPetteri Räty <betelgeuse@gentoo.org>
Sun, 21 Jan 2007 20:32:33 +0000 (20:32 +0000)
committerPetteri Räty <betelgeuse@gentoo.org>
Sun, 21 Jan 2007 20:32:33 +0000 (20:32 +0000)
Package-Manager: portage-2.1.2-r1

dev-java/jline/ChangeLog
dev-java/jline/Manifest
dev-java/jline/files/maven-build.properties [new file with mode: 0644]
dev-java/jline/files/maven-build.xml [new file with mode: 0644]
dev-java/jline/jline-0.9.9-r1.ebuild

index 159085d22412f8f71acd3202fbe4855f8ece6338..96003a4446238b25fc6c23a6b5ecb249d95d62b6 100644 (file)
@@ -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.
index d8a58c5a431246d817cae9fb47b026592c8614a9..c7f96e7a4c4f841d0fed630a4986e0145a13f67c 100644 (file)
@@ -1,16 +1,27 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX build-0.9.9.xml 3483 RMD160 31693eabfa651af418938f22175aaf8be3608112 SHA1 d9a1a8ba7a9709c1e873d30cc1b2fd8bb8067a6f SHA256 36ee2d8d6770f8c6fe0a13a94b8cc86682139f902b911b308528ba04b9c08bb2
 MD5 fea58a669e91ad7cb8adc6e47484c153 files/build-0.9.9.xml 3483
 RMD160 31693eabfa651af418938f22175aaf8be3608112 files/build-0.9.9.xml 3483
 SHA256 36ee2d8d6770f8c6fe0a13a94b8cc86682139f902b911b308528ba04b9c08bb2 files/build-0.9.9.xml 3483
+AUX maven-build.properties 529 RMD160 848710f8ecbb55fe2b5b5a8b383ef6b720d095cb SHA1 fad287b1dc9ead53425755e4e1ada1454b6ef381 SHA256 724fa4a3c9268861f5556df8f03c38bf797b090db7fcaecdd04aab5ac3fa0d55
+MD5 a9eaa4290f58a9ea305de33ebfe3a45a files/maven-build.properties 529
+RMD160 848710f8ecbb55fe2b5b5a8b383ef6b720d095cb files/maven-build.properties 529
+SHA256 724fa4a3c9268861f5556df8f03c38bf797b090db7fcaecdd04aab5ac3fa0d55 files/maven-build.properties 529
+AUX maven-build.xml 8690 RMD160 f0df801eefb80fa60d5892155a24824c1b8a154d SHA1 a66e2d7cdd19fbfb88da3b4dcceb03951f37c2a0 SHA256 927859305f93e7a07cb2b2b6a5e54f11b9d2f0cf47bd424ad89b35fa65660bd7
+MD5 63c08a4586fde5a3295fb6e437e61977 files/maven-build.xml 8690
+RMD160 f0df801eefb80fa60d5892155a24824c1b8a154d files/maven-build.xml 8690
+SHA256 927859305f93e7a07cb2b2b6a5e54f11b9d2f0cf47bd424ad89b35fa65660bd7 files/maven-build.xml 8690
 DIST jline-0.9.9.zip 692022 RMD160 62e45ddadf1eb175cf0271df5f8f8d6075f62f07 SHA1 f87ec1bc97bfefcc25d7186f2e94510c57bd9e65 SHA256 f1ac3b06fbb9b81c03555874ab748c3e674644736f0003ac3ed81d6201332e9b
-EBUILD jline-0.9.9-r1.ebuild 1161 RMD160 e2ce4978e6c542f02669303316751e75700e855c SHA1 e9926b86ec316dd93dfaa165c6859be3c282029d SHA256 994e9b0736b864306b130e70ea0551926fafb60089a2f149c8ca0d8c92c40bef
-MD5 eca699cf40ec97bdd5ba61794f7f180a jline-0.9.9-r1.ebuild 1161
-RMD160 e2ce4978e6c542f02669303316751e75700e855c jline-0.9.9-r1.ebuild 1161
-SHA256 994e9b0736b864306b130e70ea0551926fafb60089a2f149c8ca0d8c92c40bef jline-0.9.9-r1.ebuild 1161
-MISC ChangeLog 909 RMD160 8b59affccb2b82c1e7246a7860f692df17ca0ca6 SHA1 811a4d0b28ee875131536b3d7a1299b27aaaecaa SHA256 64c925b743e4296bee7857521a1d6b3557e845e9d8d56f06c9f9f0ed4872712a
-MD5 c173274ee0bf6367c6639269ecd73660 ChangeLog 909
-RMD160 8b59affccb2b82c1e7246a7860f692df17ca0ca6 ChangeLog 909
-SHA256 64c925b743e4296bee7857521a1d6b3557e845e9d8d56f06c9f9f0ed4872712a ChangeLog 909
+EBUILD jline-0.9.9-r1.ebuild 1319 RMD160 5c29d8035228d91deface7b5c42e9b19ada8e21b SHA1 81e56ecf7eab90332aca736816593590aed2925a SHA256 a2c5c0682b3b9053a95644c77000e421e5b695f597a92a0c19e17fc4fbbaa0bc
+MD5 e651190099c827c4c8e9cede6060c254 jline-0.9.9-r1.ebuild 1319
+RMD160 5c29d8035228d91deface7b5c42e9b19ada8e21b jline-0.9.9-r1.ebuild 1319
+SHA256 a2c5c0682b3b9053a95644c77000e421e5b695f597a92a0c19e17fc4fbbaa0bc jline-0.9.9-r1.ebuild 1319
+MISC ChangeLog 1155 RMD160 1b8bc5ee8ad16dd4e4592ad56369899ce2e4e1d3 SHA1 805953bb999865e8ba4e1d7685e28966c9fea844 SHA256 945de61150d5635ceb694b088b8ec81f206c7f0cd501a11e8c34654035a3bc4f
+MD5 c33316ab51d058eba906964383c921c0 ChangeLog 1155
+RMD160 1b8bc5ee8ad16dd4e4592ad56369899ce2e4e1d3 ChangeLog 1155
+SHA256 945de61150d5635ceb694b088b8ec81f206c7f0cd501a11e8c34654035a3bc4f ChangeLog 1155
 MISC metadata.xml 252 RMD160 668af83772a7008b999bfe22da86e6d763c58d05 SHA1 7a38c8eea607b775e3b67757b0deda944aa27c65 SHA256 530d1e67c69f08b473ce1a5e7bbab5682e6deee068b27dbb57d459ca61c1290a
 MD5 04e248f270fb5cf8193c02ebd018d503 metadata.xml 252
 RMD160 668af83772a7008b999bfe22da86e6d763c58d05 metadata.xml 252
@@ -18,3 +29,10 @@ SHA256 530d1e67c69f08b473ce1a5e7bbab5682e6deee068b27dbb57d459ca61c1290a metadata
 MD5 1f96274dc29bbf19598105039e7106a1 files/digest-jline-0.9.9-r1 226
 RMD160 e0e738a6995c1c505e6bf84b08555c4948d8f65d files/digest-jline-0.9.9-r1 226
 SHA256 b598c193b8fc7f5aba1c3ba65d0427912ce24ece03d5cb1b7588517b00532cd9 files/digest-jline-0.9.9-r1 226
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.1 (GNU/Linux)
+
+iD8DBQFFs83ocxLzpIGCsLQRAv7lAJ9KXRehg9sQeuODt6t8vCA93lf/gQCgk3+l
+ueKbHVqco3b7wUmpcc1ODlA=
+=nEYo
+-----END PGP SIGNATURE-----
diff --git a/dev-java/jline/files/maven-build.properties b/dev-java/jline/files/maven-build.properties
new file mode 100644 (file)
index 0000000..bebd460
--- /dev/null
@@ -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 (file)
index 0000000..ef1947b
--- /dev/null
@@ -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>
index 2ed623e10e18ded710d79f004a61cc086bc4c05e..199aeb867e58fe0644e6e2e37714fdb860155a6b 100644 (file)
@@ -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
+}