From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46180) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d76EM-0004kK-Fy for guix-patches@gnu.org; Sat, 06 May 2017 16:23:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d76EI-0007yQ-Hb for guix-patches@gnu.org; Sat, 06 May 2017 16:23:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:60390) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d76EI-0007yM-EK for guix-patches@gnu.org; Sat, 06 May 2017 16:23:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d76EI-00019M-61 for guix-patches@gnu.org; Sat, 06 May 2017 16:23:02 -0400 Subject: bug#26803: [PATCH 01/36] ant-build-system: Allow specifying source directory. Resent-Message-ID: References: <87wp9u2ifa.fsf@elephly.net> <20170506153617.3074-1-rekado@elephly.net> From: Roel Janssen In-reply-to: <20170506153617.3074-1-rekado@elephly.net> Date: Sat, 06 May 2017 22:22:28 +0200 Message-ID: <87shkhka63.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ricardo Wurmus Cc: Hartmut Goebel , 26803@debbugs.gnu.org Ricardo Wurmus writes: > From: Hartmut Goebel > > * 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 > --- > 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