Subject: Re: [bug#28723] Add HDF-Java. [PATCH 1/2] gnu: Add java-slf4-simple.

From: julien lepiller <[email-masked]>
Date: Tue, 10 Oct 2017 10:18:44 +0200

Le 2017-10-09 21:25, Leo Famulari a écrit :
> On Fri, Oct 06, 2017 at 06:01:53PM +0200, Thomas Danckaert wrote:
>> Hi Guix,
>> 
>> this patch adds the “Simple” implementation of the SLF4J interface, 
>> used by
>> HDF-Java's tests.
>> 
>> About this patch: the tests of slf4j-simple require some of 
>> slf4j-api's test
>> code, which are therefore compiled in a somewhat ad-hoc fashion, but 
>> it
>> works...
>> 
>> Thomas
> 
>> From d034b46040d51b7e82fb95df3601dc9925fa1502 Mon Sep 17 00:00:00 2001
>> From: Thomas Danckaert <[email-masked]>
>> Date: Fri, 6 Oct 2017 12:38:34 +0200
>> Subject: [PATCH 1/2] gnu: Add java-slf4-simple.
>> 
>> * gnu/packages/java.scm (java-slf4j-simple): New variable.
> 
> Okay, looks good to me!

I don't know whether it's better, but I had to build slf4j-simple for 
maven. Here is what I have:

(define java-slf4j-api-tests
   (package
     (inherit java-slf4j-api)
     (name "java-slf4j-api-tests")
     (arguments
      `(#:jar-name "slf4j-api-tests.jar"
        #:source-dir "slf4j-api/src/test/java"
        #:tests? #f))
     (inputs
      `(("slf4j" ,java-slf4j-api)
        ,@(package-inputs java-slf4j-api)
        ,@(package-native-inputs java-slf4j-api)))
     (native-inputs '())))

(define-public java-slf4j-simple
   (package
     (inherit java-slf4j-api)
     (name "java-slf4j-simple")
     (arguments
      `(#:jar-name "slf4j-simple.jar"
        #:source-dir "slf4j-simple/src/main/java"
        #:test-dir "slf4j-simple/src/test"))
     (inputs
      `(("slf4j" ,java-slf4j-api)
        ,@(package-inputs java-slf4j-api)))
     (native-inputs
      `(("tests" ,java-slf4j-api-tests)
        ,@(package-native-inputs java-slf4j-api)))))

The idea is that maybe other packages in the slf4j archive will need 
these tests, so I built a package for them.

Otherwise your version LGTM too. Why do you need to build in the current 
directory and not in build/test-classes? If you build in 
build/test-classes, I think you don't need to set CLASSPATH in the 
build-slf4j-api-test-helpers phase.