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

From: Julien Lepiller <[email-masked]>
Date: Sat, 25 Jun 2022 13:21:17 +0200

Thanks for the patch!

A few remarks below :)

Le Sat, 25 Jun 2022 13:26:09 +0300,
"Artyom V. Poptsov" <[email-masked]> a écrit :

> From 4e06642ac47d0b69fb5aeb5e8b21efaacbc7ed67 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

Missing full stop at the end of the subject line.

> 
> * gnu/packages/maven.scm (maven-doxia-core): New variable.
> ---
>  gnu/packages/maven.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
> index e5831ee614..95de84e845 100644
> --- a/gnu/packages/maven.scm
> +++ b/gnu/packages/maven.scm
> @@ -3921,6 +3921,32 @@ encapsulate common text syntax.  A start tag
> is denoted by @code{xxxx()} method and a end of tag by @code{xxxx_()}
> method.") (license license:asl2.0)))
>  
> +(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"
> +       #:tests? #f ;no tests

This package actually has tests, could you enable them?

> +       #:phases (modify-phases %standard-phases
> +                  (replace 'install
> +                    (install-from-pom "doxia-core/pom.xml")))))
> +    (inputs (list maven-doxia-sink-api
> +                  java-slf4j-api
> +                  java-javax-inject
> +                  java-plexus-utils
> +                  java-eclipse-sisu-plexus
> +                  java-commons-text))

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 :)

> +    (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 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?

> +    (license license:asl2.0)))
> +
> +
>  (define maven-doxia-parent-pom
>    (package
>      (inherit maven-doxia-sink-api)

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