aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2018-02-10 22:42:43 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-02-25 11:58:25 +0100
commit8f524749bc26601d4dc781978104718adb7addc8 (patch)
tree800302f3f0d0642ea647c20f5cb4db0eeeac4989 /gnu
parentf8a519fa3f8af3e3be842d84be49897d0bd9fd06 (diff)
downloadguix-8f524749bc26601d4dc781978104718adb7addc8.tar.gz
guix-8f524749bc26601d4dc781978104718adb7addc8.zip
gnu: Add java-sisu-build-api.
* gnu/packages/java.scm (java-sisu-build-api): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/java.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index dc8523369a..bbc39831ef 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2759,6 +2759,61 @@ compilers.")
(description "This package contains the Javac Compiler support for Plexus
Compiler component.")))
+(define-public java-sisu-build-api
+ (package
+ (name "java-sisu-build-api")
+ (version "0.0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sonatype/sisu-build-api/"
+ "archive/plexus-build-api-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "sisu-build-api.jar"
+ #:source-dir "src/main/java"
+ #:jdk ,icedtea-8
+ #:tests? #f; FIXME: how to run the tests?
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'copy-resources
+ (lambda _
+ (copy-recursively "src/main/resources" "build/classes")
+ (substitute* (find-files "build/classes")
+ (("\\$\\{project.version\\}") ,version))
+ #t))
+ (add-before 'build 'generate-plexus-compontent
+ (lambda _
+ (mkdir-p "build/classes/META-INF/plexus")
+ ;; This file is required for plexus to inject this package.
+ ;; FIXME: how is it generated?
+ (with-output-to-file "build/classes/META-INF/plexus/components.xml"
+ (lambda _
+ (display
+ "<component-set>\n
+ <components>\n
+ <component>\n
+ <role>org.sonatype.plexus.build.incremental.BuildContext</role>\n
+ <role-hint>default</role-hint>\n
+ <implementation>org.sonatype.plexus.build.incremental.DefaultBuildContext</implementation>\n
+ <description>Filesystem based non-incremental build context implementation\n
+which behaves as if all files were just created.</description>\n
+ </component>\n
+ </components>\n
+</component-set>\n")))
+ #t)))))
+ (inputs
+ `(("java-plexus-utils" ,java-plexus-utils)
+ ("java-plexus-container-default" ,java-plexus-container-default)))
+ (home-page "https://github.com/sonatype/sisu-build-api/")
+ (synopsis "Base build API for maven")
+ (description "This package contains the base build API for maven and
+a default implementation of it. This API is about scanning files in a
+project and determining what files need to be rebuilt.")
+ (license license:asl2.0)))
+
(define-public java-asm
(package
(name "java-asm")