diff options
| author | Julien Lepiller <julien@lepiller.eu> | 2020-06-27 23:19:32 +0200 |
|---|---|---|
| committer | Julien Lepiller <julien@lepiller.eu> | 2020-07-17 04:20:50 +0200 |
| commit | ac8179a05ca76bbbf620d201f4e7428a92746f96 (patch) | |
| tree | d3e02563bb8e5a210ed296012f846b120f49845d | |
| parent | ef61b4a1be93edad37fdac2c89aa7c7d99ecb630 (diff) | |
gnu: Add java-surefire-api.
* gnu/packages/maven.scm (java-surefire-api): New variable.
| -rw-r--r-- | gnu/packages/maven.scm | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index 1aa4eecb63c..f2668cd1a26 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm | |||
| @@ -3185,3 +3185,69 @@ internal to the SureFire Logger API. It is designed to have no dependency.") | |||
| 3185 | (install-pom-file "pom.xml"))))) | 3185 | (install-pom-file "pom.xml"))))) |
| 3186 | (propagated-inputs | 3186 | (propagated-inputs |
| 3187 | `(("maven-parent-pom" ,maven-parent-pom-33))))) | 3187 | `(("maven-parent-pom" ,maven-parent-pom-33))))) |
| 3188 | |||
| 3189 | (define-public java-surefire-api | ||
| 3190 | (package | ||
| 3191 | (inherit java-surefire-logger-api) | ||
| 3192 | (name "java-surefire-api") | ||
| 3193 | (arguments | ||
| 3194 | `(#:tests? #f | ||
| 3195 | #:jar-name "java-surefire-api.jar" | ||
| 3196 | #:source-dir "surefire-api/src/main/java" | ||
| 3197 | #:phases | ||
| 3198 | (modify-phases %standard-phases | ||
| 3199 | (add-before 'build 'copy-resources | ||
| 3200 | (lambda _ | ||
| 3201 | (mkdir-p "build/classes") | ||
| 3202 | (copy-recursively "surefire-api/src/main/resources" "build/classes") | ||
| 3203 | #t)) | ||
| 3204 | (add-before 'build 'prepare-shade | ||
| 3205 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 3206 | (mkdir-p "build/classes") | ||
| 3207 | (with-directory-excursion "build/classes" | ||
| 3208 | (for-each | ||
| 3209 | (lambda (input) | ||
| 3210 | (for-each | ||
| 3211 | (lambda (jar-file) | ||
| 3212 | (invoke "jar" "xf" jar-file) | ||
| 3213 | (delete-file-recursively "META-INF")) | ||
| 3214 | (find-files (assoc-ref inputs input) ".*.jar$"))) | ||
| 3215 | '("maven-shared-utils" "java-commons-codec"))) | ||
| 3216 | #t)) | ||
| 3217 | (add-after 'build 'shade | ||
| 3218 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 3219 | (let ((jarjar | ||
| 3220 | (car (find-files (assoc-ref inputs "java-jarjar") ".*.jar$"))) | ||
| 3221 | (injar "java-surefire-api.jar") | ||
| 3222 | (outjar "java-surefire-api-shaded.jar")) | ||
| 3223 | (with-directory-excursion "build/jar" | ||
| 3224 | (with-output-to-file "rules" | ||
| 3225 | (lambda _ | ||
| 3226 | (format #t (string-append | ||
| 3227 | "rule " | ||
| 3228 | "org.apache.maven.shared.utils.** " | ||
| 3229 | "org.apache.maven.surefire.shade.api." | ||
| 3230 | "org.apache.maven.shared.utils.@1~%")) | ||
| 3231 | (format #t (string-append | ||
| 3232 | "rule " | ||
| 3233 | "org.apache.commons.codec.** " | ||
| 3234 | "org.apache.maven.surefire.shade.api." | ||
| 3235 | "org.apache.commons.codec.@1~%")))) | ||
| 3236 | (invoke "java" "-jar" jarjar "process" "rules" injar outjar) | ||
| 3237 | (delete-file injar) | ||
| 3238 | (rename-file outjar injar))) | ||
| 3239 | #t)) | ||
| 3240 | (replace 'install | ||
| 3241 | (install-from-pom "surefire-api/pom.xml"))))) | ||
| 3242 | (propagated-inputs | ||
| 3243 | `(("java-surefire-logger-api" ,java-surefire-logger-api) | ||
| 3244 | ("java-commons-codec" ,java-commons-codec) | ||
| 3245 | ("java-surefire-parent-pom" ,java-surefire-parent-pom) | ||
| 3246 | ("maven-shared-utils" ,maven-shared-utils-3.1))) | ||
| 3247 | (inputs | ||
| 3248 | `(("java-jsr305" ,java-jsr305))) | ||
| 3249 | (native-inputs | ||
| 3250 | `(("unzip" ,unzip) | ||
| 3251 | ("java-jarjar" ,java-jarjar))) | ||
| 3252 | (synopsis "Maven SureFire API") | ||
| 3253 | (description "This package contains the API to use Maven SureFire."))) | ||
