More java dependencies of maven

Julien LepillerFri Sep 15 18:12:53+0200 2017

e3bbe9c

More java dependencies of maven

maven-generate-component-xml.patch

1-
From 676c4e33be256e4af2e028088dd28ae7be511df3 Mon Sep 17 00:00:00 2001
1+
From da9e282d834f0e2128501a8154128dc95b4c599d Mon Sep 17 00:00:00 2001
22
From: Julien Lepiller <julien@lepiller.eu>
33
Date: Sat, 9 Sep 2017 20:34:38 +0200
44
Subject: [PATCH] Add a script to generate component.xml files.

88
plexus-component-metadata. This script is meant to break this dependency
99
cycle.
1010
---
11-
 components.sh | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12-
 1 file changed, 124 insertions(+)
11+
 components.sh | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12+
 1 file changed, 132 insertions(+)
1313
 create mode 100755 components.sh
1414
1515
diff --git a/components.sh b/components.sh
1616
new file mode 100755
17-
index 0000000..a00b25b
17+
index 0000000..c6748bd
1818
--- /dev/null
1919
+++ b/components.sh
20-
@@ -0,0 +1,124 @@
20+
@@ -0,0 +1,132 @@
2121
+## This script generates a rough plexus/components.xml file. It is meant to
2222
+## replace plexus-component-metadata as it eventually has a recursive dependency
2323
+## on itself.

2929
+    role=$1
3030
+    # Find role
3131
+    case $role in
32+
+      "LoggerFactory")
33+
+        role=org.eclipse.aether.spi.log.$role
34+
+        ;;
35+
+      "RemoteRepositoryManager" | "VersionResolver" | "VersionRangeResolver" \
36+
+      | "ArtifactResolver" | "RepositoryEventDispatcher" | "MetadataResolver" \
37+
+      | "SyncContextFactory" | "MetadataGeneratorFactory" | "MetadatResolver")
38+
+        role=org.eclipse.aether.impl.$role
39+
+        ;;
3240
+      "ModelBuilder" | "ModelProcessor")
3341
+        role=org.apache.maven.model.building.$role
3442
+        ;;

more/packages/java.scm

7676
Java WebSocket specifications are developed under the Java Community Process.")
7777
    (license license:asl2.0)))
7878
79+
;(define-public java-tomcat-7
80+
;  (package
81+
;    (inherit java-tomcat)
82+
;    (version "7.0.81")
83+
;    (source (origin
84+
;              (method url-fetch)
85+
;              (uri (string-append "mirror://apache/tomcat/tomcat-7/v"
86+
;                                  version "/src/apache-tomcat-" version "-src.tar.gz"))
87+
;              (sha256
88+
;               (base32
89+
;                "0rjyv3jpya60ph60950gmiqa6znbiq2dvsydxgwwiyqc47xrm9zw"))))))
90+
7991
(define-public java-openjfx
8092
  (package
8193
    (name "java-openjfx")

380392
            (replace 'install
381393
              (install-jars "build"))))))))
382394
395+
(define java-commons-collections-test-classes
396+
  (package
397+
    (inherit java-commons-collections)
398+
    (arguments
399+
     `(#:jar-name "commons-collections-test-classes.jar"
400+
       #:source-dir "src/test"
401+
       #:tests? #f))
402+
    (inputs
403+
     `(("collection" ,java-commons-collections)))))
404+
383405
(define-public java-jdom2
384406
  (package
385407
    (name "java-jdom")

31263148
    (description "")
31273149
    (license license:asl2.0)))
31283150
3151+
(define-public java-guice-servlet
3152+
  (package
3153+
    (inherit java-guice)
3154+
    (name "java-guice-servlet")
3155+
    (arguments
3156+
     `(#:jar-name "guice-servlet.jar"
3157+
       #:source-dir "extensions/servlet/src/"
3158+
       #:jdk ,icedtea-8
3159+
       #:tests? #f; FIXME: not in a java subdir
3160+
       ))
3161+
    (inputs
3162+
     `(("guice" ,java-guice)
3163+
       ("servlet" ,java-tomcat)
3164+
       ,@(package-inputs java-guice)))))
3165+
31293166
(define-public java-jcommander
31303167
  (package
31313168
    (name "java-jcommander")

42134250
    (description "")
42144251
    (license license:bsd-3)))
42154252
4253+
(define-public java-jsr250
4254+
  (package
4255+
    (name "java-jsr250")
4256+
    (version "1.3")
4257+
    (source (origin
4258+
              (method url-fetch)
4259+
              (uri (string-append "https://repo1.maven.org/maven2/"
4260+
                                  "javax/annotation/javax.annotation-api/"
4261+
                                  version "/javax.annotation-api-"
4262+
                                  version "-sources.jar"))
4263+
              (sha256
4264+
               (base32
4265+
                "08clh8n4n9wfglf75qsqfjs6yf79f7x6hqx38cn856pksszv50kz"))))
4266+
    (build-system ant-build-system)
4267+
    (arguments
4268+
     `(#:tests? #f ; no tests included
4269+
       #:jdk ,icedtea-8
4270+
       #:jar-name "jsr250.jar"))
4271+
    (home-page "https://jcp.org/en/jsr/detail?id=250")
4272+
    (synopsis "Security-related annotations")
4273+
    (description "This package provides annotations for security.  It provides
4274+
packages in the @code{javax.annotation} and @code{javax.annotation.security}
4275+
namespaces.")
4276+
    (license (list license:cddl1.0 license:gpl2)))); gpl2 only, with classpath exception
4277+
42164278
(define-public java-checker-framework
42174279
  (package
42184280
    (name "java-checker-framework")

47064768
              (file-name (string-append name "-" version ".tar.gz"))
47074769
              (sha256
47084770
               (base32
4709-
                "0wapzqwpx4bh2fsqpzf3haakjz6wvfjx1vd9a4spavhlrjqk2pbb"))))
4771+
                "15c9xmf7rhr5w4qk2jcb6swds336l4l5gyb51pcjay2ywnigk8sa"))))
47104772
    (build-system ant-build-system)
47114773
    (arguments
47124774
     `(#:jar-name "groovy.jar"

47434805
    (arguments
47444806
     `(#:jar-name (string-append ,name "-" ,version ".jar")
47454807
       #:tests? #f
4746-
       #:source-dir "src/main"
4808+
       #:source-dir "src/main/java"
47474809
       #:phases
47484810
       (modify-phases %standard-phases
47494811
         (add-before 'build 'generate-parser

47514813
             (with-directory-excursion "src/main/org/codehaus/groovy/antlr/java"
47524814
               (zero? (system* "antlr4" "java.g"))))))))))
47534815
4816+
(define-public groovy-1.0
4817+
  (package
4818+
    (inherit groovy)
4819+
    (name "groovy")
4820+
    (version "1.0")
4821+
    (source (origin
4822+
              (method url-fetch)
4823+
              (uri (string-append "https://github.com/apache/groovy/archive/GROOVY_"
4824+
                                  "1_0.tar.gz"))
4825+
              (file-name (string-append name "-" version ".tar.gz"))
4826+
              (sha256
4827+
               (base32
4828+
                "0v2nygblrvzjbdnz1l14dm167g4865d1iwxlpr909fsc4784lv1v"))))
4829+
    (arguments
4830+
     `(#:jar-name (string-append ,name "-" ,version ".jar")
4831+
       #:tests? #f
4832+
       #:source-dir "src/main/java"
4833+
       #:phases
4834+
       (modify-phases %standard-phases
4835+
         (add-before 'build 'generate-parser
4836+
           (lambda _
4837+
             (with-directory-excursion "src/main/org/codehaus/groovy/antlr"
4838+
               (zero? (system* "antlr3" "groovy.g"))))))))))
4839+
47544840
47554841
;(define-public antlr3-3.4
47564842
;  (package

51695255
      (uri url)
51705256
      (sha256 (base32 hash)))))
51715257
5258+
(define-public java-commons-beanutils
5259+
  (package
5260+
    (name "java-commons-beanutils")
5261+
    (version "1.9.3")
5262+
    (source (origin
5263+
              (method url-fetch)
5264+
              (uri (string-append "mirror://apache/commons/beanutils/source/"
5265+
                                  "commons-beanutils-" version "-src.tar.gz"))
5266+
              (sha256
5267+
               (base32
5268+
                "03cs0bq3sl1sdc7py9g3qnf8n9h473nrkvd3d251kaqv6a2ab7qk"))))
5269+
    (build-system ant-build-system)
5270+
    (arguments
5271+
     `(#:test-target "test"
5272+
       #:tests? #f
5273+
       #:phases
5274+
       (modify-phases %standard-phases
5275+
         (replace 'install
5276+
           (lambda* (#:key outputs #:allow-other-keys)
5277+
             (install-file "dist/commons-beanutils-1.9.3-SNAPSHOT.jar"
5278+
               (string-append (assoc-ref outputs "out") "/share/java/"
5279+
                              "commons-beanutils.jar")))))))
5280+
    (inputs
5281+
     `(("logging" ,java-commons-logging-minimal)
5282+
       ("collections" ,java-commons-collections)))
5283+
    (native-inputs
5284+
     `(("junit" ,java-junit)
5285+
       ("collections-test" ,java-commons-collections-test-classes)))
5286+
    (home-page "http://commons.apache.org/beanutils/")
5287+
    (synopsis "")
5288+
    (description "")
5289+
    (license license:asl2.0)))
5290+
5291+
(define-public java-commons-jxpath
5292+
  (package
5293+
    (name "java-commons-jxpath")
5294+
    (version "1.3")
5295+
    (source (origin
5296+
              (method url-fetch)
5297+
              (uri (string-append "mirror://apache/commons/jxpath/source/"
5298+
                                  "commons-jxpath-" version "-src.tar.gz"))
5299+
              (sha256
5300+
               (base32
5301+
                "1rpgg31ayn9fwr4bfi2i1ij0npcg79ad2fv0w9hacvawsyc42cfs"))))
5302+
    (build-system ant-build-system)
5303+
    (arguments
5304+
     `(#:jar-name "commons-jxpath.jar"
5305+
       ;; tests require more dependencies, including mockrunner which depends on old software
5306+
       #:tests? #f
5307+
       #:source-dir "src/java"))
5308+
    (inputs
5309+
     `(("servlet" ,java-tomcat)
5310+
       ("jdom" ,java-jdom)
5311+
       ("beanutils" ,java-commons-beanutils)))
5312+
    (native-inputs
5313+
     `(("junit" ,java-junit)))
5314+
    (home-page "http://commons.apache.org/jxpath/")
5315+
    (synopsis "Simple interpreter of an expression language called XPath.")
5316+
    (description "The org.apache.commons.jxpath package defines a simple
5317+
interpreter of an expression language called XPath.  JXPath applies XPath
5318+
expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet
5319+
contexts, DOM etc, including mixtures thereof.")
5320+
    (license license:asl2.0)))
5321+
51725322
(define-public java-geronimo-xbean-reflect
51735323
  (package
51745324
    (name "java-geronimo-xbean-reflect")

52625412
                "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf"))))
52635413
    (build-system ant-build-system)
52645414
    (arguments
5265-
     `(#:jar-name "container-default.jar"
5415+
     `(#:jar-name "iq80-snappy.jar"
52665416
       #:source-dir "src/main/java"
52675417
       #:test-dir "src/test"
52685418
       #:jdk ,icedtea-8

54365586
         (add-before 'check 'fix-paths
54375587
           (lambda _
54385588
             (substitute* "plexus-container-default/src/test/java/org/codehaus/plexus/component/composition/ComponentRealmCompositionTest.java"
5439-
               (("src/test") "plexus-container-default/src/test")))))))
5589+
               (("src/test") "plexus-container-default/src/test"))
5590+
             #t)))))
54405591
    (inputs
54415592
     `(("worldclass" ,java-plexus-classworlds)
54425593
       ("xbean" ,java-geronimo-xbean-reflect)

54585609
    (inputs '())
54595610
    (native-inputs '())))
54605611
5612+
;(define-public java-qdox
5613+
;  (package
5614+
;    (name "java-qdox")
5615+
;    (version "2.0-M5")
5616+
;    (source
5617+
;     (origin
5618+
;       (method url-fetch)
5619+
;       ;; 2.0-M4, -M5 at https://github.com/paul-hammant/qdox
5620+
;       ;; Older releases at https://github.com/codehaus/qdox/
5621+
;       (uri (string-append "http://central.maven.org/maven2/"
5622+
;                           "com/thoughtworks/qdox/qdox/" version
5623+
;                           "/qdox-" version "-sources.jar"))
5624+
;       (sha256
5625+
;        (base32 "10ny800qmfishrqdxmngv0jylhaxjh340bia8csghl9a9cbxfrjs"))))
5626+
;    (build-system ant-build-system)
5627+
;    (arguments
5628+
;     `(#:jar-name "qdox.jar"))
5629+
;    (home-page "http://qdox.codehaus.org/")
5630+
;    (synopsis "Parse definitions from Java source files")
5631+
;    (description "QDox is a high speed, small footprint parser for extracting
5632+
;class/interface/method definitions from source files complete with JavaDoc
5633+
;@code{@@tags}.  It is designed to be used by active code generators or
5634+
;documentation tools.")
5635+
;    (license license:asl2.0)))
5636+
;
5637+
;(define-public java-qdox-1.12
5638+
;  (package (inherit java-qdox)
5639+
;    (version "1.12.1")
5640+
;    (source
5641+
;     (origin
5642+
;       (method url-fetch)
5643+
;       (uri (string-append "http://central.maven.org/maven2/"
5644+
;                           "com/thoughtworks/qdox/qdox/" version
5645+
;                           "/qdox-" version "-sources.jar"))
5646+
;       (sha256
5647+
;        (base32 "0hlfbqq2avf5s26wxkksqmkdyk6zp9ggqn37c468m96mjv0n9xfl"))))
5648+
;    (arguments
5649+
;     `(#:jar-name "qdox.jar"
5650+
;       #:phases
5651+
;       (modify-phases %standard-phases
5652+
;         (add-after 'unpack 'delete-tests
5653+
;           (lambda _
5654+
;             (delete-file-recursively "src/com/thoughtworks/qdox/junit")
5655+
;             #t)))))))
5656+
5657+
(define-public java-plexus-cli
5658+
  (package
5659+
    (name "java-plexus-cli")
5660+
    (version "1.7")
5661+
    (source (origin
5662+
              (method git-fetch)
5663+
              (uri (git-reference
5664+
                     (url "https://github.com/sonatype/plexus-cli")
5665+
                     (commit "a776afa6bca84e5107bedb69440329cdb24ed645")))
5666+
              (file-name (string-append name "-" version))
5667+
              (sha256
5668+
               (base32
5669+
                "0xjrlay605rypv3zd7y24vlwf0039bil3n2cqw54r1ddpysq46vx"))))
5670+
    (build-system ant-build-system)
5671+
    (arguments
5672+
     `(#:jar-name "plexus-cli.jar"
5673+
       #:source-dir "src/main/java"
5674+
       #:jdk ,icedtea-8
5675+
       #:test-dir "src/test"))
5676+
    (inputs
5677+
     `(("cli" ,java-commons-cli)
5678+
       ("container" ,java-plexus-container-default)
5679+
       ("classworlds" ,java-plexus-classworlds)))
5680+
    (native-inputs
5681+
     `(("utils" ,java-plexus-utils)
5682+
       ("junit" ,java-junit)
5683+
       ("guava" ,java-guava)))
5684+
    (home-page "https://codehaus-plexus.github.io/plexus-cli")
5685+
    (synopsis "")
5686+
    (description "")
5687+
    (license license:asl2.0)))
5688+
5689+
(define-public java-qdox
5690+
  (package
5691+
    (name "java-qdox")
5692+
    ; Newer version exists, but this version is required by java-plexus-component-metadata
5693+
    (version "2.0-M2")
5694+
    (source
5695+
     (origin
5696+
       (method url-fetch)
5697+
       ;; 2.0-M4, -M5 at https://github.com/paul-hammant/qdox
5698+
       ;; Older releases at https://github.com/codehaus/qdox/
5699+
       (uri (string-append "http://central.maven.org/maven2/"
5700+
                           "com/thoughtworks/qdox/qdox/" version
5701+
                           "/qdox-" version "-sources.jar"))
5702+
       (sha256
5703+
        (base32 "10xxrcaicq6axszcr2jpygisa4ch4sinyx5q7kqqxv4lknrmxp5x"))))
5704+
    (build-system ant-build-system)
5705+
    (arguments
5706+
     `(#:jar-name "qdox.jar"
5707+
       #:tests? #f)); no tests
5708+
    (home-page "http://qdox.codehaus.org/")
5709+
    (synopsis "Parse definitions from Java source files")
5710+
    (description "QDox is a high speed, small footprint parser for extracting
5711+
class/interface/method definitions from source files complete with JavaDoc
5712+
@code{@@tags}.  It is designed to be used by active code generators or
5713+
documentation tools.")
5714+
    (license license:asl2.0)))
5715+
54615716
(define-public java-plexus-component-metadata
54625717
  (package
54635718
    (inherit java-plexus-container-default)
54645719
    (name "java-plexus-component-metadata")
54655720
    (arguments
54665721
     `(#:jar-name "plexus-component-metadata.jar"
5467-
       #:source-dir "plexus-component-metadata/src/main/java"
5468-
       #:test-dir "plexus-component-metadata/src/test"
5469-
       #:jdk ,icedtea-8))
5722+
       #:source-dir "src/main/java"
5723+
       #:test-dir "src/test"
5724+
       #:jdk ,icedtea-8
5725+
       #:phases
5726+
       (modify-phases %standard-phases
5727+
         (add-before 'configure 'chdir
5728+
           (lambda _
5729+
             (chdir "plexus-component-metadata")))
5730+
         (add-before 'build 'copy-resources
5731+
           (lambda _
5732+
             (copy-recursively "src/main/resources"
5733+
                               "build/classes/")
5734+
             #t)))))
54705735
    (inputs
54715736
     `(("container" ,java-plexus-container-default)
54725737
       ("annotations" ,java-plexus-component-annotations)
54735738
       ("utils" ,java-plexus-utils)
5739+
       ("cli" ,java-plexus-cli)
54745740
       ("classworlds" ,java-plexus-classworlds)
5741+
       ("plugin-api" ,maven-plugin-api)
5742+
       ("plugin-annotations" ,maven-plugin-annotations)
5743+
       ("core" ,maven-core)
5744+
       ("model" ,maven-model)
54755745
       ("cli" ,java-commons-cli)
5476-
       ("qdox" ,java-qdox-1.12); TODO: package latest version
5746+
       ("qdox" ,java-qdox)
54775747
       ("jdom2" ,java-jdom2)
54785748
       ("asm" ,java-asm)))
5479-
    (native-inputs '())))
5749+
    (native-inputs
5750+
     `(("junit" ,java-junit)
5751+
       ("guava" ,java-guava)
5752+
       ("xbean" ,java-geronimo-xbean-reflect)))))
54805753
54815754
(define-public java-sisu-build-api
54825755
  (package

57916064
    (description "")
57926065
    (license license:asl2.0)))
57936066
5794-
(define-public java-eclipse-aether-api
6067+
(define-public java-eclipse-sisu-inject
57956068
  (package
5796-
    (name "java-eclipse-aether-api")
5797-
    (version "1.0.2")
6069+
    (name "java-eclipse-sisu-inject")
6070+
    (version "0.3.3")
57986071
    (source (origin
57996072
              (method url-fetch)
5800-
              (uri (string-append "https://github.com/eclipse/aether-core/"
5801-
                                  "archive/aether-1.0.2.v20150114.tar.gz"))
6073+
              (uri (string-append "https://github.com/eclipse/sisu.inject/"
6074+
                                  "archive/releases/" version ".tar.gz"))
58026075
              (sha256
58036076
               (base32
5804-
                "192x32hlyxs4p6xzaz1r1jrsqqr56akcl0lncq3av1zpbil6kqhh"))))
6077+
                "1d2b378bc2l3k2ylcjvbh6dkydk0s2mfpw80hk6lx9zhizfifkn3"))))
58056078
    (build-system ant-build-system)
58066079
    (arguments
5807-
     `(#:jar-name "eclipse-aether-api.jar"
5808-
       #:source-dir "aether-api/src/main/java"
5809-
       #:test-dir "aether-api/src/test"))
5810-
    (native-inputs
5811-
     `(("junit" ,java-junit)
5812-
       ("hamcrest" ,java-hamcrest-core)))
5813-
    (home-page "https://projects.eclipse.org/projects/technology.aether")
6080+
     `(#:jar-name "eclipse-sisu-inject.jar"
6081+
       #:source-dir "org.eclipse.sisu.inject/src"
6082+
       #:jdk ,icedtea-8
6083+
       #:tests? #f)); no tests
6084+
    (inputs
6085+
     `(("guice" ,java-guice)
6086+
       ("guice-servlet" ,java-guice-servlet)
6087+
       ("javax-inject" ,java-javax-inject)
6088+
       ("servlet" ,java-tomcat)
6089+
       ("junit" ,java-junit)
6090+
       ("slf4j" ,java-slf4j-api)
6091+
       ("java-jsr305" ,java-jsr305)
6092+
       ("java-jsr250" ,java-jsr250)
6093+
       ("cdi-api" ,java-cdi-api)
6094+
       ("osgi-framework" ,java-osgi-framework)
6095+
       ("osgi-util-tracker" ,java-osgi-util-tracker)
6096+
       ("testng" ,java-testng)))
6097+
    (home-page "https://www.eclipse.org/sisu/")
58146098
    (synopsis "")
58156099
    (description "")
5816-
    (license license:asl2.0)))
6100+
    (license license:epl1.0)))
58176101
5818-
(define-public maven
6102+
(define-public java-eclipse-sisu-plexus
58196103
  (package
5820-
    (name "maven")
5821-
    (version "3.3.9")
5822-
    (source (origin 
6104+
    (name "java-eclipse-sisu-plexus")
6105+
    (version "0.3.3")
6106+
    (source (origin
58236107
              (method url-fetch)
5824-
              (uri (string-append "https://archive.apache.org/dist/maven/"
5825-
                                  "maven-3/" version "/source/"
5826-
                                  "apache-maven-" version "-src.tar.gz"))
5827-
              (sha256 (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i"))
5828-
              (patches
5829-
                (search-patches "maven-generate-component-xml.patch"))))
6108+
              (uri (string-append "https://github.com/eclipse/sisu.plexus/"
6109+
                                  "archive/releases/" version ".tar.gz"))
6110+
              (sha256
6111+
               (base32
6112+
                "1qqk6lryblp70r464sn1rj86j3131zrazminp4zlphm510p3dpgz"))))
58306113
    (build-system ant-build-system)
58316114
    (arguments
5832-
     `(#:jar-name "maven.jar"
5833-
       #:source-dir "apache-maven"))
5834-
    (home-page "")
6115+
     `(#:jar-name "eclipse-sisu-plexus.jar"
6116+
       #:source-dir "org.eclipse.sisu.plexus/src"
6117+
       #:jdk ,icedtea-8
6118+
       #:tests? #f)); no tests
6119+
    (inputs
6120+
     `(("classworlds" ,java-plexus-classworlds)
6121+
       ("util" ,java-plexus-utils)
6122+
       ("annotations" ,java-plexus-component-annotations)
6123+
       ("framework" ,java-osgi-framework)
6124+
       ("sisu-inject" ,java-eclipse-sisu-inject)
6125+
       ("guice" ,java-guice)
6126+
       ("javax-inject" ,java-javax-inject)
6127+
       ("slf4j" ,java-slf4j-api)
6128+
       ("junit" ,java-junit)))
6129+
    (home-page "https://www.eclipse.org/sisu/")
58356130
    (synopsis "")
58366131
    (description "")
5837-
    (license license:asl2.0)))
6132+
    (license license:epl1.0)))
58386133
5839-
(define-public maven-artifact
6134+
(define-public java-eclipse-jetty-test-helper
58406135
  (package
5841-
    (inherit maven)
5842-
    (name "maven-artifact")
6136+
    (name "java-eclipse-jetty-test-helper")
6137+
    (version "4.2")
6138+
    (source (origin
6139+
              (method url-fetch)
6140+
              (uri (string-append "https://github.com/eclipse/jetty.toolchain/"
6141+
                                  "archive/jetty-test-helper-" version ".tar.gz"))
6142+
              (sha256
6143+
               (base32
6144+
                "0gxq0g3rkplcpxrjl0xrlwqanxwn0aiblk2nma3z1w0gmy0a70g0"))))
6145+
    (build-system ant-build-system)
58436146
    (arguments
5844-
     `(#:jar-name "maven-artifact.jar"
5845-
       #:source-dir "maven-artifact/src/main/java"
5846-
       #:test-dir "maven-artifact/src/test"
5847-
       #:main-class "org.apache.maven.artifact.versioning.ComparableVersion"))
6147+
     `(#:jar-name "eclipse-jetty-test-helper.jar"
6148+
       #:source-dir "src/main/java"
6149+
       #:test-dir "src/test"
6150+
       #:jdk ,icedtea-8
6151+
       #:phases
6152+
       (modify-phases %standard-phases
6153+
         (add-before 'configure 'chdir
6154+
           (lambda _
6155+
             (chdir "jetty-test-helper")))
6156+
         (add-before 'build 'fix-build-path
6157+
           (lambda _
6158+
             ;; FIXME:
6159+
             ;; This file assumes that the build directory is named "target"
6160+
             ;; but it is not the case with our ant-build-system. Once we have
6161+
             ;; maven though, we will have to rebuild this package because this
6162+
             ;; assumption is correct with maven-build-system.
6163+
             (substitute* "src/main/java/org/eclipse/jetty/toolchain/test/MavenTestingUtils.java"
6164+
               (("\"target\"") "\"build\"")
6165+
               (("\"tests\"") "\"test-classes\""))))
6166+
         (add-before 'check 'fix-paths
6167+
           (lambda _
6168+
             (with-directory-excursion "src/test/java/org/eclipse/jetty/toolchain/test"
6169+
               (substitute* '("FSTest.java" "OSTest.java" "TestingDirTest.java"
6170+
                              "MavenTestingUtilsTest.java")
6171+
                 (("target/tests") "build/test-classes")
6172+
                 (("\"target") "\"build"))))))))
58486173
    (inputs
5849-
     `(("java-plexus-utils" ,java-plexus-utils)
5850-
       ("java-commons-lang3" ,java-commons-lang3)))
5851-
    (native-inputs
5852-
     `(("junit" ,java-junit)))))
6174+
     `(("junit" ,java-junit)
6175+
       ("hamcrest" ,java-hamcrest-all)))
6176+
    (home-page "https://www.eclipse.org/jetty")
6177+
    (synopsis "")
6178+
    (description "")
6179+
    (license (list license:epl1.0 license:asl2.0))))
58536180
5854-
(define-public maven-model
6181+
;(define-public java-eclipse-jetty-test-helper-4.1
6182+
;  (package
6183+
;    (inherit java-eclipse-jetty-test-helper)
6184+
;    (version "3.1")
6185+
;    (source (origin
6186+
;              (method url-fetch)
6187+
;              (uri (string-append "https://github.com/eclipse/jetty.toolchain/"
6188+
;                                  "archive/jetty-test-helper-" version ".tar.gz"))
6189+
;              (sha256
6190+
;               (base32
6191+
;                "10qrsii9vzbwjfw5q8gfhzcawsq7i9251phpfr6hx7hz8qmhkdwp"))))))
6192+
6193+
(define-public java-eclipse-jetty-perf-helper
58556194
  (package
5856-
    (inherit maven)
5857-
    (name "maven-model")
6195+
    (inherit java-eclipse-jetty-test-helper)
6196+
    (name "java-eclipse-jetty-perf-helper")
58586197
    (arguments
5859-
     `(#:jar-name "maven-model.jar"
5860-
       #:source-dir "maven-model/src/main/java"
5861-
       #:test-dir "maven-model/src/test"
6198+
     `(#:jar-name "eclipse-jetty-perf-helper.jar"
6199+
       #:source-dir "src/main/java"
6200+
       #:tests? #f; no tests
58626201
       #:jdk ,icedtea-8
58636202
       #:phases
58646203
       (modify-phases %standard-phases
5865-
         (add-before 'build 'generate-models
5866-
           (lambda* (#:key inputs #:allow-other-keys)
5867-
             (define (modello-single-mode file version mode)
5868-
               (zero? (system* "java"
5869-
                               "org.codehaus.modello.ModelloCli"
5870-
                               file mode "maven-model/src/main/java" version
5871-
                               "false" "true")))
5872-
             (let ((file "maven-model/src/main/mdo/maven.mdo"))
5873-
               (and
5874-
               (modello-single-mode file "4.0.0" "java")
5875-
               (modello-single-mode file "4.0.0" "xpp3-reader")
5876-
               (modello-single-mode file "4.0.0" "xpp3-writer")
5877-
               (modello-single-mode file "4.0.0" "xpp3-extended-reader"))))))))
6204+
         (add-before 'configure 'chdir
6205+
           (lambda _
6206+
             (chdir "jetty-perf-helper"))))))
58786207
    (inputs
5879-
     `(("lang3" ,java-commons-lang3)
5880-
       ("utils" ,java-plexus-utils)))
5881-
    (native-inputs
5882-
     `(("modello" ,java-modello-core)
5883-
       ;; for modello:
5884-
       ("container" ,java-plexus-container-default)
5885-
       ("classworlds" ,java-plexus-classworlds)
5886-
       ("guava" ,java-guava)
5887-
       ("xbean" ,java-geronimo-xbean-reflect)
5888-
       ("build-api" ,java-sisu-build-api)
5889-
       ;; modello plugins:
5890-
       ("java" ,java-modello-plugins-java)
5891-
       ("xml" ,java-modello-plugins-xml)
5892-
       ("xpp3" ,java-modello-plugins-xpp3)
5893-
       ;; for tests
5894-
       ("junit" ,java-junit)))))
6208+
     `(("hdrhistogram" ,java-hdrhistogram)))))
6209+
6210+
;(define-public java-eclipse-jetty-perf-helper-3
6211+
;  (package
6212+
;    (inherit java-eclipse-jetty-perf-helper)
6213+
;    (version (package-version java-eclipse-jetty-test-helper-3))
6214+
;    (source (package-source java-eclipse-jetty-test-helper-3))))
6215+
6216+
(define-public java-eclipse-jetty-util
6217+
  (package
6218+
    (name "java-eclipse-jetty-util")
6219+
    (version "9.4.6")
6220+
    (source (origin
6221+
              (method url-fetch)
6222+
              (uri (string-append "https://github.com/eclipse/jetty.project/"
6223+
                                  "archive/jetty-" version ".v20170531.tar.gz"))
6224+
              (sha256
6225+
               (base32
6226+
                "0wy2iarfs952hczznkxsh7kp2s9gw4wsaahrc7ym2gnp727ldpn9"))))
6227+
    (build-system ant-build-system)
6228+
    (arguments
6229+
     `(#:jar-name "eclipse-jetty-util.jar"
6230+
       #:source-dir "src/main/java"
6231+
       #:test-exclude (list "**/Abstract*.java"
6232+
                            ;; requires network
6233+
                            "**/InetAddressSetTest.java"
6234+
                            ;; Assumes we are using maven
6235+
                            "**/TypeUtilTest.java"
6236+
                            ;; Error on the style of log
6237+
                            "**/StdErrLogTest.java")
6238+
       #:jdk ,icedtea-8
6239+
       #:phases
6240+
       (modify-phases %standard-phases
6241+
         (add-before 'configure 'chdir
6242+
           (lambda _
6243+
             (chdir "jetty-util"))))))
6244+
    (inputs
6245+
     `(("slf4j" ,java-slf4j-api)
6246+
       ("servlet" ,java-tomcat)))
6247+
    (native-inputs
6248+
     `(("junit" ,java-junit)
6249+
       ("hamcrest" ,java-hamcrest-all)
6250+
       ("perf-helper" ,java-eclipse-jetty-perf-helper)
6251+
       ("test-helper" ,java-eclipse-jetty-test-helper)))
6252+
    (home-page "https://www.eclipse.org/jetty")
6253+
    (synopsis "")
6254+
    (description "")
6255+
    (license (list license:epl1.0 license:asl2.0))))
6256+
6257+
;; This version is required by maven-wagon
6258+
(define-public java-eclipse-jetty-util-9.2
6259+
  (package
6260+
    (inherit java-eclipse-jetty-util)
6261+
    (version "9.2.22")
6262+
    (source (origin
6263+
              (method url-fetch)
6264+
              (uri (string-append "https://github.com/eclipse/jetty.project/"
6265+
                                  "archive/jetty-" version ".v20170606.tar.gz"))
6266+
              (sha256
6267+
               (base32
6268+
                "14lwmxx4ydachrhrf46b17siqjq4npblh0brlfq0j0cpmxq23mmi"))))
6269+
    (arguments
6270+
     `(#:jar-name "eclipse-jetty-util.jar"
6271+
       #:source-dir "src/main/java"
6272+
       #:jdk ,icedtea-8
6273+
       #:test-exclude (list "**/Abstract*.java"
6274+
                            ;; requires network
6275+
                            "**/InetAddressSetTest.java"
6276+
                            ;; Assumes we are using maven
6277+
                            "**/TypeUtilTest.java"
6278+
                            ;; We don't have an implementation for slf4j
6279+
                            "**/LogTest.java"
6280+
                            ;; Error on the style of log
6281+
                            "**/StdErrLogTest.java")
6282+
       #:phases
6283+
       (modify-phases %standard-phases
6284+
         (add-before 'configure 'chdir
6285+
           (lambda _
6286+
             (chdir "jetty-util")))
6287+
         (add-before 'check 'fix-sources
6288+
           (lambda _
6289+
             (substitute* "src/test/java/org/eclipse/jetty/util/resource/AbstractFSResourceTest.java"
6290+
               (("testdir.getDir\\(\\)") "testdir.getPath().toFile()")
6291+
               (("testdir.getFile\\(\"foo\"\\)")
6292+
                "testdir.getPathFile(\"foo\").toFile()")
6293+
               (("testdir.getFile\\(name\\)")
6294+
                "testdir.getPathFile(name).toFile()")))))))))
6295+
6296+
(define-public java-eclipse-jetty-io
6297+
  (package
6298+
    (inherit java-eclipse-jetty-util)
6299+
    (name "java-eclipse-jetty-io")
6300+
    (arguments
6301+
     `(#:jar-name "eclipse-jetty-io.jar"
6302+
       #:source-dir "src/main/java"
6303+
       #:jdk ,icedtea-8
6304+
       #:test-exclude (list "**/Abstract*.java"
6305+
                            ;; Abstract class
6306+
                            "**/EndPointTest.java")
6307+
       #:phases
6308+
       (modify-phases %standard-phases
6309+
         (add-before 'configure 'chdir
6310+
           (lambda _
6311+
             (chdir "jetty-io"))))))
6312+
    (inputs
6313+
     `(("slf4j" ,java-slf4j-api)
6314+
       ("servlet" ,java-tomcat)
6315+
       ("util" ,java-eclipse-jetty-util)))))
6316+
6317+
(define-public java-eclipse-jetty-io-9.2
6318+
  (package
6319+
    (inherit java-eclipse-jetty-io)
6320+
    (version (package-version java-eclipse-jetty-util-9.2))
6321+
    (source (package-source java-eclipse-jetty-util-9.2))
6322+
    (inputs
6323+
     `(("util" ,java-eclipse-jetty-util-9.2)
6324+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))
6325+
    (native-inputs
6326+
     `(("mockito" ,java-mockito-1)
6327+
       ("cglib" ,java-cglib)
6328+
       ("objenesis" ,java-objenesis)
6329+
       ("asm" ,java-asm)
6330+
       ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
6331+
6332+
(define-public java-eclipse-jetty-http
6333+
  (package
6334+
    (inherit java-eclipse-jetty-util)
6335+
    (name "java-eclipse-jetty-http")
6336+
    (arguments
6337+
     `(#:jar-name "eclipse-jetty-http.jar"
6338+
       #:source-dir "src/main/java"
6339+
       #:jdk ,icedtea-8
6340+
       #:phases
6341+
       (modify-phases %standard-phases
6342+
         (add-before 'configure 'chdir
6343+
           (lambda _
6344+
             (chdir "jetty-http")))
6345+
         (add-before 'build 'copy-resources
6346+
           (lambda _
6347+
             (mkdir-p "build/classes")
6348+
             (copy-recursively "src/main/resources/" "build/classes/"))))))
6349+
    (inputs
6350+
     `(("slf4j" ,java-slf4j-api)
6351+
       ("servlet" ,java-tomcat)
6352+
       ("io" ,java-eclipse-jetty-io)
6353+
       ("util" ,java-eclipse-jetty-util)))))
6354+
6355+
(define-public java-eclipse-jetty-http-9.2
6356+
  (package
6357+
    (inherit java-eclipse-jetty-http)
6358+
    (version (package-version java-eclipse-jetty-util-9.2))
6359+
    (source (package-source java-eclipse-jetty-util-9.2))
6360+
    (inputs
6361+
     `(("util" ,java-eclipse-jetty-util-9.2)
6362+
       ("io" ,java-eclipse-jetty-io-9.2)
6363+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))))
6364+
6365+
(define java-eclipse-jetty-http-test-classes
6366+
  (package
6367+
    (inherit java-eclipse-jetty-util)
6368+
    (name "java-eclipse-jetty-http-test-classes")
6369+
    (arguments
6370+
     `(#:jar-name "eclipse-jetty-http.jar"
6371+
       #:source-dir "src/test"
6372+
       #:tests? #f
6373+
       #:jdk ,icedtea-8
6374+
       #:phases
6375+
       (modify-phases %standard-phases
6376+
         (add-before 'configure 'chdir
6377+
           (lambda _
6378+
             (chdir "jetty-http"))))))
6379+
    (inputs
6380+
     `(("slf4j" ,java-slf4j-api)
6381+
       ("servlet" ,java-tomcat)
6382+
       ("http" ,java-eclipse-jetty-http)
6383+
       ("io" ,java-eclipse-jetty-io)
6384+
       ("util" ,java-eclipse-jetty-util)))))
6385+
6386+
(define java-eclipse-jetty-http-test-classes-9.2
6387+
  (package
6388+
    (inherit java-eclipse-jetty-http-test-classes)
6389+
    (version (package-version java-eclipse-jetty-util-9.2))
6390+
    (source (package-source java-eclipse-jetty-util-9.2))
6391+
    (inputs
6392+
     `(("http" ,java-eclipse-jetty-http-9.2)
6393+
       ,@(package-inputs java-eclipse-jetty-http-9.2)))))
6394+
6395+
(define-public java-eclipse-jetty-jmx
6396+
  (package
6397+
    (inherit java-eclipse-jetty-util)
6398+
    (name "java-eclipse-jetty-jmx")
6399+
    (arguments
6400+
     `(#:jar-name "eclipse-jetty-jmx.jar"
6401+
       #:source-dir "src/main/java"
6402+
       #:jdk ,icedtea-8
6403+
       #:tests? #f; FIXME: requires com.openpojo.validation
6404+
       #:phases
6405+
       (modify-phases %standard-phases
6406+
         (add-before 'configure 'chdir
6407+
           (lambda _
6408+
             (chdir "jetty-jmx"))))))
6409+
    (inputs
6410+
     `(("slf4j" ,java-slf4j-api)
6411+
       ("servlet" ,java-tomcat)
6412+
       ("util" ,java-eclipse-jetty-util)))))
6413+
6414+
(define-public java-eclipse-jetty-jmx-9.2
6415+
  (package
6416+
    (inherit java-eclipse-jetty-jmx)
6417+
    (version (package-version java-eclipse-jetty-util-9.2))
6418+
    (source (package-source java-eclipse-jetty-util-9.2))
6419+
    (inputs
6420+
     `(("util" ,java-eclipse-jetty-util-9.2)
6421+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))))
6422+
6423+
(define-public java-eclipse-jetty-server
6424+
  (package
6425+
    (inherit java-eclipse-jetty-util)
6426+
    (name "java-eclipse-jetty-server")
6427+
    (arguments
6428+
     `(#:jar-name "eclipse-jetty-server.jar"
6429+
       #:source-dir "src/main/java"
6430+
       #:jdk ,icedtea-8
6431+
       #:tests? #f; requires a mockito version we don't have
6432+
       #:phases
6433+
       (modify-phases %standard-phases
6434+
         (add-before 'configure 'chdir
6435+
           (lambda _
6436+
             (chdir "jetty-server")))
6437+
         (add-before 'build 'fix-source
6438+
           (lambda _
6439+
             (substitute* "src/main/java/org/eclipse/jetty/server/Request.java"
6440+
               (("append\\(LazyList")
6441+
                "append((CharSequence)LazyList"))
6442+
             (substitute* "src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java"
6443+
               (("Class<\\? extends EventListener> clazz = _classLoader==null\\?Loader.loadClass\\(ContextHandler.class,className\\):_classLoader.loadClass\\(className\\);")
6444+
                "Class<? extends EventListener> clazz = (Class<? extends EventListener>) (_classLoader==null?Loader.loadClass(ContextHandler.class,className):_classLoader.loadClass(className));")))))))
6445+
    (inputs
6446+
     `(("slf4j" ,java-slf4j-api)
6447+
       ("servlet" ,java-tomcat)
6448+
       ("http" ,java-eclipse-jetty-http)
6449+
       ("io" ,java-eclipse-jetty-io)
6450+
       ("jmx" ,java-eclipse-jetty-jmx)
6451+
       ("util" ,java-eclipse-jetty-util)))
6452+
    (native-inputs
6453+
     `(("test-classes" ,java-eclipse-jetty-http-test-classes)
6454+
       ,@(package-native-inputs java-eclipse-jetty-util)))))
6455+
6456+
;(define-public java-eclipse-jetty-continuation-8
6457+
;  (package
6458+
;    (inherit java-eclipse-jetty-util-9.2)
6459+
;    (name "java-eclipse-jetty-continuation")
6460+
;    (arguments
6461+
;     `(#:jar-name "eclipse-jetty-continuation.jar"
6462+
;       #:source-dir "src/main/java"
6463+
;       #:tests? #f; no tests
6464+
;       #:jdk ,icedtea-8
6465+
;       #:phases
6466+
;       (modify-phases %standard-phases
6467+
;         (add-before 'configure 'chdir
6468+
;           (lambda _
6469+
;             (chdir "jetty-continuation")
6470+
;             (delete-file "src/main/java/org/eclipse/jetty/continuation/Jetty6Continuation.java"))))))))
6471+
6472+
(define-public java-eclipse-jetty-server-9.2
6473+
  (package
6474+
    (inherit java-eclipse-jetty-server)
6475+
    (version (package-version java-eclipse-jetty-util-9.2))
6476+
    (source (package-source java-eclipse-jetty-util-9.2))
6477+
    (inputs
6478+
     `(("util" ,java-eclipse-jetty-util-9.2)
6479+
       ("jmx" ,java-eclipse-jetty-jmx-9.2)
6480+
       ;("continuation" ,java-eclipse-jetty-continuation-8)
6481+
       ("io" ,java-eclipse-jetty-io-9.2)
6482+
       ("http" ,java-eclipse-jetty-http-9.2)
6483+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))
6484+
    (native-inputs
6485+
     `(("test-classes" ,java-eclipse-jetty-http-test-classes-9.2)
6486+
       ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
6487+
6488+
(define-public java-eclipse-jetty-servlet
6489+
  (package
6490+
    (inherit java-eclipse-jetty-util)
6491+
    (name "java-eclipse-jetty-servlet")
6492+
    (arguments
6493+
     `(#:jar-name "eclipse-jetty-servlet.jar"
6494+
       #:source-dir "src/main/java"
6495+
       #:jdk ,icedtea-8
6496+
       #:phases
6497+
       (modify-phases %standard-phases
6498+
         (add-before 'configure 'chdir
6499+
           (lambda _
6500+
             (chdir "jetty-servlet"))))))
6501+
    (inputs
6502+
     `(("slf4j" ,java-slf4j-api)
6503+
       ("servlet" ,java-tomcat)
6504+
       ("http" ,java-eclipse-jetty-http)
6505+
       ("http-test" ,java-eclipse-jetty-http-test-classes)
6506+
       ("io" ,java-eclipse-jetty-io)
6507+
       ("jmx" ,java-eclipse-jetty-jmx)
6508+
       ("security" ,java-eclipse-jetty-security)
6509+
       ("server" ,java-eclipse-jetty-server)
6510+
       ("util" ,java-eclipse-jetty-util)))))
6511+
6512+
(define-public java-eclipse-jetty-servlet-9.2
6513+
  (package
6514+
    (inherit java-eclipse-jetty-servlet)
6515+
    (version (package-version java-eclipse-jetty-util-9.2))
6516+
    (source (package-source java-eclipse-jetty-util-9.2))
6517+
    (arguments
6518+
     `(#:jar-name "eclipse-jetty-servlet.jar"
6519+
       #:source-dir "src/main/java"
6520+
       #:jdk ,icedtea-8
6521+
       #:tests? #f; doesn't work
6522+
       #:phases
6523+
       (modify-phases %standard-phases
6524+
         (add-before 'configure 'chdir
6525+
           (lambda _
6526+
             (chdir "jetty-servlet"))))))
6527+
    (inputs
6528+
     `(("util" ,java-eclipse-jetty-util-9.2)
6529+
       ("jmx" ,java-eclipse-jetty-jmx-9.2)
6530+
       ("io" ,java-eclipse-jetty-io-9.2)
6531+
       ("http" ,java-eclipse-jetty-http-9.2)
6532+
       ("security" ,java-eclipse-jetty-security-9.2)
6533+
       ;("continuation" ,java-eclipse-jetty-continuation-8)
6534+
       ("http-test" ,java-eclipse-jetty-http-test-classes-9.2)
6535+
       ("server" ,java-eclipse-jetty-server-9.2)
6536+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))))
6537+
6538+
(define-public java-eclipse-jetty-security
6539+
  (package
6540+
    (inherit java-eclipse-jetty-util)
6541+
    (name "java-eclipse-jetty-security")
6542+
    (arguments
6543+
     `(#:jar-name "eclipse-jetty-security.jar"
6544+
       #:source-dir "src/main/java"
6545+
       #:jdk ,icedtea-8
6546+
       #:phases
6547+
       (modify-phases %standard-phases
6548+
         (add-before 'configure 'chdir
6549+
           (lambda _
6550+
             (chdir "jetty-security"))))))
6551+
    (inputs
6552+
     `(("slf4j" ,java-slf4j-api)
6553+
       ("servlet" ,java-tomcat)
6554+
       ("http" ,java-eclipse-jetty-http)
6555+
       ("server" ,java-eclipse-jetty-server)
6556+
       ("util" ,java-eclipse-jetty-util)))
6557+
    (native-inputs
6558+
     `(("io" ,java-eclipse-jetty-io)
6559+
       ,@(package-native-inputs java-eclipse-jetty-util)))))
6560+
6561+
(define-public java-eclipse-jetty-security-9.2
6562+
  (package
6563+
    (inherit java-eclipse-jetty-security)
6564+
    (version (package-version java-eclipse-jetty-util-9.2))
6565+
    (source (package-source java-eclipse-jetty-util-9.2))
6566+
    (arguments
6567+
     `(#:jar-name "eclipse-jetty-security.jar"
6568+
       #:source-dir "src/main/java"
6569+
       #:jdk ,icedtea-8
6570+
       #:phases
6571+
       (modify-phases %standard-phases
6572+
         (add-before 'configure 'chdir
6573+
           (lambda _
6574+
             (chdir "jetty-security"))))))
6575+
    (inputs
6576+
     `(("util" ,java-eclipse-jetty-util-9.2)
6577+
       ("http" ,java-eclipse-jetty-http-9.2)
6578+
       ("server" ,java-eclipse-jetty-server-9.2)
6579+
       ;("continuation" ,java-eclipse-jetty-continuation-9.2)
6580+
       ,@(package-inputs java-eclipse-jetty-util-9.2)))
6581+
    (native-inputs
6582+
     `(("io" ,java-eclipse-jetty-io-9.2)
6583+
       ,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
6584+
6585+
(define-public java-eclipse-aether-api
6586+
  (package
6587+
    (name "java-eclipse-aether-api")
6588+
    (version "1.0.2")
6589+
    (source (origin
6590+
              (method url-fetch)
6591+
              (uri (string-append "https://github.com/eclipse/aether-core/"
6592+
                                  "archive/aether-1.0.2.v20150114.tar.gz"))
6593+
              (sha256
6594+
               (base32
6595+
                "192x32hlyxs4p6xzaz1r1jrsqqr56akcl0lncq3av1zpbil6kqhh"))))
6596+
    (build-system ant-build-system)
6597+
    (arguments
6598+
     `(#:jar-name "eclipse-aether-api.jar"
6599+
       #:source-dir "aether-api/src/main/java"
6600+
       #:test-dir "aether-api/src/test"))
6601+
    (native-inputs
6602+
     `(("junit" ,java-junit)
6603+
       ("hamcrest" ,java-hamcrest-core)))
6604+
    (home-page "https://projects.eclipse.org/projects/technology.aether")
6605+
    (synopsis "")
6606+
    (description "")
6607+
    (license license:epl1.0)))
6608+
6609+
(define-public java-eclipse-aether-spi
6610+
  (package
6611+
    (inherit java-eclipse-aether-api)
6612+
    (name "java-eclipse-aether-spi")
6613+
    (arguments
6614+
     `(#:jar-name "eclipse-aether-spi.jar"
6615+
       #:source-dir "aether-spi/src/main/java"
6616+
       #:test-dir "aether-spi/src/test"))
6617+
    (inputs
6618+
     `(("api" ,java-eclipse-aether-api)))))
6619+
6620+
(define-public java-eclipse-aether-test-util
6621+
  (package
6622+
    (inherit java-eclipse-aether-api)
6623+
    (name "java-eclipse-aether-test-util")
6624+
    (arguments
6625+
     `(#:jar-name "eclipse-aether-test-util.jar"
6626+
       #:source-dir "aether-test-util/src/main/java"
6627+
       #:test-dir "aether-test-util/src/test"))
6628+
    (inputs
6629+
     `(("api" ,java-eclipse-aether-api)
6630+
       ("spi" ,java-eclipse-aether-spi)))))
6631+
6632+
(define-public java-eclipse-aether-util
6633+
  (package
6634+
    (inherit java-eclipse-aether-api)
6635+
    (name "java-eclipse-aether-util")
6636+
    (arguments
6637+
     `(#:jar-name "eclipse-aether-util.jar"
6638+
       #:source-dir "aether-util/src/main/java"
6639+
       #:test-dir "aether-util/src/test"))
6640+
    (inputs
6641+
     `(("api" ,java-eclipse-aether-api)))
6642+
    (native-inputs
6643+
     `(("junit" ,java-junit)
6644+
       ("hamcrest" ,java-hamcrest-core)
6645+
       ("test-util" ,java-eclipse-aether-test-util)))))
6646+
6647+
(define-public java-eclipse-aether-impl
6648+
  (package
6649+
    (inherit java-eclipse-aether-api)
6650+
    (name "java-eclipse-aether-impl")
6651+
    (arguments
6652+
     `(#:jar-name "eclipse-aether-impl.jar"
6653+
       #:jdk ,icedtea-8
6654+
       #:source-dir "aether-impl/src/main/java"
6655+
       #:test-dir "aether-impl/src/test"))
6656+
    (inputs
6657+
     `(("api" ,java-eclipse-aether-api)
6658+
       ("spi" ,java-eclipse-aether-spi)
6659+
       ("util" ,java-eclipse-aether-util)
6660+
       ("javax-inject" ,java-javax-inject)
6661+
       ("sisu-inject" ,java-eclipse-sisu-inject)
6662+
       ("guice" ,java-guice)
6663+
       ("slf4j" ,java-slf4j-api)))
6664+
    (native-inputs
6665+
     `(("junit" ,java-junit)
6666+
       ("hamcrest" ,java-hamcrest-core)
6667+
       ("guava" ,java-guava)
6668+
       ("cglib" ,java-cglib)
6669+
       ("asm" ,java-asm)
6670+
       ("aopalliance" ,java-aopalliance)
6671+
       ("test-util" ,java-eclipse-aether-test-util)))))
6672+
6673+
(define-public java-commons-compiler
6674+
  (package
6675+
    (name "java-commons-compiler")
6676+
    (version "3.0.7")
6677+
    (source (origin
6678+
              (method git-fetch)
6679+
              (uri (git-reference
6680+
                     (url "https://github.com/janino-compiler/janino")
6681+
                     (commit "6fa05ea19323f46a4f2611671d2ad453c0866564")))
6682+
              (sha256
6683+
               (base32
6684+
                "04kzh2pbrb1011fprnpgy1nwrx0k5aky382k9n9j2w1pj17qplz4"))
6685+
              (modules '((guix build utils)))
6686+
              (snippet
6687+
               '(begin
6688+
                  (for-each delete-file
6689+
                            (find-files "." "\\.jar$"))
6690+
                  #t))))
6691+
    (build-system ant-build-system)
6692+
    (arguments
6693+
     `(#:jar-name "commons-compiler.jar"
6694+
       #:source-dir "commons-compiler/src/main"
6695+
       #:tests? #f)); no tests
6696+
    (home-page "")
6697+
    (synopsis "")
6698+
    (description "")
6699+
    (license license:bsd-3)))
6700+
6701+
(define-public java-janino
6702+
  (package
6703+
    (inherit java-commons-compiler)
6704+
    (name "java-janino")
6705+
    (arguments
6706+
     `(#:jar-name "janino.jar"
6707+
       #:source-dir "src/main/java"
6708+
       #:phases
6709+
       (modify-phases %standard-phases
6710+
         (add-before 'configure 'chdir
6711+
           (lambda _
6712+
             (chdir "janino"))))))
6713+
    (inputs
6714+
     `(("compiler" ,java-commons-compiler)))
6715+
    (native-inputs
6716+
     `(("junit" ,java-junit)
6717+
       ("hamcrest" ,java-hamcrest-core)))))
6718+
6719+
(define-public java-logback-core
6720+
  (package
6721+
    (name "java-logback-core")
6722+
    (version "1.2.3")
6723+
    (source (origin
6724+
              (method url-fetch)
6725+
              (uri (string-append "https://github.com/qos-ch/logback/archive/v_"
6726+
                                  version ".tar.gz"))
6727+
              (sha256
6728+
               (base32
6729+
                "1x6ga74yfgm94cfx98gybakbrlilx8i2gn6dx13l40kasmys06mi"))))
6730+
    (build-system ant-build-system)
6731+
    (arguments
6732+
     `(#:jar-name "logback.jar"
6733+
       #:source-dir "src/main/java"
6734+
       #:test-dir "src/test"
6735+
       #:tests? #f; One test fails with Unable to set MockitoNamingPolicy on cglib generator which creates FastClasses
6736+
       #:phases
6737+
       (modify-phases %standard-phases
6738+
         (add-before 'configure 'chdir
6739+
           (lambda _
6740+
             (chdir "logback-core"))))))
6741+
    (inputs
6742+
     `(("java-mail" ,java-javax-mail)
6743+
       ("servlet" ,java-tomcat)
6744+
       ("compiler" ,java-commons-compiler)
6745+
       ("janino" ,java-janino)))
6746+
    (native-inputs
6747+
     `(("junit" ,java-junit)
6748+
       ("hamcrest" ,java-hamcrest-core)
6749+
       ("mockito" ,java-mockito-1)
6750+
       ("cglib" ,java-cglib)
6751+
       ("asm" ,java-asm)
6752+
       ("objenesis" ,java-objenesis)
6753+
       ("joda-time" ,java-joda-time)))
6754+
    (home-page "https://logback.qos.ch")
6755+
    (synopsis "")
6756+
    (description "")
6757+
    (license (list license:epl1.0 license:lgpl2.1))))
6758+
6759+
(define-public java-logback-classic
6760+
  (package
6761+
    (inherit java-logback-core)
6762+
    (name "java-logback-classic")
6763+
    (arguments
6764+
     `(#:jar-name "logback-classic.jar"
6765+
       #:source-dir "src/main/java"
6766+
       #:test-dir "src/test"
6767+
       #:phases
6768+
       (modify-phases %standard-phases
6769+
         (add-before 'configure 'chdir
6770+
           (lambda _
6771+
             (chdir "logback-classic")))
6772+
         (add-after 'chdir 'remove-groovy-dep
6773+
           (lambda _
6774+
             (delete-file "src/main/java/ch/qos/logback/classic/boolex/GEventEvaluator.java"))))))
6775+
    (inputs
6776+
     `(("core" ,java-logback-core)
6777+
       ("slf4j" ,java-slf4j-api)
6778+
       ,@(package-inputs java-logback-core)))))
6779+
6780+
(define-public maven
6781+
  (package
6782+
    (name "maven")
6783+
    (version "3.3.9")
6784+
    (source (origin 
6785+
              (method url-fetch)
6786+
              (uri (string-append "https://archive.apache.org/dist/maven/"
6787+
                                  "maven-3/" version "/source/"
6788+
                                  "apache-maven-" version "-src.tar.gz"))
6789+
              (sha256 (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i"))
6790+
              (patches
6791+
                (search-patches "maven-generate-component-xml.patch"))))
6792+
    (build-system ant-build-system)
6793+
    (arguments
6794+
     `(#:phases
6795+
       (modify-phases %standard-phases
6796+
         (replace 'build
6797+
           (lambda _
6798+
             (substitute* "apache-maven/src/bin/mvn"
6799+
               (("cygwin=false;")
6800+
                (string-append
6801+
                  "CLASSPATH=" (getenv "CLASSPATH") "\n"
6802+
                  "cygwin=false;"))
6803+
               (("-classpath.*") ""))))
6804+
         (delete 'check)
6805+
         (replace 'install
6806+
           (lambda* (#:key outputs #:allow-other-keys)
6807+
             (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
6808+
               (for-each (lambda (file)
6809+
                           (install-file (string-append "apache-maven/src/bin/" file)
6810+
                                         (string-append bin))
6811+
                           (chmod (string-append bin file) #o755))
6812+
                '("mvn" "mvnDebug" "mvnyjp"))))))))
6813+
    (inputs
6814+
     `(("classworlds" ,java-plexus-classworlds)
6815+
       ("core" ,maven-core)))
6816+
    (home-page "")
6817+
    (synopsis "")
6818+
    (description "")
6819+
    (license license:asl2.0)))
6820+
6821+
(define-public maven-artifact
6822+
  (package
6823+
    (inherit maven)
6824+
    (name "maven-artifact")
6825+
    (arguments
6826+
     `(#:jar-name "maven-artifact.jar"
6827+
       #:source-dir "maven-artifact/src/main/java"
6828+
       #:test-dir "maven-artifact/src/test"
6829+
       #:main-class "org.apache.maven.artifact.versioning.ComparableVersion"))
6830+
    (inputs
6831+
     `(("java-plexus-utils" ,java-plexus-utils)
6832+
       ("java-commons-lang3" ,java-commons-lang3)))
6833+
    (native-inputs
6834+
     `(("junit" ,java-junit)))))
6835+
6836+
(define-public maven-model
6837+
  (package
6838+
    (inherit maven)
6839+
    (name "maven-model")
6840+
    (arguments
6841+
     `(#:jar-name "maven-model.jar"
6842+
       #:source-dir "maven-model/src/main/java"
6843+
       #:test-dir "maven-model/src/test"
6844+
       #:jdk ,icedtea-8
6845+
       #:phases
6846+
       (modify-phases %standard-phases
6847+
         (add-before 'build 'generate-models
6848+
           (lambda* (#:key inputs #:allow-other-keys)
6849+
             (define (modello-single-mode file version mode)
6850+
               (zero? (system* "java"
6851+
                               "org.codehaus.modello.ModelloCli"
6852+
                               file mode "maven-model/src/main/java" version
6853+
                               "false" "true")))
6854+
             (let ((file "maven-model/src/main/mdo/maven.mdo"))
6855+
               (and
6856+
               (modello-single-mode file "4.0.0" "java")
6857+
               (modello-single-mode file "4.0.0" "xpp3-reader")
6858+
               (modello-single-mode file "4.0.0" "xpp3-writer")
6859+
               (modello-single-mode file "4.0.0" "xpp3-extended-reader"))))))))
6860+
    (inputs
6861+
     `(("lang3" ,java-commons-lang3)
6862+
       ("utils" ,java-plexus-utils)))
6863+
    (native-inputs
6864+
     `(("modello" ,java-modello-core)
6865+
       ;; for modello:
6866+
       ("container" ,java-plexus-container-default)
6867+
       ("classworlds" ,java-plexus-classworlds)
6868+
       ("guava" ,java-guava)
6869+
       ("xbean" ,java-geronimo-xbean-reflect)
6870+
       ("build-api" ,java-sisu-build-api)
6871+
       ;; modello plugins:
6872+
       ("java" ,java-modello-plugins-java)
6873+
       ("xml" ,java-modello-plugins-xml)
6874+
       ("xpp3" ,java-modello-plugins-xpp3)
6875+
       ;; for tests
6876+
       ("junit" ,java-junit)))))
58956877
58966878
(define-public maven-settings
58976879
  (package

59166898
                 (modello-single-mode file "1.1.0" "java")
59176899
                 (modello-single-mode file "1.1.0" "xpp3-reader")
59186900
                 (modello-single-mode file "1.1.0" "xpp3-writer"))))))))
6901+
    (inputs '())
59196902
    (native-inputs
59206903
     `(("modello" ,java-modello-core)
59216904
       ;; for modello:

59746957
    (native-inputs
59756958
     `(("junit" ,java-junit)))))
59766959
5977-
(define-public maven-plugin-lifecycle
5978-
  (package
5979-
    (inherit maven)
5980-
    (name "maven-plugin-api")
5981-
    (arguments
5982-
     `(#:jar-name "maven-plugin-api.jar"
5983-
       #:source-dir "maven-plugin-api/src/main/java"
5984-
       #:jdk ,icedtea-8
5985-
       #:test-dir "maven-plugin-api/test"))
5986-
    (inputs
5987-
     `(("artifact" ,maven-artifact)
5988-
       ("container" ,java-plexus-container-default)
5989-
       ("utils" ,java-plexus-utils)
5990-
       ("classworlds" ,java-plexus-classworlds)))
5991-
    (native-inputs '())))
5992-
59936960
(define-public maven-plugin-api
59946961
  (package
59956962
    (inherit maven)

59986965
     `(#:jar-name "maven-plugin-api.jar"
59996966
       #:source-dir "maven-plugin-api/src/main/java"
60006967
       #:jdk ,icedtea-8
6001-
       #:test-dir "maven-plugin-api/test"))
6968+
       #:test-dir "maven-plugin-api/src/test"
6969+
       #:phases
6970+
       (modify-phases %standard-phases
6971+
         (add-before 'build 'generate-models
6972+
           (lambda* (#:key inputs #:allow-other-keys)
6973+
             (define (modello-single-mode file version mode)
6974+
               (zero? (system* "java"
6975+
                               "org.codehaus.modello.ModelloCli"
6976+
                               file mode "maven-plugin-api/src/main/java" version
6977+
                               "false" "true")))
6978+
             (let ((file "maven-plugin-api/src/main/mdo/lifecycle.mdo"))
6979+
               (and
6980+
                 (modello-single-mode file "1.0.0" "java")
6981+
                 (modello-single-mode file "1.0.0" "xpp3-reader")
6982+
                 (modello-single-mode file "1.0.0" "xpp3-writer"))))))))
60026983
    (inputs
60036984
     `(("artifact" ,maven-artifact)
6985+
       ("model" ,maven-model)
60046986
       ("container" ,java-plexus-container-default)
60056987
       ("utils" ,java-plexus-utils)))
6006-
    (native-inputs '())))
6988+
    (native-inputs
6989+
     `(("modello" ,java-modello-core)
6990+
       ;; for modello:
6991+
       ("classworlds" ,java-plexus-classworlds)
6992+
       ("guava" ,java-guava)
6993+
       ("xbean" ,java-geronimo-xbean-reflect)
6994+
       ("build-api" ,java-sisu-build-api)
6995+
       ;; modello plugins:
6996+
       ("java" ,java-modello-plugins-java)
6997+
       ("xml" ,java-modello-plugins-xml)
6998+
       ("xpp3" ,java-modello-plugins-xpp3)
6999+
       ;; for tests
7000+
       ("junit" ,java-junit)))))
60077001
60087002
(define-public maven-model-builder
60097003
  (package

60497043
       ("xbean" ,java-geronimo-xbean-reflect)
60507044
       ("classworlds" ,java-plexus-classworlds)))))
60517045
7046+
(define-public maven-repository-metadata
7047+
  (package
7048+
    (inherit maven)
7049+
    (name "maven-repository-metadata")
7050+
    (arguments
7051+
     `(#:jar-name "maven-repository-metadata.jar"
7052+
       #:source-dir "maven-repository-metadata/src/main/java"
7053+
       #:jdk ,icedtea-8
7054+
       #:tests? #f; no tests
7055+
       #:phases
7056+
       (modify-phases %standard-phases
7057+
         (add-before 'build 'generate-models
7058+
           (lambda* (#:key inputs #:allow-other-keys)
7059+
             (define (modello-single-mode file version mode)
7060+
               (zero? (system* "java"
7061+
                               "org.codehaus.modello.ModelloCli"
7062+
                               file mode "maven-repository-metadata/src/main/java" version
7063+
                               "false" "true")))
7064+
             (let ((file "maven-repository-metadata/src/main/mdo/metadata.mdo"))
7065+
               (and
7066+
                 (modello-single-mode file "1.1.0" "java")
7067+
                 (modello-single-mode file "1.1.0" "xpp3-reader")
7068+
                 (modello-single-mode file "1.1.0" "xpp3-writer"))))))))
7069+
    (inputs '())
7070+
    (native-inputs
7071+
     `(("modello" ,java-modello-core)
7072+
       ;; for modello:
7073+
       ("container" ,java-plexus-container-default)
7074+
       ("utils" ,java-plexus-utils)
7075+
       ("classworlds" ,java-plexus-classworlds)
7076+
       ("guava" ,java-guava)
7077+
       ("xbean" ,java-geronimo-xbean-reflect)
7078+
       ("build-api" ,java-sisu-build-api)
7079+
       ;; modello plugins:
7080+
       ("java" ,java-modello-plugins-java)
7081+
       ("xml" ,java-modello-plugins-xml)
7082+
       ("xpp3" ,java-modello-plugins-xpp3)
7083+
       ;; for tests
7084+
       ("junit" ,java-junit)))))
7085+
7086+
(define-public maven-aether-provider
7087+
  (package
7088+
    (inherit maven)
7089+
    (name "maven-aether-provider")
7090+
    (arguments
7091+
     `(#:jar-name "maven-aether-provider.jar"
7092+
       #:source-dir "maven-aether-provider/src/main/java"
7093+
       #:test-dir "maven-aether-provider/src/test"
7094+
       #:tests? #f; strange failure: cannot find ContainerConfiguration.setAutoWiring()
7095+
       ;; and PlexusConstants.SCANNING_INDEX
7096+
       ;; Supposedly, this is in maven-compat, which depends on maven-core.
7097+
       #:jdk ,icedtea-8
7098+
       #:phases
7099+
       (modify-phases %standard-phases
7100+
         (add-before 'build 'generate-components.xml
7101+
           (lambda _
7102+
             (mkdir-p "build/classes/META-INF/plexus")
7103+
             (chmod "components.sh" #o755)
7104+
             (zero? (system* "./components.sh" "maven-aether-provider/src/main/java"
7105+
                             "build/classes/META-INF/plexus/components.xml")))))))
7106+
    (inputs
7107+
     `(("spi" ,java-eclipse-aether-spi)
7108+
       ("api" ,java-eclipse-aether-api)
7109+
       ("impl" ,java-eclipse-aether-impl)
7110+
       ("util" ,java-eclipse-aether-util)
7111+
       ("model" ,maven-model)
7112+
       ("model-builder" ,maven-model-builder)
7113+
       ("support" ,maven-builder-support)
7114+
       ("repository" ,maven-repository-metadata)
7115+
       ("annotations" ,java-plexus-component-annotations)
7116+
       ("lang3" ,java-commons-lang3)
7117+
       ("guice" ,java-guice)
7118+
       ("sisu-inject" ,java-eclipse-sisu-inject)
7119+
       ("javax-inject" ,java-javax-inject)))
7120+
    (native-inputs
7121+
     `(("modello" ,java-modello-core)
7122+
       ;; for modello:
7123+
       ("container" ,java-eclipse-sisu-plexus)
7124+
       ("utils" ,java-plexus-utils)
7125+
       ("classworlds" ,java-plexus-classworlds)
7126+
       ("guava" ,java-guava)
7127+
       ("xbean" ,java-geronimo-xbean-reflect)
7128+
       ("build-api" ,java-sisu-build-api)
7129+
       ;; modello plugins:
7130+
       ("java" ,java-modello-plugins-java)
7131+
       ("xml" ,java-modello-plugins-xml)
7132+
       ("xpp3" ,java-modello-plugins-xpp3)
7133+
       ;; for tests
7134+
       ("cglib" ,java-cglib)
7135+
       ("asm" ,java-asm)
7136+
       ("junit" ,java-junit)
7137+
       ("mockito" ,java-mockito-1)))))
7138+
60527139
(define-public maven-core
60537140
  (package
60547141
    (inherit maven)

60587145
       #:source-dir "maven-core/src/main/java"
60597146
       #:jdk ,icedtea-8
60607147
       #:test-dir "maven-core/src/test"
7148+
       ;; Tests fail with
7149+
       ;; org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
7150+
       ;;   role: org.apache.maven.repository.RepositorySystem
7151+
       ;; It seems they need maven-compat, which requires maven-core
7152+
       #:tests? #f
60617153
       #:phases
60627154
       (modify-phases %standard-phases
60637155
         (add-before 'build 'generate-models

60747166
                 (modello-single-mode file "1.1.0" "xpp3-writer"))))))))
60757167
    (inputs
60767168
     `(("artifact" ,maven-artifact)
7169+
       ("aether" ,maven-aether-provider)
7170+
       ("support" ,maven-builder-support)
60777171
       ("model" ,maven-model)
60787172
       ("model-builder" ,maven-model-builder)
60797173
       ("settings" ,maven-settings)
60807174
       ("settings-builder" ,maven-settings-builder)
6081-
       ("container" ,java-plexus-container-default)
7175+
       ("plugin-api" ,maven-plugin-api)
7176+
       ("repository-metadat" ,maven-repository-metadata)
60827177
       ("annotations" ,java-plexus-component-annotations)
60837178
       ("utils" ,java-plexus-utils)
60847179
       ("lang3" ,java-commons-lang3)
60857180
       ("guava" ,java-guava)
6086-
       ("aether" ,java-eclipse-aether-api)
7181+
       ("guice" ,java-guice)
7182+
       ("aether-api" ,java-eclipse-aether-api)
7183+
       ("aether-spi" ,java-eclipse-aether-spi)
7184+
       ("aether-util" ,java-eclipse-aether-util)
7185+
       ("aether-impl" ,java-eclipse-aether-impl)
7186+
       ("sisu-inject" ,java-eclipse-sisu-inject)
7187+
       ("container" ,java-eclipse-sisu-plexus)
60877188
       ("java-javax-inject" ,java-javax-inject)
60887189
       ("classworld" ,java-plexus-classworlds)))
60897190
    (native-inputs
60907191
     `(("modello" ,java-modello-core)
7192+
       ("cglib" ,java-cglib)
7193+
       ("asm" ,java-asm)
7194+
       ("classworlds" ,java-plexus-classworlds)
7195+
       ("xbean" ,java-geronimo-xbean-reflect)
7196+
       ("build-api" ,java-sisu-build-api)
7197+
       ("java" ,java-modello-plugins-java)
7198+
       ("xml" ,java-modello-plugins-xml)
7199+
       ("xpp3" ,java-modello-plugins-xpp3)
7200+
       ;; tests
7201+
       ("junit" ,java-junit)
7202+
       ("mockito" ,java-mockito-1)
7203+
       ("jxpath" ,java-commons-jxpath)))))
7204+
7205+
(define-public maven-wagon-provider-api
7206+
  (package
7207+
    (name "maven-wagon-provider-api")
7208+
    (version "3.0.0")
7209+
    (source (origin 
7210+
              (method url-fetch)
7211+
              (uri (string-append "https://archive.apache.org/dist/maven/wagon/"
7212+
                                  "wagon-" version "-source-release.zip"))
7213+
              (sha256 (base32 "1qb0q4m7vmf290xp3fnfdi3pwl3hkskia5g3z2v82q1ch3y2knqv"))))
7214+
    (build-system ant-build-system)
7215+
    (arguments
7216+
     `(#:jar-name "maven-wagon-provider-api.jar"
7217+
       #:source-dir "wagon-provider-api/src/main/java"
7218+
       #:test-dir "wagon-provider-api/src/test"))
7219+
    (inputs
7220+
     `(("utils" ,java-plexus-utils)))
7221+
    (native-inputs
7222+
     `(("unzip" ,unzip)
7223+
       ("junit" ,java-junit)
7224+
       ("easymock" ,java-easymock)))
7225+
    (home-page "")
7226+
    (synopsis "")
7227+
    (description "")
7228+
    (license license:asl2.0)))
7229+
7230+
(define-public maven-wagon-provider-test
7231+
  (package
7232+
    (inherit maven-wagon-provider-api)
7233+
    (name "maven-wagon-provider-test")
7234+
    (arguments
7235+
     `(#:jar-name "maven-wagon-provider-test.jar"
7236+
       #:source-dir "wagon-provider-test/src/main/java"
7237+
       #:tests? #f; no tests
7238+
       #:jdk ,icedtea-8))
7239+
    (inputs
7240+
     `(("utils" ,java-plexus-utils)
7241+
       ("containers" ,java-plexus-container-default)
7242+
       ("jetty-util" ,java-eclipse-jetty-util-9.2)
7243+
       ("jetty-security" ,java-eclipse-jetty-security-9.2)
7244+
       ("jetty-server" ,java-eclipse-jetty-server-9.2)
7245+
       ("jetty-servlet" ,java-eclipse-jetty-servlet-9.2)
7246+
       ("slf4j" ,java-slf4j-api)
7247+
       ("servlet" ,java-tomcat)
7248+
       ("provider-api" ,maven-wagon-provider-api)))))
7249+
7250+
(define-public maven-wagon-file
7251+
  (package
7252+
    (inherit maven-wagon-provider-api)
7253+
    (name "maven-wagon-file")
7254+
    (arguments
7255+
     `(#:jar-name "maven-wagon-file.jar"
7256+
       #:source-dir "wagon-providers/wagon-file/src/main/java"
7257+
       #:test-dir "wagon-providers/wagon-file/src/test"
7258+
       #:jdk ,icedtea-8
7259+
       #:phases
7260+
       (modify-phases %standard-phases
7261+
         (add-before 'check 'fix-paths
7262+
           (lambda _
7263+
             (substitute* "wagon-providers/wagon-file/src/test/java/org/apache/maven/wagon/providers/file/FileWagonTest.java"
7264+
               (("target") "build"))))
7265+
         (add-before 'build 'generate-metadata
7266+
           (lambda _
7267+
             (zero? (system* "java" "-cp" (getenv "CLASSPATH")
7268+
                             "org.codehaus.plexus.metadata.PlexusMetadataGeneratorCli"
7269+
                             "--source" "wagon-providers/wagon-file/src/main/java"
7270+
                             "--output" "build/classes/META-INF/plexus/components.xml"
7271+
                             ;; I don't know what these two options do, but if
7272+
                             ;; not present, it ends with a NullPointerException.
7273+
                             "--classes" "build/classes"
7274+
                             "--descriptors" "build/classes/META-INF")))))))
7275+
    (inputs
7276+
     `(("utils" ,java-plexus-utils)
7277+
       ("provider-api" ,maven-wagon-provider-api)))
7278+
    (native-inputs
7279+
     `(("provider-test" ,maven-wagon-provider-test)
7280+
       ("metadata" ,java-plexus-component-metadata)
7281+
       ("annotations" ,java-plexus-component-annotations)
7282+
       ("container" ,java-plexus-container-default)
7283+
       ("classworlds" ,java-plexus-classworlds)
7284+
       ("guava" ,java-guava)
7285+
       ("slf4j" ,java-slf4j-api)
7286+
       ("utils" ,java-plexus-utils)
7287+
       ("cli" ,java-plexus-cli)
7288+
       ("plugin-api" ,maven-plugin-api)
7289+
       ("plugin-annotations" ,maven-plugin-annotations)
7290+
       ("core" ,maven-core)
7291+
       ("model" ,maven-model)
7292+
       ("cli" ,java-commons-cli)
7293+
       ("qdox" ,java-qdox)
7294+
       ("jdom2" ,java-jdom2)
7295+
       ("asm" ,java-asm)
7296+
       ("xbean" ,java-geronimo-xbean-reflect)
7297+
       ,@(package-native-inputs maven-wagon-provider-api)))))
7298+
7299+
(define-public maven-embedder
7300+
  (package
7301+
    (inherit maven)
7302+
    (name "maven-embedder")
7303+
    (arguments
7304+
     `(#:jar-name "maven-embedder.jar"
7305+
       #:source-dir "maven-embedder/src/main/java"
7306+
       #:test-dir "maven-embedder/src/test"
7307+
       #:jdk ,icedtea-8
7308+
       #:phases
7309+
       (modify-phases %standard-phases
7310+
         (add-before 'build 'generate-models
7311+
           (lambda* (#:key inputs #:allow-other-keys)
7312+
             (define (modello-single-mode file version mode)
7313+
               (zero? (system* "java"
7314+
                               "org.codehaus.modello.ModelloCli"
7315+
                               file mode "maven-embedder/src/main/java" version
7316+
                               "false" "true")))
7317+
             (let ((file "maven-embedder/src/main/mdo/core-extensions.mdo"))
7318+
               (and
7319+
                 (modello-single-mode file "1.0.0" "java")
7320+
                 (modello-single-mode file "1.0.0" "xpp3-reader")
7321+
                 (modello-single-mode file "1.0.0" "xpp3-writer"))))))))
7322+
    (inputs
7323+
     `(("core" ,maven-core)
7324+
       ("artifact" ,maven-artifact)
7325+
       ("plugin-api" ,maven-plugin-api)
7326+
       ("support" ,maven-builder-support)
7327+
       ("model" ,maven-model)
7328+
       ("model-builder" ,maven-model-builder)
7329+
       ("settings" ,maven-settings)
7330+
       ("settings-builder" ,maven-settings-builder)
60917331
       ("classworlds" ,java-plexus-classworlds)
7332+
       ("util" ,java-plexus-utils)
7333+
       ("container" ,java-plexus-container-default)
7334+
       ("cipher" ,java-plexus-cipher)
7335+
       ("annotations" ,java-plexus-component-annotations)
7336+
       ("sec-dispatcher" ,java-plexus-sec-dispatcher)
7337+
       ("aether-util" ,java-eclipse-aether-util)
7338+
       ("aether-api" ,java-eclipse-aether-api)
7339+
       ("logback" ,java-logback-classic)
7340+
       ("cli" ,java-commons-cli)
7341+
       ("io" ,java-commons-io)
7342+
       ("lang3" ,java-commons-lang3)
7343+
       ("guava" ,java-guava)
7344+
       ("guice" ,java-guice)
7345+
       ("inject" ,java-javax-inject)
7346+
       ("slf4j" ,java-slf4j-api)))
7347+
    (native-inputs
7348+
     `(("modello" ,java-modello-core)
60927349
       ("xbean" ,java-geronimo-xbean-reflect)
60937350
       ("build-api" ,java-sisu-build-api)
7351+
       ("container" ,java-eclipse-sisu-plexus)
7352+
       ("sisu-inject" ,java-eclipse-sisu-inject)
7353+
       ("cglib" ,java-cglib)
7354+
       ("asm" ,java-asm)
60947355
       ("java" ,java-modello-plugins-java)
60957356
       ("xml" ,java-modello-plugins-xml)
60967357
       ("xpp3" ,java-modello-plugins-xpp3)))))
7358+
7359+
(define-public maven-compat
7360+
  (package
7361+
    (inherit maven)
7362+
    (name "maven-compat")
7363+
    (arguments
7364+
     `(#:jar-name "maven-compat.jar"
7365+
       #:source-dir "maven-compat/src/main/java"
7366+
       #:jdk ,icedtea-8
7367+
       #:test-dir "maven-compat/src/test"
7368+
       #:phases
7369+
       (modify-phases %standard-phases
7370+
         (add-before 'build 'generate-models
7371+
           (lambda* (#:key inputs #:allow-other-keys)
7372+
             (define (modello-single-mode file version mode)
7373+
               (zero? (system* "java"
7374+
                               "org.codehaus.modello.ModelloCli"
7375+
                               file mode "maven-compat/src/main/java" version
7376+
                               "false" "true")))
7377+
             (let ((file "maven-compat/src/main/mdo/profiles.mdo"))
7378+
               (and
7379+
                 (modello-single-mode file "1.0.0" "java")
7380+
                 (modello-single-mode file "1.0.0" "xpp3-reader")
7381+
                 (modello-single-mode file "1.0.0" "xpp3-writer")))
7382+
             (let ((file "maven-compat/src/main/mdo/paramdoc.mdo"))
7383+
               (and
7384+
                 (modello-single-mode file "1.0.0" "java")
7385+
                 (modello-single-mode file "1.0.0" "xpp3-reader")
7386+
                 (modello-single-mode file "1.0.0" "xpp3-writer"))))))))
7387+
    (inputs
7388+
     `(("artifact" ,maven-artifact)
7389+
       ("repo" ,maven-repository-metadata)
7390+
       ("support" ,maven-builder-support)
7391+
       ("model" ,maven-model)
7392+
       ("model-builder" ,maven-model-builder)
7393+
       ("settings" ,maven-settings)
7394+
       ("settings-builder" ,maven-settings-builder)
7395+
       ("core" ,maven-core)
7396+
       ("wagon" ,maven-wagon-provider-api)
7397+
       ("wagon-file" ,maven-wagon-file)
7398+
       ("interpolation" ,java-plexus-interpolation)
7399+
       ("util" ,java-eclipse-aether-util)
7400+
       ("api" ,java-eclipse-aether-api)))
7401+
    (native-inputs
7402+
     `(("modello" ,java-modello-core)
7403+
       ("utils" ,java-plexus-utils)
7404+
       ("annot" ,java-plexus-component-annotations)
7405+
       ("classworlds" ,java-plexus-classworlds)
7406+
       ("xbean" ,java-geronimo-xbean-reflect)
7407+
       ("build-api" ,java-sisu-build-api)
7408+
       ("container" ,java-eclipse-sisu-plexus)
7409+
       ("sisu-inject" ,java-eclipse-sisu-inject)
7410+
       ("aether-spi" ,java-eclipse-aether-spi)
7411+
       ("inject" ,java-javax-inject)
7412+
       ("guice" ,java-guice)
7413+
       ("guava" ,java-guava)
7414+
       ("cglib" ,java-cglib)
7415+
       ("asm" ,java-asm)
7416+
       ("java" ,java-modello-plugins-java)
7417+
       ("xml" ,java-modello-plugins-xml)
7418+
       ("xpp3" ,java-modello-plugins-xpp3)
7419+
       ;; tests
7420+
       ("junit" ,java-junit)
7421+
       ("impl" ,java-eclipse-aether-impl)
7422+
       ("lang3" ,java-commons-lang3)
7423+
       ("aether-provider" ,maven-aether-provider)))))
7424+
7425+
(define-public maven-plugin-annotations
7426+
  (package
7427+
    (name "maven-plugin-annotations")
7428+
    (version "3.5")
7429+
    (source (origin 
7430+
              (method url-fetch)
7431+
              (uri (string-append "https://archive.apache.org/dist/maven/"
7432+
                                  "plugin-tools/maven-plugin-tools-" version
7433+
                                  "-source-release.zip"))
7434+
              (sha256 (base32 "1ryqhs62j5pas93brhf5dsnvp99hxbvssf681yj5rk3r9h24hqm2"))))
7435+
    (build-system ant-build-system)
7436+
    (arguments
7437+
     `(#:jar-name "maven-plugin-annotations.jar"
7438+
       #:source-dir "maven-plugin-annotations/src/main/java"
7439+
       #:tests? #f))
7440+
    (inputs
7441+
     `(("artifact" ,maven-artifact)))
7442+
    (native-inputs
7443+
     `(("unzip" ,unzip)))
7444+
    (home-page "")
7445+
    (synopsis "")
7446+
    (description "")
7447+
    (license license:asl2.0)))