aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2018-02-10 23:46:31 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-02-25 12:04:20 +0100
commit0aa85081d6319b582d53e9113be41cbe1a59f2a8 (patch)
tree0cace55e4e34bf4c4bac7ad100d0fcd83d9acaf0
parent36607d3bfe1f0d26773ffaefd22b4968c6237999 (diff)
downloadguix-0aa85081d6319b582d53e9113be41cbe1a59f2a8.tar
guix-0aa85081d6319b582d53e9113be41cbe1a59f2a8.tar.gz
gnu: Add java-plexus-sec-dispatcher.
* gnu/packages/java.scm (java-plexus-sec-dispatcher): New variable.
-rw-r--r--gnu/packages/java.scm88
1 files changed, 88 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 93b343f62f..2b7a76fda3 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -2759,6 +2759,94 @@ compilers.")
(description "This package contains the Javac Compiler support for Plexus
Compiler component.")))
+(define-public java-plexus-sec-dispatcher
+ (package
+ (name "java-plexus-sec-dispatcher")
+ (version "1.4") ;; Newest release listed at the Maven Central Repository.
+ (source (origin
+ ;; This project doesn't tag releases or publish tarballs, so we take
+ ;; the "prepare release plexus-sec-dispatcher-1.4" git commit.
+ (method url-fetch)
+ (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/"
+ "archive/7db8f88048.tar.gz"))
+ (sha256
+ (base32
+ "1smfrk4n7xbrsxpxcp2j4i0j8q86j73w0w6xg7qz83dp6dagdjgp"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (arguments
+ `(#:jar-name "plexus-sec-dispatcher.jar"
+ #:source-dir "src/main/java"
+ #:jdk ,icedtea-8
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'generate-models
+ (lambda* (#:key inputs #:allow-other-keys)
+ (define (modello-single-mode file version mode)
+ (zero? (system* "java"
+ "org.codehaus.modello.ModelloCli"
+ file mode "src/main/java" version
+ "false" "true")))
+ (let ((file "src/main/mdo/settings-security.mdo"))
+ (and
+ (modello-single-mode file "1.0.0" "java")
+ (modello-single-mode file "1.0.0" "xpp3-reader")
+ (modello-single-mode file "1.0.0" "xpp3-writer")))))
+ (add-before 'build 'generate-components.xml
+ (lambda _
+ (mkdir-p "build/classes/META-INF/plexus")
+ (with-output-to-file "build/classes/META-INF/plexus/components.xml"
+ (lambda _
+ (display
+ "<component-set>\n
+ <components>\n
+ <component>\n
+ <role>org.sonatype.plexus.components.sec.dispatcher.SecDispatcher</role>\n
+ <role-hint>default</role-hint>\n
+ <implementation>org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher</implementation>\n
+ <description></description>\n
+ <requirements>\n
+ <requirement>\n
+ <role>org.sonatype.plexus.components.cipher.PlexusCipher</role>\n
+ <field-name>_cipher</field-name>\n
+ </requirement>\n
+ <requirement>\n
+ <role>org.sonatype.plexus.components.sec.dispatcher.PasswordDecryptor</role>\n
+ <field-name>_decryptors</field-name>\n
+ </requirement>\n
+ </requirements>\n
+ <configuration>\n
+ <_configuration-file>~/.settings-security.xml</_configuration-file>\n
+ </configuration>\n
+ </component>\n
+ </components>\n
+</component-set>\n")))))
+ (add-before 'check 'fix-paths
+ (lambda _
+ (copy-recursively "src/test/resources" "target"))))))
+ (inputs
+ `(("java-plexus-cipher" ,java-plexus-cipher)))
+ (native-inputs
+ `(("java-modello-core" ,java-modello-core)
+ ;; for modello:
+ ("java-plexus-container-default" ,java-plexus-container-default)
+ ("java-plexus-classworlds" ,java-plexus-classworlds)
+ ("java-plexus-utils" ,java-plexus-utils)
+ ("java-guava" ,java-guava)
+ ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
+ ("java-sisu-build-api" ,java-sisu-build-api)
+ ;; modello plugins:
+ ("java-modellop-plugins-java" ,java-modello-plugins-java)
+ ("java-modellop-plugins-xml" ,java-modello-plugins-xml)
+ ("java-modellop-plugins-xpp3" ,java-modello-plugins-xpp3)
+ ;; for tests
+ ("java-junit" ,java-junit)))
+ (build-system ant-build-system)
+ (home-page "https://github.com/sonatype/plexus-sec-dispatcher")
+ (synopsis "Plexus Security Dispatcher Component")
+ (description "This package is the Plexus Security Dispatcher Component.
+This component decrypts a string passed to it.")
+ (license license:asl2.0)))
+
(define-public java-sisu-build-api
(package
(name "java-sisu-build-api")