GNU bug report logs -
#31774
[PATCH] Add maven
Previous Next
Reported by: Julien Lepiller <julien <at> lepiller.eu>
Date: Sun, 10 Jun 2018 11:02:02 UTC
Severity: normal
Tags: patch
Done: Julien Lepiller <julien <at> lepiller.eu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
* 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
This bug report was last modified 6 years and 333 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.