guix-commits
[Top][All Lists]
Advanced

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

103/110: gnu: Add java-surefire-common-java5.


From: guix-commits
Subject: 103/110: gnu: Add java-surefire-common-java5.
Date: Thu, 16 Jul 2020 22:23:40 -0400 (EDT)

roptat pushed a commit to branch master
in repository guix.

commit fd090644b3e6e94c34b86216839e75743fbf49b8
Author: Julien Lepiller <julien@lepiller.eu>
AuthorDate: Sat Jun 27 23:31:45 2020 +0200

    gnu: Add java-surefire-common-java5.
    
    * gnu/packages/maven.scm (java-surefire-common-java5): New variable.
---
 gnu/packages/maven.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 38fb2a1..0aa5e55 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -3300,3 +3300,60 @@ package contains an API and facilities used inside that 
forked JVM.")))
     (synopsis "Extension API for Maven SureFire")
     (description "Surefire is a test framework project.  This is the aggregator
 POM in Apache Maven Surefire project.")))
+
+(define-public java-surefire-common-java5
+  (package
+    (inherit java-surefire-logger-api)
+    (name "java-surefire-common-java5")
+    (arguments
+     `(#:jar-name "java-surefire-common-java5.jar"
+       #:source-dir "surefire-providers/common-java5/src/main/java"
+       #:test-dir "surefire-providers/common-java5/src/test"
+       #:test-exclude (list
+                        ;; Abstract class
+                        "**/PojoStackTraceWriterTest.java"
+                        ;; Fails
+                        "**/SmartStackTraceParserTest.java")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'prepare-shade
+           (lambda* (#:key inputs #:allow-other-keys)
+             (mkdir-p "build/classes")
+             (with-directory-excursion "build/classes"
+               (for-each
+                 (lambda (jar-file)
+                   (invoke "jar" "xf" jar-file)
+                   (delete-file-recursively "META-INF"))
+                 (find-files (assoc-ref inputs "maven-shared-utils") 
".*.jar$")))
+             #t))
+         (add-after 'build 'shade
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jarjar
+                   (car (find-files (assoc-ref inputs "java-jarjar") 
".*.jar$")))
+                   (injar "java-surefire-common-java5.jar")
+                   (outjar "java-surefire-common-java5-shaded.jar"))
+               (with-directory-excursion "build/jar"
+                 (with-output-to-file "rules"
+                   (lambda _
+                     (format #t (string-append
+                                  "rule "
+                                  "org.apache.maven.shared.utils.** "
+                                  "org.apache.maven.surefire.shade.common."
+                                  "org.apache.maven.shared.utils.@1~%"))))
+                 (invoke "java" "-jar" jarjar "process" "rules" injar outjar)
+                 (delete-file injar)
+                 (rename-file outjar injar)))
+             #t))
+         (replace 'install
+           (install-from-pom "surefire-providers/common-java5/pom.xml")))))
+    (propagated-inputs
+     `(("maven-shared-utils" ,maven-shared-utils-3.1)
+       ("java-surefire-api" ,java-surefire-api)
+       ("java-surefire-parent-pom" ,java-surefire-parent-pom)))
+    (native-inputs
+     `(("unzip" ,unzip)
+       ("java-jarjar" ,java-jarjar)
+       ("java-junit" ,java-junit)
+       ("java-fest-assert" ,java-fest-assert)))
+    (synopsis "Common java5 facilities for Maven SureFire")
+    (description "This package contains shared Java 5 code for all 
providers.")))



reply via email to

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