ant-build-system: Allow specifying source directory.
* guix/build-system/ant.scm (ant-build), guix/build/ant-build-system.scm (default-build.xml): Add parameter source-dir. * guix/build/ant-build-system.scm (configure): Pass source-dir on to default-build.xml. * doc/guix.texi (Build Systems): Document it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
This commit is contained in:
parent
75f796bb73
commit
8df64f7384
|
@ -3327,7 +3327,8 @@ parameters, respectively.
|
||||||
When the original package does not provide a suitable Ant build file,
|
When the original package does not provide a suitable Ant build file,
|
||||||
the parameter @code{#:jar-name} can be used to generate a minimal Ant
|
the parameter @code{#:jar-name} can be used to generate a minimal Ant
|
||||||
build file @file{build.xml} with tasks to build the specified jar
|
build file @file{build.xml} with tasks to build the specified jar
|
||||||
archive.
|
archive. In this case the parameter @code{#:source-dir} can be used to
|
||||||
|
specify the source sub-directory, defaulting to ``src''.
|
||||||
|
|
||||||
The parameter @code{#:build-target} can be used to specify the Ant task
|
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
|
that should be run during the @code{build} phase. By default the
|
||||||
|
|
|
@ -98,6 +98,7 @@
|
||||||
(make-flags ''())
|
(make-flags ''())
|
||||||
(build-target "jar")
|
(build-target "jar")
|
||||||
(jar-name #f)
|
(jar-name #f)
|
||||||
|
(source-dir "src")
|
||||||
(phases '(@ (guix build ant-build-system)
|
(phases '(@ (guix build ant-build-system)
|
||||||
%standard-phases))
|
%standard-phases))
|
||||||
(outputs '("out"))
|
(outputs '("out"))
|
||||||
|
@ -126,6 +127,7 @@
|
||||||
#:test-target ,test-target
|
#:test-target ,test-target
|
||||||
#:build-target ,build-target
|
#:build-target ,build-target
|
||||||
#:jar-name ,jar-name
|
#:jar-name ,jar-name
|
||||||
|
#:source-dir ,source-dir
|
||||||
#:phases ,phases
|
#:phases ,phases
|
||||||
#:outputs %outputs
|
#:outputs %outputs
|
||||||
#:search-paths ',(map search-path-specification->sexp
|
#:search-paths ',(map search-path-specification->sexp
|
||||||
|
|
|
@ -35,7 +35,8 @@
|
||||||
;;
|
;;
|
||||||
;; Code:
|
;; Code:
|
||||||
|
|
||||||
(define (default-build.xml jar-name prefix)
|
(define* (default-build.xml jar-name prefix #:optional
|
||||||
|
(source-dir "."))
|
||||||
"Create a simple build.xml with standard targets for Ant."
|
"Create a simple build.xml with standard targets for Ant."
|
||||||
(call-with-output-file "build.xml"
|
(call-with-output-file "build.xml"
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
|
@ -58,7 +59,7 @@
|
||||||
(target (@ (name "compile"))
|
(target (@ (name "compile"))
|
||||||
(mkdir (@ (dir "${classes.dir}")))
|
(mkdir (@ (dir "${classes.dir}")))
|
||||||
(javac (@ (includeantruntime "false")
|
(javac (@ (includeantruntime "false")
|
||||||
(srcdir "src")
|
(srcdir ,source-dir)
|
||||||
(destdir "${classes.dir}")
|
(destdir "${classes.dir}")
|
||||||
(classpath (@ (refid "classpath"))))))
|
(classpath (@ (refid "classpath"))))))
|
||||||
|
|
||||||
|
@ -98,11 +99,12 @@ to the default GNU unpack strategy."
|
||||||
((assq-ref gnu:%standard-phases 'unpack) #:source source)))
|
((assq-ref gnu:%standard-phases 'unpack) #:source source)))
|
||||||
|
|
||||||
(define* (configure #:key inputs outputs (jar-name #f)
|
(define* (configure #:key inputs outputs (jar-name #f)
|
||||||
#:allow-other-keys)
|
(source-dir "src") #:allow-other-keys)
|
||||||
(when jar-name
|
(when jar-name
|
||||||
(default-build.xml jar-name
|
(default-build.xml jar-name
|
||||||
(string-append (assoc-ref outputs "out")
|
(string-append (assoc-ref outputs "out")
|
||||||
"/share/java")))
|
"/share/java")
|
||||||
|
source-dir))
|
||||||
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
|
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
|
||||||
(setenv "CLASSPATH" (generate-classpath inputs)))
|
(setenv "CLASSPATH" (generate-classpath inputs)))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue