[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/22: guix: ant-build-system: Add #:test-include and #:test-exclude arg
From: |
julien lepiller |
Subject: |
02/22: guix: ant-build-system: Add #:test-include and #:test-exclude arguments. |
Date: |
Tue, 3 Oct 2017 15:41:13 -0400 (EDT) |
roptat pushed a commit to branch master
in repository guix.
commit f403d7abdf28d2d6e4446a2989e0d37d023b6b53
Author: Julien Lepiller <address@hidden>
Date: Tue Sep 5 22:14:11 2017 +0200
guix: ant-build-system: Add #:test-include and #:test-exclude arguments.
* guix/build-system/ant.scm: Add #:test-include and #:test-exclude
arguments.
* guix/build/ant-build-system.scm: Generate test list from arguments.
* doc/guix.texi (Build Systems): Document it.
---
doc/guix.texi | 6 +++++-
guix/build-system/ant.scm | 4 ++++
guix/build/ant-build-system.scm | 17 +++++++++++++----
3 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 312f5e7..f0a59a6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -3481,7 +3481,11 @@ specify the source sub-directory, defaulting to ``src''.
The @code{#:main-class} parameter can be used with the minimal ant
buildfile to specify the main class of the resulting jar. This makes the
-jar file executable.
+jar file executable. The @code{#:test-include} parameter can be used to
+specify the list of junit tests to run. It defaults to
address@hidden(list "**/*Test.java")}. The @code{#:test-exclude} can be used to
+disable some tests. It defaults to @code{(list "**/Abstract*.java")},
+because abstract classes cannot be run as tests.
The parameter @code{#:build-target} can be used to specify the Ant task
that should be run during the @code{build} phase. By default the
diff --git a/guix/build-system/ant.scm b/guix/build-system/ant.scm
index a700230..b5626bd 100644
--- a/guix/build-system/ant.scm
+++ b/guix/build-system/ant.scm
@@ -100,6 +100,8 @@
(build-target "jar")
(jar-name #f)
(main-class #f)
+ (test-include (list "**/*Test.java"))
+ (test-exclude (list "**/Abstract*.java"))
(source-dir "src")
(test-dir "src/test")
(phases '(@ (guix build ant-build-system)
@@ -132,6 +134,8 @@
#:build-target ,build-target
#:jar-name ,jar-name
#:main-class ,main-class
+ #:test-include (list ,@test-include)
+ #:test-exclude (list ,@test-exclude)
#:source-dir ,source-dir
#:test-dir ,test-dir
#:phases ,phases
diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
index 727d3a3..a440daf 100644
--- a/guix/build/ant-build-system.scm
+++ b/guix/build/ant-build-system.scm
@@ -36,7 +36,9 @@
;; Code:
(define* (default-build.xml jar-name prefix #:optional
- (source-dir ".") (test-dir "./test") (main-class
#f))
+ (source-dir ".") (test-dir "./test") (main-class
#f)
+ (test-include '("**/*Test.java"))
+ (test-exclude '("**/Abstract*Test.java")))
"Create a simple build.xml with standard targets for Ant."
(call-with-output-file "build.xml"
(lambda (port)
@@ -109,7 +111,12 @@
(batchtest (@ (fork "yes")
(todir
"${test.home}/test-reports"))
(fileset (@ (dir
"${test.home}/java"))
- (include (@ (name
"**/*Test.java" )))))))
+ ,@(map (lambda (file)
+ `(include (@ (name
,file))))
+ test-include)
+ ,@(map (lambda (file)
+ `(exclude (@ (name
,file))))
+ test-exclude)))))
(target (@ (name "jar")
(depends "compile, manifest"))
@@ -150,12 +157,14 @@ to the default GNU unpack strategy."
(define* (configure #:key inputs outputs (jar-name #f)
(source-dir "src")
(test-dir "src/test")
- (main-class #f) #:allow-other-keys)
+ (main-class #f)
+ (test-include '("**/*Test.java"))
+ (test-exclude '("**/Abstract*.java")) #:allow-other-keys)
(when jar-name
(default-build.xml jar-name
(string-append (assoc-ref outputs "out")
"/share/java")
- source-dir test-dir main-class))
+ source-dir test-dir main-class test-include
test-exclude))
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
(setenv "CLASSPATH" (generate-classpath inputs)))
- branch master updated (4d6801b -> 500aac7), julien lepiller, 2017/10/03
- 01/22: guix: ant-build-system: Add main-class support., julien lepiller, 2017/10/03
- 05/22: gnu: Add java-osgi-cmpn., julien lepiller, 2017/10/03
- 02/22: guix: ant-build-system: Add #:test-include and #:test-exclude arguments.,
julien lepiller <=
- 07/22: gnu: Add java-osgi-dto., julien lepiller, 2017/10/03
- 10/22: gnu: Add java-osgi-namespace-extender., julien lepiller, 2017/10/03
- 11/22: gnu: Add java-osgi-namespace-service., julien lepiller, 2017/10/03
- 19/22: gnu: Add java-osgi-service-resolver., julien lepiller, 2017/10/03
- 14/22: gnu: Add java-osgi-service-metatype-annotations., julien lepiller, 2017/10/03
- 16/22: gnu: Add java-osgi-framework., julien lepiller, 2017/10/03
- 17/22: gnu: Add java-osgi-service-log., julien lepiller, 2017/10/03
- 03/22: gnu: Add java-microemulator-cldc., julien lepiller, 2017/10/03
- 04/22: gnu: Add java-datanucleus-javax-persistence., julien lepiller, 2017/10/03
- 06/22: gnu: Add java-osgi-service-component-annotations., julien lepiller, 2017/10/03