guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26803: [PATCH 01/36] ant-build-system: Allow specifying source direc


From: Roel Janssen
Subject: bug#26803: [PATCH 01/36] ant-build-system: Allow specifying source directory.
Date: Sat, 06 May 2017 22:22:28 +0200
User-agent: mu4e 0.9.18; emacs 25.1.1

Ricardo Wurmus writes:

> From: Hartmut Goebel <address@hidden>
>
> * 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 <address@hidden>
> ---
>  doc/guix.texi                   |  3 ++-
>  guix/build-system/ant.scm       |  2 ++
>  guix/build/ant-build-system.scm | 10 ++++++----
>  3 files changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 4446909ed..d2699c048 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -3325,7 +3325,8 @@ parameters, respectively.
>  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
>  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
>  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 550f92bc7..a309a0c86 100644
> --- a/guix/build-system/ant.scm
> +++ b/guix/build-system/ant.scm
> @@ -98,6 +98,7 @@
>                      (make-flags ''())
>                      (build-target "jar")
>                      (jar-name #f)
> +                    (source-dir "src")
>                      (phases '(@ (guix build ant-build-system)
>                                  %standard-phases))
>                      (outputs '("out"))
> @@ -126,6 +127,7 @@
>                    #:test-target ,test-target
>                    #:build-target ,build-target
>                    #:jar-name ,jar-name
> +                  #:source-dir ,source-dir
>                    #:phases ,phases
>                    #:outputs %outputs
>                    #:search-paths ',(map search-path-specification->sexp
> diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm
> index 00a4a46d8..8ec7a9486 100644
> --- a/guix/build/ant-build-system.scm
> +++ b/guix/build/ant-build-system.scm
> @@ -35,7 +35,8 @@
>  ;;
>  ;; 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."
>    (call-with-output-file "build.xml"
>      (lambda (port)
> @@ -58,7 +59,7 @@
>                   (target (@ (name "compile"))
>                           (mkdir (@ (dir "${classes.dir}")))
>                           (javac (@ (includeantruntime "false")
> -                                   (srcdir "src")
> +                                   (srcdir ,source-dir)
>                                     (destdir "${classes.dir}")
>                                     (classpath (@ (refid "classpath"))))))
>  
> @@ -98,11 +99,12 @@ to the default GNU unpack strategy."
>        ((assq-ref gnu:%standard-phases 'unpack) #:source source)))
>  
>  (define* (configure #:key inputs outputs (jar-name #f)
> -                    #:allow-other-keys)
> +                    (source-dir "src") #:allow-other-keys)
>    (when jar-name
>      (default-build.xml jar-name
>                         (string-append (assoc-ref outputs "out")
> -                                      "/share/java")))
> +                                      "/share/java")
> +                       source-dir))
>    (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
>    (setenv "CLASSPATH" (generate-classpath inputs)))

LGTM!

Kind regards,
Roel Janssen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]