unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: 31774@debbugs.gnu.org
Subject: [bug#31774] [PATCH 13/22] gnu: Add maven-embedder.
Date: Sun, 10 Jun 2018 13:03:10 +0200	[thread overview]
Message-ID: <20180610110319.24043-13-julien@lepiller.eu> (raw)
In-Reply-To: <20180610110319.24043-1-julien@lepiller.eu>

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

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index 2fb98295e..0d03da3dd 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -813,3 +813,93 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap))))
        ("java-qdox" ,java-qdox)
        ("maven-core-boot" ,maven-core-bootstrap)
        ,@(package-native-inputs maven-core-bootstrap)))))
+
+(define-public maven-embedder
+  (package
+    (inherit maven-artifact)
+    (name "maven-embedder")
+    (arguments
+     `(#:jar-name "maven-embedder.jar"
+       #:source-dir "maven-embedder/src/main/java"
+       #:test-dir "maven-embedder/src/test"
+       #:test-exclude (list "**/MavenCliTest.java")
+       #:jdk ,icedtea-8
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'generate-sisu-named
+           (lambda _
+             (mkdir-p "build/classes/META-INF/sisu")
+             (chmod "sisu.sh" #o755)
+             (invoke "./sisu.sh" "maven-embedder/src/main/java"
+                     "build/classes/META-INF/sisu/javax.inject.Named")
+             #t))
+         (add-before 'build 'generate-models
+           (lambda* (#:key inputs #:allow-other-keys)
+             (define (modello-single-mode file version mode)
+               (invoke "java" "org.codehaus.modello.ModelloCli"
+                       file mode "maven-embedder/src/main/java" version
+                       "false" "true"))
+             (let ((file "maven-embedder/src/main/mdo/core-extensions.mdo"))
+               (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"))
+             #t))
+         (add-before 'check 'fix-test-paths
+           (lambda _
+             (substitute* "maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java"
+               (("target/test-classes") "build/test-classes"))
+             #t))
+         (add-before 'check 'fix-compilation
+           (lambda _
+             ;; Tests are in the java/ subdir. Other subdirectories contain
+             ;; additional test plugins, with duplicate classes, so we can't
+             ;; compile them. Also, they are meant to be built with maven, to
+             ;; test its build process.
+             (substitute* "build.xml"
+               (("srcdir=\"maven-embedder/src/test\"")
+                "srcdir=\"maven-embedder/src/test/java\""))
+             #t)))))
+    (inputs
+     `(("maven-core" ,maven-core)
+       ("maven-artifact" ,maven-artifact)
+       ("maven-plugin-api" ,maven-plugin-api)
+       ("maven-builder-support" ,maven-builder-support)
+       ("maven-model" ,maven-model)
+       ("maven-model-builder" ,maven-model-builder)
+       ("maven-settings" ,maven-settings)
+       ("maven-settings-builder" ,maven-settings-builder)
+       ("maven-shared-utils" ,maven-shared-utils)
+       ("java-plexus-classworlds" ,java-plexus-classworlds)
+       ("java-plexus-util" ,java-plexus-utils)
+       ("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
+       ("java-plexus-cipher" ,java-plexus-cipher)
+       ("java-plexus-component-annotations" ,java-plexus-component-annotations)
+       ("java-plexus-sec-dispatcher" ,java-plexus-sec-dispatcher)
+       ("maven-resolevr-util" ,maven-resolver-util)
+       ("maven-resolevr-api" ,maven-resolver-api)
+       ("java-logback-core" ,java-logback-core)
+       ("java-logback-classic" ,java-logback-classic)
+       ("java-commons-cli" ,java-commons-cli)
+       ("java-commons-io" ,java-commons-io)
+       ("java-commons-lang3" ,java-commons-lang3)
+       ("java-guava" ,java-guava)
+       ("java-guice" ,java-guice)
+       ("java-javax-inject" ,java-javax-inject)
+       ("java-slf4j-api" ,java-slf4j-api)
+       ("java-slf4j-simple" ,java-slf4j-simple)))
+    (native-inputs
+     `(("java-modello-core" ,java-modello-core)
+       ("java-geronimo-xbean-reflect" ,java-geronimo-xbean-reflect)
+       ("java-sisu-build-api" ,java-sisu-build-api)
+       ("java-eclipse-sisu-plexus" ,java-eclipse-sisu-plexus)
+       ("java-eclipse-sisu-inject" ,java-eclipse-sisu-inject)
+       ("java-cglib" ,java-cglib)
+       ("java-asm" ,java-asm)
+       ("java-modello-plugins-java" ,java-modello-plugins-java)
+       ("java-modello-plugins-xml" ,java-modello-plugins-xml)
+       ("java-modello-plugins-xpp3" ,java-modello-plugins-xpp3)
+       ;; tests
+       ("java-junit" ,java-junit)
+       ("java-objenesis" ,java-objenesis)
+       ("java-mockito-1" ,java-mockito-1)
+       ("java-hamcrest-core" ,java-hamcrest-core)))))
-- 
2.17.1

  parent reply	other threads:[~2018-06-10 11:04 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-10 11:01 [bug#31774] [PATCH] Add maven Julien Lepiller
2018-06-10 11:02 ` [bug#31774] [PATCH 01/22] gnu: Add java-eclipse-jetty-xml Julien Lepiller
2018-06-10 11:02   ` [bug#31774] [PATCH 02/22] gnu: java-eclipse-jetty-security-9.2: Ignore test error Julien Lepiller
2018-06-10 15:14     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 03/22] gnu. Add java-eclipse-jetty-xml-9.2 Julien Lepiller
2018-06-10 15:15     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 04/22] gnu: Add java-eclipse-jetty-webapp Julien Lepiller
2018-06-10 15:16     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 05/22] gnu: Add java-eclipse-jetty-webapp-9.2 Julien Lepiller
2018-06-10 15:35     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 06/22] gnu: Add java-plexus-cli Julien Lepiller
2018-06-10 15:17     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 07/22] gnu: Add java-qdox Julien Lepiller
2018-06-10 15:19     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 08/22] gnu: Add maven-plugin-api Julien Lepiller
2018-06-10 17:06     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 09/22] gnu: Add maven-core-bootstrap Julien Lepiller
2018-06-10 15:20     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 10/22] gnu: Add maven-plugin-annotations Julien Lepiller
2018-06-10 15:20     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 11/22] gnu: Add java-plexus-component-metadata Julien Lepiller
2018-06-10 15:21     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 12/22] gnu: Add maven-core Julien Lepiller
2018-06-10 17:16     ` Danny Milosavljevic
2018-06-10 18:46       ` Julien Lepiller
2018-06-11 18:43         ` Danny Milosavljevic
2018-06-12 19:36           ` Julien Lepiller
2018-06-14  0:13             ` Danny Milosavljevic
2018-06-14 20:07               ` Ludovic Courtès
2018-06-14  0:18             ` Danny Milosavljevic
2018-06-10 11:03   ` Julien Lepiller [this message]
2018-06-10 15:22     ` [bug#31774] [PATCH 13/22] gnu: Add maven-embedder Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 14/22] gnu: Add maven-wagon-provider-api Julien Lepiller
2018-06-10 15:22     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 15/22] gnu: Add maven-wagon-provider-test Julien Lepiller
2018-06-10 15:23     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 16/22] gnu: Add maven-wagon-file Julien Lepiller
2018-06-10 15:24     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 17/22] gnu: Add maven-wagon-tck-http Julien Lepiller
2018-06-10 15:24     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 18/22] gnu: Add maven-wagon-http-shared Julien Lepiller
2018-06-10 15:33     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 19/22] gnu: Add maven-wagon-http Julien Lepiller
2018-06-10 13:16     ` Danny Milosavljevic
2018-06-10 15:29       ` Danny Milosavljevic
2018-06-10 16:38         ` Julien Lepiller
2018-06-10 11:03   ` [bug#31774] [PATCH 20/22] gnu: Add maven-resolver-transport-wagon Julien Lepiller
2018-06-10 11:03   ` [bug#31774] [PATCH 21/22] gnu: Add maven-compat Julien Lepiller
2018-06-10 15:32     ` Danny Milosavljevic
2018-06-10 11:03   ` [bug#31774] [PATCH 22/22] gnu: Add maven Julien Lepiller
2018-06-10 15:39     ` Danny Milosavljevic
2018-06-11  1:44     ` Marius Bakke
2018-06-16 11:21 ` bug#31774: [PATCH] " Julien Lepiller
2018-06-16 16:16   ` [bug#31774] " Ludovic Courtès
2018-06-22 21:21   ` Björn Höfling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180610110319.24043-13-julien@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=31774@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).