all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: 31774@debbugs.gnu.org
Subject: [bug#31774] [PATCH 12/22] gnu: Add maven-core.
Date: Sun, 10 Jun 2018 13:03:09 +0200	[thread overview]
Message-ID: <20180610110319.24043-12-julien@lepiller.eu> (raw)
In-Reply-To: <20180610110319.24043-1-julien@lepiller.eu>

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

diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index dff5bd3e4..2fb98295e 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -752,3 +752,64 @@ so really just plain objects.")))
        ("java-junit" ,java-junit)
        ("java-mockito-1" ,java-mockito-1)
        ("java-commons-jxpath" ,java-commons-jxpath)))))
+
+(define-public maven-core
+  (package
+    (inherit maven-core-bootstrap)
+    (arguments
+      (substitute-keyword-arguments (package-arguments maven-core-bootstrap)
+        ((#:phases phases)
+         `(modify-phases ,phases
+            (add-before 'build 'modify-metainf
+              (lambda _
+                (substitute* "build.xml"
+                  (("message=\"\"") "message=\"Implementation-Version: 3.5.3\n\""))
+                #t))
+            (add-before 'build 'add-maven-files
+              (lambda _
+                (mkdir-p "build/classes/META-INF/maven/org.apache.maven/maven-core")
+                (copy-file "pom.xml"
+                           "build/classes/META-INF/maven/org.apache.maven/maven-core/pom.xml")
+                (with-output-to-file "build/classes/META-INF/maven/org.apache.maven/maven-core/pom.properties"
+                  (lambda _
+                    (format #t "version=~a~%
+groupId=org.apache.maven~%
+artifactId=maven-core" ,(package-version maven-core-bootstrap))))
+                #t))
+            (add-after 'build 'generate-metadata
+              (lambda _
+                (delete-file "build/classes/META-INF/plexus/components.xml")
+                (invoke "java" "-cp" (string-append (getenv "CLASSPATH") ":build/classes")
+                        "org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
+                        "--source" "build/classes/META-INF/plexus"
+                        "--output" "build/classes/META-INF/plexus/components.t.xml"
+                        "--classes" "build/classes"
+                        "--descriptors" "build/classes")
+                ;; Now we merge all other components from hand-written xml
+                ;; FIXME: This should be taken care of by plexus-component-metadata directly
+                (invoke "sh" "-c"
+                        (string-append
+                          "(cat build/classes/META-INF/plexus/components.t.xml |"
+                          "sed -e 's|</component-set>||' -e 's|</components>||' ; "
+                          "cat src/main/resources/META-INF/plexus/artifact-handlers.xml |"
+                          " sed -e 's|<?xml.*||' -e 's|<component-set>||' -e 's|<components>||'"
+                          " -e 's|</component-set>||' -e 's|</components>||'; "
+                          "cat src/main/resources/META-INF/plexus/components.xml |"
+                          " sed -e 's|<?xml.*||' -e 's|<component-set>||' -e 's|<components>||'"
+                          " -e 's|</component-set>||' -e 's|</components>||'; "
+                          "cat src/main/resources/META-INF/plexus/default-bindings.xml |"
+                          " sed -e 's|<?xml.*||' -e 's|<component-set>||' -e 's|<components>||' )>"
+                          "build/classes/META-INF/plexus/components.xml"))
+                #t))
+            (add-after 'generate-metadata 'rebuild
+              (lambda _
+                (invoke "ant" "jar")
+                #t))))))
+    (native-inputs
+     `(("java-plexus-component-metadata" ,java-plexus-component-metadata)
+       ("java-commons-cli" ,java-commons-cli)
+       ("java-plexus-cli" ,java-plexus-cli)
+       ("java-jdom2" ,java-jdom2)
+       ("java-qdox" ,java-qdox)
+       ("maven-core-boot" ,maven-core-bootstrap)
+       ,@(package-native-inputs maven-core-bootstrap)))))
-- 
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   ` Julien Lepiller [this message]
2018-06-10 17:16     ` [bug#31774] [PATCH 12/22] gnu: Add maven-core 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   ` [bug#31774] [PATCH 13/22] gnu: Add maven-embedder Julien Lepiller
2018-06-10 15:22     ` 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

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

  git send-email \
    --in-reply-to=20180610110319.24043-12-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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.