diff options
author | Julien Lepiller <julien@lepiller.eu> | 2020-06-27 23:31:45 +0200 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2020-07-17 04:21:01 +0200 |
commit | fd090644b3e6e94c34b86216839e75743fbf49b8 (patch) | |
tree | 77b8da8f2bcc5aacd60619f1bfd4563aa5de9c70 /gnu/packages/maven.scm | |
parent | 15725d9a78b0f18f9768e1eb76922df8c2be11a2 (diff) | |
download | guix-fd090644b3e6e94c34b86216839e75743fbf49b8.tar.gz |
gnu: Add java-surefire-common-java5.
* gnu/packages/maven.scm (java-surefire-common-java5): New variable.
Diffstat (limited to 'gnu/packages/maven.scm')
-rw-r--r-- | gnu/packages/maven.scm | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index 38fb2a171e..0aa5e550e8 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."))) |