diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2017-03-07 19:51:18 +0100 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2017-05-10 21:44:53 +0200 |
commit | af8f8281db99fb4cde06f24a84caea32b0821c79 (patch) | |
tree | 78a22721e17284689dae1917276a1c68c20a0a36 | |
parent | 4f3e47ea82e72cedeb1fef51534f380105fdaf1e (diff) | |
download | guix-af8f8281db99fb4cde06f24a84caea32b0821c79.tar.gz |
gnu: Add java-commons-logging-minimal.
* gnu/packages/java.scm (java-commons-logging-minimal): New variable.
-rw-r--r-- | gnu/packages/java.scm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 62f6b55263..c14b5e7d8d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1927,6 +1927,53 @@ concurrency, I/O, hashing, primitives, reflection, string processing, and much more!") (license license:asl2.0))) +;; The java-commons-logging package provides adapters to many different +;; logging frameworks. To avoid an excessive dependency graph we try to build +;; it with only a minimal set of adapters. +(define-public java-commons-logging-minimal + (package + (name "java-commons-logging-minimal") + (version "1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/logging/source/" + "commons-logging-" version "-src.tar.gz")) + (sha256 + (base32 + "10bwcy5w8d7y39n0krlwhnp8ds3kj5zhmzj0zxnkw0qdlsjmsrj9")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f ; avoid dependency on logging frameworks + #:jar-name "commons-logging-minimal.jar" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-adapters-and-tests + (lambda _ + ;; Delete all adapters except for NoOpLog, SimpleLog, and + ;; LogFactoryImpl. NoOpLog is required to build; LogFactoryImpl + ;; is used by applications; SimpleLog is the only actually usable + ;; implementation that does not depend on another logging + ;; framework. + (for-each + (lambda (file) + (delete-file (string-append + "src/main/java/org/apache/commons/logging/impl/" file))) + (list "Jdk13LumberjackLogger.java" + "WeakHashtable.java" + "Log4JLogger.java" + "ServletContextCleaner.java" + "Jdk14Logger.java" + "AvalonLogger.java" + "LogKitLogger.java")) + (delete-file-recursively "src/test") + #t))))) + (home-page "http://commons.apache.org/logging/") + (synopsis "Common API for logging implementations") + (description "The Logging package is a thin bridge between different +logging implementations. A library that uses the commons-logging API can be +used with any logging implementation at runtime.") + (license license:asl2.0))) + (define-public java-commons-cli (package (name "java-commons-cli") |