Subject: [bug#56213] [PATCH] gnu: Add maven-doxia-core

From: "Artyom V. Poptsov" <[email-masked]>
Date: Sat, 25 Jun 2022 15:14:58 +0300

Hello Julien.

> Thanks for the patch!

Thanks for taking your time for reviewing my patch.  :-)

> Missing full stop at the end of the subject line.

Okay, added a full-stop.

FWIW, I'm usually following those rules when writing commit messages:
  https://cbea.ms/git-commit/#end

The rules explicitly say that a committer should not add a full-stop at
the end of the first line.

> This package actually has tests, could you enable them?

Unfortunately tests require JUnit5.  :-/

> The pom file references most of these as runtime dependencies, so we
> need to propagate them, so maven can find them.

> We also need to propagated the parent pom :)

Done.

However, 'guix lint' gave me the following warning:
--8<---------------cut here---------------start------------->8---
/home/avp/src/dist/guix/gnu/packages/maven.scm:3943:2: [email-masked]: propagated inputs [email-masked] and [email-masked] collide
--8<---------------cut here---------------end--------------->8---

I don't know yet how to properly fix that; probably the issue is that I
made all the inputs propagated, but I don't see how to differentiate
them looking at the Doxia Core 'pom.xml'.

> This feels like a description of the whole Doxia project. Could you add
> maybe one sentence to explain how this package is related to the whole
> doxia project?

Done.

> Lastly, I would put this package just below maven-doxia-parent-pom, but
> that's mostly aesthetic :)

Done.

Please find the updated patch attached.

From 749617e6c68d11edea3437cc72dc74013e851463 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <[email-masked]>
Date: Sat, 25 Jun 2022 13:20:02 +0300
Subject: [PATCH] gnu: Add maven-doxia-core.

* gnu/packages/maven.scm (maven-doxia-core): New variable.
---
 gnu/packages/maven.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index e5831ee614..514ba97028 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -3938,3 +3938,32 @@ method and a end of tag by @code{xxxx_()} method.")
     (description "@samp{Doxia} is a content generation framework that provides
 powerful techniques for generating static and dynamic content, supporting a
 variety of markup languages.")))
+
+(define-public maven-doxia-core
+  (package
+    (inherit maven-doxia-sink-api)
+    (name "maven-doxia-core")
+    (arguments
+     `(#:jar-name "doxia-core.jar"
+       #:source-dir "doxia-core/src/main/java"
+       #:test-dir "doxia-core/src/test/java"
+       #:tests? #f ; tests require JUnit5
+       #:phases (modify-phases %standard-phases
+                  (replace 'install
+                    (install-from-pom "doxia-core/pom.xml")))))
+    (propagated-inputs (list maven-doxia-parent-pom
+                             maven-doxia-sink-api
+                             java-slf4j-api
+                             java-javax-inject
+                             java-plexus-utils
+                             java-eclipse-sisu-plexus
+                             java-commons-text))
+    (home-page "https://maven.apache.org/doxia/index.html")
+    (synopsis "Doxia core classes and interfaces")
+    (description
+     "Doxia is a content generation framework that provides powerful
+techniques for generating static and dynamic content, supporting a variety of
+markup languages.
+
+This package contains Doxia core classes and interfaces.")
+    (license license:asl2.0)))
-- 
2.25.1

- Artyom

-- 
Artyom "avp" Poptsov <[email-masked]>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F