diff mbox series

[bug#57913] gnu: Add java-argparse4j.

Message ID 87czbsob4l.fsf@gmail.com
State Accepted
Headers show
Series [bug#57913] gnu: Add java-argparse4j. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git-branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Artyom V. Poptsov Sept. 18, 2022, 5:17 p.m. UTC
Hello,

this patch adds "argparse4j".
Thanks,

- Artyom

References:
1. Java port of Python's famous argparse command-line argument parser.
   <https://github.com/argparse4j/argparse4j>

Comments

Julien Lepiller Sept. 18, 2022, 6:35 p.m. UTC | #1
This looks good from a distance, but I'm not sure you need maven-enforcer-plugin. Since you're using the ant-build-system, I don't think the plugin has a chance to run?

Le 18 septembre 2022 19:17:30 GMT+02:00, "Artyom V. Poptsov" <poptsov.artyom@gmail.com> a écrit :
>Hello,
>
>this patch adds "argparse4j".
diff mbox series

Patch

From d4f3e93b9fd322dfc9c71d7251cdf8c8b838a6f5 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sun, 18 Sep 2022 20:14:28 +0300
Subject: [PATCH] gnu: Add java-argparse4j.

* gnu/packages/java.scm (java-argparse4j): New variable.
---
 gnu/packages/java.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index c25a330c2a..2afc6f89ca 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -13965,6 +13965,44 @@  (define-public java-args4j
 parse command line options/arguments in your CUI application.")
     (license license:expat)))
 
+(define-public java-argparse4j
+  (package
+    (name "java-argparse4j")
+    (version "0.9.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/argparse4j/argparse4j")
+                    (commit (string-append "argparse4j-" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1i0j3zs1ln48n0g8a90vqbv6528mcswhzys6252yp0c8w1ai64fb"))))
+    (build-system ant-build-system)
+    (arguments
+     (list #:jar-name "java-argparse4j.jar"
+           #:source-dir "main/src/main/"
+           #:test-dir "main/src/test/"
+           #:jdk openjdk11
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'copy-resources
+                 (lambda _
+                   ;; XXX: argparse4j expects input files for argument parser
+                   ;; tests to be in "target" diretory.
+                   (copy-recursively "main/src/test/resources"
+                                     "target/test-classes")
+                   (copy-recursively "main/src/main/resources"
+                                     "build/classes")))
+               (replace 'install
+                 (install-from-pom "pom.xml")))))
+    (inputs (list maven-enforcer-plugin))
+    (home-page "https://argparse4j.github.io/")
+    (synopsis "Java command-line argument parser library")
+    (description "Argparse4j is a command line argument parser library for
+Java based on Python's @code{argparse} module.")
+    (license license:expat)))
+
 (define-public java-metadata-extractor
   (package
     (name "java-metadata-extractor")
-- 
2.34.1