WIP: build some maven dependencies, and some maven subprojects
maven-generate-component-xml.patch unknown status 1
| 1 | + | From 676c4e33be256e4af2e028088dd28ae7be511df3 Mon Sep 17 00:00:00 2001 | |
| 2 | + | From: Julien Lepiller <julien@lepiller.eu> | |
| 3 | + | Date: Sat, 9 Sep 2017 20:34:38 +0200 | |
| 4 | + | Subject: [PATCH] Add a script to generate component.xml files. | |
| 5 | + | ||
| 6 | + | plexus-component-metadata is normally used for this task, but it | |
| 7 | + | depends on maven-core, which depends on maven-model-builder, which needs | |
| 8 | + | plexus-component-metadata. This script is meant to break this dependency | |
| 9 | + | cycle. | |
| 10 | + | --- | |
| 11 | + | components.sh | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | |
| 12 | + | 1 file changed, 124 insertions(+) | |
| 13 | + | create mode 100755 components.sh | |
| 14 | + | ||
| 15 | + | diff --git a/components.sh b/components.sh | |
| 16 | + | new file mode 100755 | |
| 17 | + | index 0000000..a00b25b | |
| 18 | + | --- /dev/null | |
| 19 | + | +++ b/components.sh | |
| 20 | + | @@ -0,0 +1,124 @@ | |
| 21 | + | +## This script generates a rough plexus/components.xml file. It is meant to | |
| 22 | + | +## replace plexus-component-metadata as it eventually has a recursive dependency | |
| 23 | + | +## on itself. | |
| 24 | + | +## | |
| 25 | + | +## This script must be run in the source directory (usually src/main/java). | |
| 26 | + | + | |
| 27 | + | +# Finds the complete name from a class name. | |
| 28 | + | +function find_role() { | |
| 29 | + | + role=$1 | |
| 30 | + | + # Find role | |
| 31 | + | + case $role in | |
| 32 | + | + "ModelBuilder" | "ModelProcessor") | |
| 33 | + | + role=org.apache.maven.model.building.$role | |
| 34 | + | + ;; | |
| 35 | + | + "ModelValidator") | |
| 36 | + | + role=org.apache.maven.model.validation.$role | |
| 37 | + | + ;; | |
| 38 | + | + "ProfileInjector" | "ProfileSelector") | |
| 39 | + | + role=org.apache.maven.model.profile.$role | |
| 40 | + | + ;; | |
| 41 | + | + "ProfileActivator") | |
| 42 | + | + role=org.apache.maven.model.profile.activation.$role | |
| 43 | + | + ;; | |
| 44 | + | + "SuperPomProvider") | |
| 45 | + | + role=org.apache.maven.model.superpom.$role | |
| 46 | + | + ;; | |
| 47 | + | + "ReportConfigurationExpander" | "PluginConfigurationExpander" \ | |
| 48 | + | + | "ReportingConverter" | "LifecycleBindingsInjector") | |
| 49 | + | + role=org.apache.maven.model.plugin.$role | |
| 50 | + | + ;; | |
| 51 | + | + "ModelLocator") | |
| 52 | + | + role=org.apache.maven.model.locator.$role | |
| 53 | + | + ;; | |
| 54 | + | + "ModelPathTranslator" | "PathTranslator" | "UrlNormalizer" | "ModelUrlNormalizer") | |
| 55 | + | + role=org.apache.maven.model.path.$role | |
| 56 | + | + ;; | |
| 57 | + | + "DependencyManagementInjector" | "PluginManagementInjector") | |
| 58 | + | + role=org.apache.maven.model.management.$role | |
| 59 | + | + ;; | |
| 60 | + | + "ModelWriter" | "ModelReader") | |
| 61 | + | + role=org.apache.maven.model.io.$role | |
| 62 | + | + ;; | |
| 63 | + | + "DependencyManagementImporter") | |
| 64 | + | + role=org.apache.maven.model.composition.$role | |
| 65 | + | + ;; | |
| 66 | + | + "ModelNormalizer") | |
| 67 | + | + role=org.apache.maven.model.normalization.$role | |
| 68 | + | + ;; | |
| 69 | + | + "ModelInterpolator") | |
| 70 | + | + role=org.apache.maven.model.interpolation.$role | |
| 71 | + | + ;; | |
| 72 | + | + "InheritanceAssembler") | |
| 73 | + | + role=org.apache.maven.model.inheritance.$role | |
| 74 | + | + ;; | |
| 75 | + | + *) | |
| 76 | + | + role=$role | |
| 77 | + | + ;; | |
| 78 | + | + esac | |
| 79 | + | + echo $role | |
| 80 | + | +} | |
| 81 | + | + | |
| 82 | + | +function generate_xml() { | |
| 83 | + | +echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" | |
| 84 | + | +echo "<component-set>" | |
| 85 | + | +echo "<components>" | |
| 86 | + | + | |
| 87 | + | +for file in `find -name '*.java'`; do | |
| 88 | + | + annot=`grep "@Component" $file` | |
| 89 | + | + if [ "$?" == "0" ]; then | |
| 90 | + | + # We have a component! | |
| 91 | + | + role=$(echo $annot | sed 's|.*role = \(.*\).class.*|\1|') | |
| 92 | + | + role_hint=$(echo $annot | sed 's|.*hint = "\(.*\)" .*|\1|') | |
| 93 | + | + if [ "$role_hint" = "$annot" ]; then | |
| 94 | + | + role_hint=default | |
| 95 | + | + fi | |
| 96 | + | + implem=$(echo $file | sed -e 's|^\./||' -e 's|\.java||' -e 's|/|.|g') | |
| 97 | + | + role=$(find_role $role) | |
| 98 | + | + | |
| 99 | + | + echo "<component>" | |
| 100 | + | + echo " <role>$role</role>" | |
| 101 | + | + echo " <role-hint>$role_hint</role-hint>" | |
| 102 | + | + echo " <implementation>$implem</implementation>" | |
| 103 | + | + echo " <description />" | |
| 104 | + | + echo " <isolated-realm>false</isolated-realm>" | |
| 105 | + | + echo " <requirements>" | |
| 106 | + | + reqn=1 | |
| 107 | + | + cont=true | |
| 108 | + | + while [ "$cont" = "true" ]; do | |
| 109 | + | + requirement=$(grep "@Requirement" $file -A1 | head -n ${reqn} | tail -1) | |
| 110 | + | + ((reqn++)) | |
| 111 | + | + property=$(grep "@Requirement" $file -A1 | head -n ${reqn} | tail -1) | |
| 112 | + | + if (echo $requirement | grep "@Requirement" >/dev/null); then | |
| 113 | + | + ((reqn++)) | |
| 114 | + | + ((reqn++)) | |
| 115 | + | + optional=$(echo $requirement | sed 's|.*optional = \(.*\) .*|\1|') | |
| 116 | + | + req_role=$(echo $requirement | sed 's|.*role = \(.*\).class .*|\1|') | |
| 117 | + | + if (echo $req_role | grep "@Requirement" >/dev/null); then | |
| 118 | + | + req_role=$(echo $property | sed 's|.*private \(.*\) .*|\1|') | |
| 119 | + | + fi | |
| 120 | + | + req_role=$(find_role $req_role) | |
| 121 | + | + req_name=$(echo $property | sed 's|[^ ]* [^ ]* \([^ ;]*\).*|\1|') | |
| 122 | + | + echo " <requirement>" | |
| 123 | + | + echo " <role>$req_role</role>" | |
| 124 | + | + echo " <field-name>$req_name</field-name>" | |
| 125 | + | + if (echo $optional | grep "@Requirement" >/dev/null); then | |
| 126 | + | + : | |
| 127 | + | + else | |
| 128 | + | + echo " <optional>$optional</optional>" | |
| 129 | + | + fi | |
| 130 | + | + echo " </requirement>" | |
| 131 | + | + else | |
| 132 | + | + cont=false | |
| 133 | + | + fi | |
| 134 | + | + done | |
| 135 | + | + echo " </requirements>" | |
| 136 | + | + echo "</component>" | |
| 137 | + | + fi | |
| 138 | + | +done | |
| 139 | + | + | |
| 140 | + | +echo "</components>" | |
| 141 | + | +echo "</component-set>" | |
| 142 | + | +} | |
| 143 | + | + | |
| 144 | + | +(cd $1; generate_xml) > $2 | |
| 145 | + | -- | |
| 146 | + | 2.14.1 | |
| 147 | + |
more/packages/java.scm
| 5149 | 5149 | ("xmlgraphics" ,java-xmlgraphics-commons) | |
| 5150 | 5150 | ("logging" ,java-commons-logging-minimal) | |
| 5151 | 5151 | ("fop-util" ,java-fop-util))))) | |
| 5152 | + | ||
| 5153 | + | ;; | |
| 5154 | + | ;; | |
| 5155 | + | ;; | |
| 5156 | + | ;; let's try to build maven :) | |
| 5157 | + | ;; This was mostly adapted from https://gitlab.com/htgoebel/guix/blob/WIP-maven/gnu/packages/java.scm | |
| 5158 | + | ;; | |
| 5159 | + | ;; | |
| 5160 | + | ;; | |
| 5161 | + | ||
| 5162 | + | (define* (codehaus-plexus-origin projname version hash | |
| 5163 | + | #:optional (prefix "plexus-")) | |
| 5164 | + | (let* ((projname (string-append prefix projname)) | |
| 5165 | + | (url (string-append "https://github.com/codehaus-plexus/" projname | |
| 5166 | + | "/archive/" projname "-" version ".tar.gz"))) | |
| 5167 | + | (origin | |
| 5168 | + | (method url-fetch) | |
| 5169 | + | (uri url) | |
| 5170 | + | (sha256 (base32 hash))))) | |
| 5171 | + | ||
| 5172 | + | (define-public java-geronimo-xbean-reflect | |
| 5173 | + | (package | |
| 5174 | + | (name "java-geronimo-xbean-reflect") | |
| 5175 | + | (version "1807386") | |
| 5176 | + | (source (origin | |
| 5177 | + | (method svn-fetch) | |
| 5178 | + | (uri (svn-reference | |
| 5179 | + | ;(url "https://svn.apache.org/repos/asf/geronimo/xbean/trunk/") | |
| 5180 | + | (url "https://svn.apache.org/repos/asf/geronimo/xbean/tags/xbean-4.5/") | |
| 5181 | + | (revision 1807396))) | |
| 5182 | + | (sha256 | |
| 5183 | + | (base32 | |
| 5184 | + | "18q3i6jgm6rkw8aysfgihgywrdc5nvijrwnslmi3ww497jvri6ja")))) | |
| 5185 | + | (build-system ant-build-system) | |
| 5186 | + | (arguments | |
| 5187 | + | `(#:jar-name "geronimo-xbean-reflect.jar" | |
| 5188 | + | #:source-dir "xbean-reflect/src/main/java" | |
| 5189 | + | #:test-dir "xbean-reflect/src/test" | |
| 5190 | + | #:jdk ,icedtea-8 | |
| 5191 | + | #:test-exclude (list "**/Abstract*.java" "**/AsmParameterNameLoaderTest.java" | |
| 5192 | + | "**/ObjectRecipeTest.java" "**/ParameterNameLoaderTest.java" | |
| 5193 | + | "**/RecipeHelperTest.java" "**/XbeanAsmParameterNameLoaderTest.java") | |
| 5194 | + | #:phases | |
| 5195 | + | (modify-phases %standard-phases | |
| 5196 | + | (add-before 'build 'fix-source | |
| 5197 | + | (lambda _ | |
| 5198 | + | ;; org.apache.xbean.asm6 is actually repackaged java-asm | |
| 5199 | + | (substitute* "xbean-reflect/src/main/java/org/apache/xbean/recipe/XbeanAsmParameterNameLoader.java" | |
| 5200 | + | (("org.apache.xbean.asm5") "org.objectweb.asm"))))))) | |
| 5201 | + | (inputs | |
| 5202 | + | `(("asm" ,java-asm) | |
| 5203 | + | ("log4j" ,java-log4j-api) | |
| 5204 | + | ("log4j-1.2" ,java-log4j-1.2-api) | |
| 5205 | + | ("log4j-core" ,java-log4j-core) | |
| 5206 | + | ("logging" ,java-commons-logging-minimal))) | |
| 5207 | + | (native-inputs | |
| 5208 | + | `(("junit" ,java-junit))) | |
| 5209 | + | (home-page "") | |
| 5210 | + | (synopsis "") | |
| 5211 | + | (description "") | |
| 5212 | + | (license license:asl2.0))) | |
| 5213 | + | ||
| 5214 | + | (define-public java-plexus-io | |
| 5215 | + | (package | |
| 5216 | + | (name "java-plexus-io") | |
| 5217 | + | (version "3.0.0") | |
| 5218 | + | (source (codehaus-plexus-origin | |
| 5219 | + | "plexus-io" version | |
| 5220 | + | "0f2j41kihaymxkpbm55smpxjja235vad8cgz94frfy3ppcp021dw" | |
| 5221 | + | "")) | |
| 5222 | + | (build-system ant-build-system) | |
| 5223 | + | (arguments | |
| 5224 | + | `(#:jar-name "plexus-io.jar" | |
| 5225 | + | #:source-dir "src/main/java" | |
| 5226 | + | #:test-dir "src/test" | |
| 5227 | + | #:jdk ,icedtea-8 | |
| 5228 | + | #:phases | |
| 5229 | + | (modify-phases %standard-phases | |
| 5230 | + | (add-before 'build 'copy-resources | |
| 5231 | + | (lambda _ | |
| 5232 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5233 | + | (copy-file "src/main/resources/META-INF/plexus/components.xml" | |
| 5234 | + | "build/classes/META-INF/plexus/components.xml") | |
| 5235 | + | #t))))) | |
| 5236 | + | (inputs | |
| 5237 | + | `(("utils" ,java-plexus-utils) | |
| 5238 | + | ("commons-io" ,java-commons-io) | |
| 5239 | + | ("java-jsr305" ,java-jsr305))) | |
| 5240 | + | (native-inputs | |
| 5241 | + | `(("junit" ,java-junit) | |
| 5242 | + | ("hamcrest" ,java-hamcrest-core) | |
| 5243 | + | ("guava" ,java-guava) | |
| 5244 | + | ("classworlds" ,java-plexus-classworlds) | |
| 5245 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5246 | + | ("container-default" ,java-plexus-container-default-bootstrap))) | |
| 5247 | + | (home-page "") | |
| 5248 | + | (synopsis "") | |
| 5249 | + | (description "") | |
| 5250 | + | (license license:asl2.0))) | |
| 5251 | + | ||
| 5252 | + | (define-public java-iq80-snappy | |
| 5253 | + | (package | |
| 5254 | + | (name "java-iq80-snappy") | |
| 5255 | + | (version "0.4") | |
| 5256 | + | (source (origin | |
| 5257 | + | (method url-fetch) | |
| 5258 | + | (uri (string-append "https://github.com/dain/snappy/archive/snappy-" | |
| 5259 | + | version ".tar.gz")) | |
| 5260 | + | (sha256 | |
| 5261 | + | (base32 | |
| 5262 | + | "0rb3zhci7w9wzd65lfnk7p3ip0n6gb58a9qpx8n7r0231gahyamf")))) | |
| 5263 | + | (build-system ant-build-system) | |
| 5264 | + | (arguments | |
| 5265 | + | `(#:jar-name "container-default.jar" | |
| 5266 | + | #:source-dir "src/main/java" | |
| 5267 | + | #:test-dir "src/test" | |
| 5268 | + | #:jdk ,icedtea-8 | |
| 5269 | + | #:test-exclude (list "**/Abstract*.java" | |
| 5270 | + | "**/SnappyFramedStreamTest.java"); No runnable method | |
| 5271 | + | #:phases | |
| 5272 | + | (modify-phases %standard-phases | |
| 5273 | + | (replace 'check | |
| 5274 | + | (lambda _ | |
| 5275 | + | (define (test class) | |
| 5276 | + | (zero? (system* "java" "-cp" (string-append (getenv "CLASSPATH") | |
| 5277 | + | ":build/classes" | |
| 5278 | + | ":build/test-classes") | |
| 5279 | + | "-Dtest.resources.dir=src/test/resources" | |
| 5280 | + | "org.testng.TestNG" "-testclass" | |
| 5281 | + | class))) | |
| 5282 | + | (system* "ant" "compile-tests") | |
| 5283 | + | (and | |
| 5284 | + | (test "org.iq80.snappy.SnappyFramedStreamTest") | |
| 5285 | + | (test "org.iq80.snappy.SnappyStreamTest")))) | |
| 5286 | + | ;(test "org.iq80.snappy.SnappyTest")))) | |
| 5287 | + | (add-before 'build 'remove-dep | |
| 5288 | + | (lambda _ | |
| 5289 | + | ;; We don't have hadoop | |
| 5290 | + | (delete-file "src/main/java/org/iq80/snappy/HadoopSnappyCodec.java") | |
| 5291 | + | (delete-file "src/test/java/org/iq80/snappy/TestHadoopSnappyCodec.java") | |
| 5292 | + | #t))))) | |
| 5293 | + | (home-page "https://github.com/dain/snappy") | |
| 5294 | + | (native-inputs | |
| 5295 | + | `(("guava" ,java-guava) | |
| 5296 | + | ("java-snappy" ,java-snappy) | |
| 5297 | + | ("hamcrest" ,java-hamcrest-core) | |
| 5298 | + | ("testng" ,java-testng))) | |
| 5299 | + | (synopsis "") | |
| 5300 | + | (description "") | |
| 5301 | + | (license license:asl2.0))) | |
| 5302 | + | ||
| 5303 | + | (define-public java-tukaani-xz | |
| 5304 | + | (package | |
| 5305 | + | (name "java-tukaani-xz") | |
| 5306 | + | (version "1.6") | |
| 5307 | + | (source (origin | |
| 5308 | + | (method url-fetch) | |
| 5309 | + | (uri (string-append "https://tukaani.org/xz/xz-java-" version ".zip")) | |
| 5310 | + | (sha256 | |
| 5311 | + | (base32 | |
| 5312 | + | "1z3p1ri1gvl07inxn0agx44ck8n7wrzfmvkz8nbq3njn8r9wba8x")))) | |
| 5313 | + | (build-system ant-build-system) | |
| 5314 | + | (arguments | |
| 5315 | + | `(#:tests? #f; no tests | |
| 5316 | + | #:phases | |
| 5317 | + | (modify-phases %standard-phases | |
| 5318 | + | (add-after 'unpack 'chdir | |
| 5319 | + | (lambda _ | |
| 5320 | + | ; The package is not unzipped in a subdirectory | |
| 5321 | + | (chdir ".."))) | |
| 5322 | + | (replace 'install | |
| 5323 | + | (lambda* (#:key outputs #:allow-other-keys) | |
| 5324 | + | ;; Do we want to install *Demo.jar? | |
| 5325 | + | (install-file "build/jar/xz.jar" | |
| 5326 | + | (string-append | |
| 5327 | + | (assoc-ref outputs "out") | |
| 5328 | + | "/share/java/xz.jar"))))))) | |
| 5329 | + | (native-inputs | |
| 5330 | + | `(("unzip" ,unzip))) | |
| 5331 | + | (home-page "https://tukaani.org") | |
| 5332 | + | (synopsis "") | |
| 5333 | + | (description "") | |
| 5334 | + | (license license:public-domain))) | |
| 5335 | + | ||
| 5336 | + | (define-public java-plexus-archiver | |
| 5337 | + | (package | |
| 5338 | + | (name "java-plexus-archiver") | |
| 5339 | + | (version "3.5") | |
| 5340 | + | (source (codehaus-plexus-origin | |
| 5341 | + | "plexus-archiver" version | |
| 5342 | + | "0iv1j7khra6icqh3jndng3iipfmkc7l5jq2y802cm8r575v75pyv" | |
| 5343 | + | "")) | |
| 5344 | + | (build-system ant-build-system) | |
| 5345 | + | (arguments | |
| 5346 | + | `(#:jar-name "container-default.jar" | |
| 5347 | + | #:source-dir "src/main/java" | |
| 5348 | + | #:jdk ,icedtea-8 | |
| 5349 | + | #:test-dir "src/test" | |
| 5350 | + | #:test-exclude (list "**/Abstract*.java" "**/Base*.java") | |
| 5351 | + | #:phases | |
| 5352 | + | (modify-phases %standard-phases | |
| 5353 | + | (add-before 'check 'remove-failing | |
| 5354 | + | (lambda _ | |
| 5355 | + | ;; Requires an older version of plexus container | |
| 5356 | + | (delete-file "src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java"))) | |
| 5357 | + | (add-before 'build 'copy-resources | |
| 5358 | + | (lambda _ | |
| 5359 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5360 | + | (copy-file "src/main/resources/META-INF/plexus/components.xml" | |
| 5361 | + | "build/classes/META-INF/plexus/components.xml") | |
| 5362 | + | #t))))) | |
| 5363 | + | (inputs | |
| 5364 | + | `(("utils" ,java-plexus-utils) | |
| 5365 | + | ("commons-io" ,java-commons-io) | |
| 5366 | + | ("snappy" ,java-iq80-snappy) | |
| 5367 | + | ("io" ,java-plexus-io) | |
| 5368 | + | ("compress" ,java-commons-compress) | |
| 5369 | + | ("container-default" ,java-plexus-container-default-bootstrap) | |
| 5370 | + | ("snappy" ,java-snappy) | |
| 5371 | + | ("java-jsr305" ,java-jsr305))) | |
| 5372 | + | (native-inputs | |
| 5373 | + | `(("junit" ,java-junit) | |
| 5374 | + | ("classworld" ,java-plexus-classworlds) | |
| 5375 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5376 | + | ("xz" ,java-tukaani-xz) | |
| 5377 | + | ("guava" ,java-guava))) | |
| 5378 | + | (home-page "") | |
| 5379 | + | (synopsis "") | |
| 5380 | + | (description "") | |
| 5381 | + | (license license:asl2.0))) | |
| 5382 | + | ||
| 5383 | + | (define-public java-plexus-container-default-bootstrap | |
| 5384 | + | (package | |
| 5385 | + | (name "java-plexus-container-default-bootstrap") | |
| 5386 | + | (version "1.7.1") | |
| 5387 | + | (source (codehaus-plexus-origin | |
| 5388 | + | "plexus-containers" version | |
| 5389 | + | "07l7wfi0kxnabd175yvbkilb26mndnba0a1g0ac1rpfagv3qpnzw" | |
| 5390 | + | "")) | |
| 5391 | + | (build-system ant-build-system) | |
| 5392 | + | (arguments | |
| 5393 | + | `(#:jar-name "container-default.jar" | |
| 5394 | + | #:source-dir "plexus-container-default/src/main/java" | |
| 5395 | + | #:test-dir "plexus-container-default/src/test" | |
| 5396 | + | #:jdk ,icedtea-8 | |
| 5397 | + | #:tests? #f; requires plexus-archiver, which depends on this package | |
| 5398 | + | #:phases | |
| 5399 | + | (modify-phases %standard-phases | |
| 5400 | + | (add-before 'build 'copy-resources | |
| 5401 | + | (lambda _ | |
| 5402 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5403 | + | (copy-file "plexus-container-default/src/main/resources/META-INF/plexus/components.xml" | |
| 5404 | + | "build/classes/META-INF/plexus/components.xml") | |
| 5405 | + | #t))))) | |
| 5406 | + | (inputs | |
| 5407 | + | `(("worldclass" ,java-plexus-classworlds) | |
| 5408 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5409 | + | ("utils" ,java-plexus-utils) | |
| 5410 | + | ("junit" ,java-junit) | |
| 5411 | + | ("guava" ,java-guava))) | |
| 5412 | + | (home-page "") | |
| 5413 | + | (synopsis "") | |
| 5414 | + | (description "") | |
| 5415 | + | (license license:asl2.0))) | |
| 5416 | + | ||
| 5417 | + | (define-public java-plexus-container-default | |
| 5418 | + | (package | |
| 5419 | + | (inherit java-plexus-container-default-bootstrap) | |
| 5420 | + | (name "java-plexus-container-default") | |
| 5421 | + | (arguments | |
| 5422 | + | `(#:jar-name "container-default.jar" | |
| 5423 | + | #:source-dir "plexus-container-default/src/main/java" | |
| 5424 | + | #:test-dir "plexus-container-default/src/test" | |
| 5425 | + | #:test-exclude (list "**/*Test.java" | |
| 5426 | + | "**/ComponentRealmCompositionTest.java") | |
| 5427 | + | #:jdk ,icedtea-8 | |
| 5428 | + | #:phases | |
| 5429 | + | (modify-phases %standard-phases | |
| 5430 | + | (add-before 'build 'copy-resources | |
| 5431 | + | (lambda _ | |
| 5432 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5433 | + | (copy-file "plexus-container-default/src/main/resources/META-INF/plexus/components.xml" | |
| 5434 | + | "build/classes/META-INF/plexus/components.xml") | |
| 5435 | + | #t)) | |
| 5436 | + | (add-before 'check 'fix-paths | |
| 5437 | + | (lambda _ | |
| 5438 | + | (substitute* "plexus-container-default/src/test/java/org/codehaus/plexus/component/composition/ComponentRealmCompositionTest.java" | |
| 5439 | + | (("src/test") "plexus-container-default/src/test"))))))) | |
| 5440 | + | (inputs | |
| 5441 | + | `(("worldclass" ,java-plexus-classworlds) | |
| 5442 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5443 | + | ("utils" ,java-plexus-utils) | |
| 5444 | + | ("junit" ,java-junit) | |
| 5445 | + | ("guava" ,java-guava))) | |
| 5446 | + | (native-inputs | |
| 5447 | + | `(("archiver" ,java-plexus-archiver) | |
| 5448 | + | ("hamcrest" ,java-hamcrest-core))))) | |
| 5449 | + | ||
| 5450 | + | (define-public java-plexus-component-annotations | |
| 5451 | + | (package | |
| 5452 | + | (inherit java-plexus-container-default) | |
| 5453 | + | (name "java-plexus-component-annotations") | |
| 5454 | + | (arguments | |
| 5455 | + | `(#:jar-name "plexus-component-annotations.jar" | |
| 5456 | + | #:source-dir "plexus-component-annotations/src/main/java" | |
| 5457 | + | #:tests? #f)); no tests | |
| 5458 | + | (inputs '()) | |
| 5459 | + | (native-inputs '()))) | |
| 5460 | + | ||
| 5461 | + | (define-public java-plexus-component-metadata | |
| 5462 | + | (package | |
| 5463 | + | (inherit java-plexus-container-default) | |
| 5464 | + | (name "java-plexus-component-metadata") | |
| 5465 | + | (arguments | |
| 5466 | + | `(#: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)) | |
| 5470 | + | (inputs | |
| 5471 | + | `(("container" ,java-plexus-container-default) | |
| 5472 | + | ("annotations" ,java-plexus-component-annotations) | |
| 5473 | + | ("utils" ,java-plexus-utils) | |
| 5474 | + | ("classworlds" ,java-plexus-classworlds) | |
| 5475 | + | ("cli" ,java-commons-cli) | |
| 5476 | + | ("qdox" ,java-qdox-1.12); TODO: package latest version | |
| 5477 | + | ("jdom2" ,java-jdom2) | |
| 5478 | + | ("asm" ,java-asm))) | |
| 5479 | + | (native-inputs '()))) | |
| 5480 | + | ||
| 5481 | + | (define-public java-sisu-build-api | |
| 5482 | + | (package | |
| 5483 | + | (name "java-sisu-build-api") | |
| 5484 | + | (version "0.0.7") | |
| 5485 | + | (source (origin | |
| 5486 | + | (method url-fetch) | |
| 5487 | + | (uri (string-append "https://github.com/sonatype/sisu-build-api/" | |
| 5488 | + | "archive/plexus-build-api-" version ".tar.gz")) | |
| 5489 | + | (sha256 | |
| 5490 | + | (base32 | |
| 5491 | + | "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2")))) | |
| 5492 | + | (build-system ant-build-system) | |
| 5493 | + | (arguments | |
| 5494 | + | `(#:jar-name "sisu-build-api.jar" | |
| 5495 | + | #:source-dir "src/main/java" | |
| 5496 | + | #:jdk ,icedtea-8 | |
| 5497 | + | #:tests? #f; I??don't know how to run these tests | |
| 5498 | + | #:phases | |
| 5499 | + | (modify-phases %standard-phases | |
| 5500 | + | (add-before 'build 'copy-resources | |
| 5501 | + | (lambda _ | |
| 5502 | + | (mkdir-p "build/classes/org/sonatype/plexus/build/incremental") | |
| 5503 | + | (copy-file "src/main/resources/org/sonatype/plexus/build/incremental/version.properties" | |
| 5504 | + | "build/classes/org/sonatype/plexus/build/incremental/version.properties") | |
| 5505 | + | #t)) | |
| 5506 | + | (add-before 'build 'generate-plexus-compontent | |
| 5507 | + | (lambda _ | |
| 5508 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5509 | + | ;; This file is required for plexus to inject this package. | |
| 5510 | + | ;; It is absent from the source code, so maybe it is generated? | |
| 5511 | + | (with-output-to-file "build/classes/META-INF/plexus/components.xml" | |
| 5512 | + | (lambda _ | |
| 5513 | + | (display | |
| 5514 | + | (string-append | |
| 5515 | + | "<component-set>\n" | |
| 5516 | + | " <components>\n" | |
| 5517 | + | " <component>\n" | |
| 5518 | + | " <role>org.sonatype.plexus.build.incremental.BuildContext</role>\n" | |
| 5519 | + | " <role-hint>default</role-hint>\n" | |
| 5520 | + | " <implementation>org.sonatype.plexus.build.incremental.DefaultBuildContext</implementation>\n" | |
| 5521 | + | " <description>Filesystem based non-incremental build context implementation which behaves as if all files\n" | |
| 5522 | + | "were just created.</description>\n" | |
| 5523 | + | " </component>\n" | |
| 5524 | + | " </components>\n" | |
| 5525 | + | "</component-set>\n"))))))))) | |
| 5526 | + | (inputs | |
| 5527 | + | `(("plexus-utils" ,java-plexus-utils) | |
| 5528 | + | ("plexus-container-default" ,java-plexus-container-default))) | |
| 5529 | + | (home-page "") | |
| 5530 | + | (synopsis "") | |
| 5531 | + | (description "") | |
| 5532 | + | (license license:asl2.0))) | |
| 5533 | + | ||
| 5534 | + | (define-public java-plexus-compiler-api | |
| 5535 | + | (package | |
| 5536 | + | (name "java-plexus-compiler-api") | |
| 5537 | + | (version "2.8.2") | |
| 5538 | + | (source (codehaus-plexus-origin | |
| 5539 | + | "plexus-compiler" version | |
| 5540 | + | "13lxk1yg8fzv4ihby1jmfjda60dkxx4rg89k9i6glddd78q1xl4h" | |
| 5541 | + | "")) | |
| 5542 | + | (build-system ant-build-system) | |
| 5543 | + | (arguments | |
| 5544 | + | `(#:jar-name "plexus-compiler-api.jar" | |
| 5545 | + | #:source-dir "plexus-compiler-api/src/main/java" | |
| 5546 | + | #:jdk ,icedtea-8 | |
| 5547 | + | #:test-dir "plexus-compiler-api/src/test")) | |
| 5548 | + | (inputs | |
| 5549 | + | `(("container" ,java-plexus-container-default) | |
| 5550 | + | ("util" ,java-plexus-utils))) | |
| 5551 | + | (native-inputs | |
| 5552 | + | `(("junit" ,java-junit))) | |
| 5553 | + | (home-page "") | |
| 5554 | + | (synopsis "") | |
| 5555 | + | (description "") | |
| 5556 | + | (license license:asl2.0))) | |
| 5557 | + | ||
| 5558 | + | (define-public java-plexus-compiler-javac | |
| 5559 | + | (package | |
| 5560 | + | (inherit java-plexus-compiler-api) | |
| 5561 | + | (name "java-plexus-compiler-javac") | |
| 5562 | + | (arguments | |
| 5563 | + | `(#:jar-name "plexus-compiler-javac.jar" | |
| 5564 | + | #:source-dir "plexus-compilers/plexus-compiler-javac/src/main/java" | |
| 5565 | + | #:jdk ,icedtea-8 | |
| 5566 | + | #:tests? #f; depends on compiler-test -> maven-core -> ... -> this package. | |
| 5567 | + | #:test-dir "plexus-compilers/plexus-compiler-javac/src/test")) | |
| 5568 | + | (inputs | |
| 5569 | + | `(("api" ,java-plexus-compiler-api) | |
| 5570 | + | ("utils" ,java-plexus-utils) | |
| 5571 | + | ("logging" ,java-plexus-container-default))) | |
| 5572 | + | (native-inputs | |
| 5573 | + | `(("junit" ,java-junit))))) | |
| 5574 | + | ||
| 5575 | + | (define-public java-modello-core | |
| 5576 | + | (package | |
| 5577 | + | (name "java-modello-core") | |
| 5578 | + | (version "1.9.1") | |
| 5579 | + | (source (codehaus-plexus-origin | |
| 5580 | + | "modello" version | |
| 5581 | + | "1nqa1arvyc84i8wn3vk08k46vf8bpqqnf5a6szdj2lc3s1yamlv8" | |
| 5582 | + | "")) ;; no prefix | |
| 5583 | + | (build-system ant-build-system) | |
| 5584 | + | (arguments | |
| 5585 | + | `(#:jar-name "modello-core.jar" | |
| 5586 | + | #:source-dir "modello-core/src/main/java" | |
| 5587 | + | #:test-dir "modello-core/src/test" | |
| 5588 | + | #:main-class "org.codehaus.modello.ModelloCli" | |
| 5589 | + | #:jdk ,icedtea-8 | |
| 5590 | + | #:phases | |
| 5591 | + | (modify-phases %standard-phases | |
| 5592 | + | (add-before 'build 'copy-resources | |
| 5593 | + | (lambda _ | |
| 5594 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 5595 | + | (copy-file "modello-core/src/main/resources/META-INF/plexus/components.xml" | |
| 5596 | + | "build/classes/META-INF/plexus/components.xml") | |
| 5597 | + | #t)) | |
| 5598 | + | (add-before 'check 'fix-tests | |
| 5599 | + | (lambda _ | |
| 5600 | + | (substitute* '("modello-core/src/test/java/org/codehaus/modello/core/DefaultModelloCoreTest.java" | |
| 5601 | + | "modello-core/src/test/java/org/codehaus/modello/core/io/ModelReaderTest.java") | |
| 5602 | + | (("src/test") "modello-core/src/test"))))))) | |
| 5603 | + | (inputs | |
| 5604 | + | `(("plexus-utils" ,java-plexus-utils) | |
| 5605 | + | ("container" ,java-plexus-container-default-bootstrap) | |
| 5606 | + | ("sisu" ,java-sisu-build-api))) | |
| 5607 | + | (native-inputs | |
| 5608 | + | `(("junit" ,java-junit) | |
| 5609 | + | ("classworlds" ,java-plexus-classworlds) | |
| 5610 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5611 | + | ("guava" ,java-guava))) | |
| 5612 | + | (home-page "http://codehaus-plexus.github.io/modello/") | |
| 5613 | + | (synopsis "") | |
| 5614 | + | (description "") | |
| 5615 | + | (license license:asl2.0))) | |
| 5616 | + | ||
| 5617 | + | (define-public java-modello-plugins-java | |
| 5618 | + | (package | |
| 5619 | + | (inherit java-modello-core) | |
| 5620 | + | (name "java-modello-plugins-java") | |
| 5621 | + | (arguments | |
| 5622 | + | `(#:jar-name "modello-plugins-java.jar" | |
| 5623 | + | #:source-dir "modello-plugins/modello-plugin-java/src/main/java" | |
| 5624 | + | #:test-dir "modello-plugins/modello-plugin-java/src/test" | |
| 5625 | + | #:jdk ,icedtea-8 | |
| 5626 | + | #:tests? #f; requires maven-model, which depends on this package | |
| 5627 | + | #:phases | |
| 5628 | + | (modify-phases %standard-phases | |
| 5629 | + | (add-before 'build 'copy-resources | |
| 5630 | + | (lambda _ | |
| 5631 | + | (mkdir-p "build/classes") | |
| 5632 | + | (copy-recursively "modello-plugins/modello-plugin-java/src/main/resources" | |
| 5633 | + | "build/classes") | |
| 5634 | + | #t))))) | |
| 5635 | + | (inputs | |
| 5636 | + | `(("core" ,java-modello-core) | |
| 5637 | + | ,@(package-inputs java-modello-core))))) | |
| 5638 | + | ||
| 5639 | + | (define-public java-modello-plugins-xml | |
| 5640 | + | (package | |
| 5641 | + | (inherit java-modello-core) | |
| 5642 | + | (name "java-modello-plugins-xml") | |
| 5643 | + | (arguments | |
| 5644 | + | `(#:jar-name "modello-plugins-xml.jar" | |
| 5645 | + | #:source-dir "modello-plugins/modello-plugin-xml/src/main/java" | |
| 5646 | + | #:test-dir "modello-plugins/modello-plugin-xml/src/test" | |
| 5647 | + | #:jdk ,icedtea-8 | |
| 5648 | + | #:phases | |
| 5649 | + | (modify-phases %standard-phases | |
| 5650 | + | (add-before 'build 'copy-resources | |
| 5651 | + | (lambda _ | |
| 5652 | + | (mkdir-p "build/classes") | |
| 5653 | + | (copy-recursively "modello-plugins/modello-plugin-xml/src/main/resources" | |
| 5654 | + | "build/classes") | |
| 5655 | + | #t)) | |
| 5656 | + | (add-before 'check 'fix-paths | |
| 5657 | + | (lambda _ | |
| 5658 | + | (substitute* "modello-plugins/modello-plugin-xml/src/test/java/org/codehaus/modello/plugins/xml/XmlModelloPluginTest.java" | |
| 5659 | + | (("src/test") "modello-plugins/modello-plugin-xml/src/test"))))))) | |
| 5660 | + | (inputs | |
| 5661 | + | `(("core" ,java-modello-core) | |
| 5662 | + | ("java" ,java-modello-plugins-java) | |
| 5663 | + | ,@(package-inputs java-modello-core))))) | |
| 5664 | + | ||
| 5665 | + | (define-public java-modello-test | |
| 5666 | + | (package | |
| 5667 | + | (inherit java-modello-core) | |
| 5668 | + | (name "java-modello-test") | |
| 5669 | + | (arguments | |
| 5670 | + | `(#:jar-name "modello-test.jar" | |
| 5671 | + | #:source-dir "modello-test/src/main/java" | |
| 5672 | + | #:tests? #f; no tests | |
| 5673 | + | #:jdk ,icedtea-8)) | |
| 5674 | + | (inputs | |
| 5675 | + | `(("utils" ,java-plexus-utils) | |
| 5676 | + | ("compiler-api" ,java-plexus-compiler-api) | |
| 5677 | + | ("compiler-javac" ,java-plexus-compiler-javac) | |
| 5678 | + | ("container" ,java-plexus-container-default))))) | |
| 5679 | + | ||
| 5680 | + | (define-public java-modello-plugins-xpp3 | |
| 5681 | + | (package | |
| 5682 | + | (inherit java-modello-core) | |
| 5683 | + | (name "java-modello-plugins-xpp3") | |
| 5684 | + | (arguments | |
| 5685 | + | `(#:jar-name "modello-plugins-xpp3.jar" | |
| 5686 | + | #:source-dir "modello-plugins/modello-plugin-xpp3/src/main/java" | |
| 5687 | + | #:test-dir "modello-plugins/modello-plugin-xpp3/src/test" | |
| 5688 | + | #:tests? #f; I can find some of its dependencies, for instance org.codehaus.modello.test.features.io.xpp3.ModelloFeaturesTestXpp3Reader | |
| 5689 | + | #:jdk ,icedtea-8 | |
| 5690 | + | #:phases | |
| 5691 | + | (modify-phases %standard-phases | |
| 5692 | + | (add-before 'build 'copy-resources | |
| 5693 | + | (lambda _ | |
| 5694 | + | (mkdir-p "build/classes") | |
| 5695 | + | (copy-recursively "modello-plugins/modello-plugin-xpp3/src/main/resources" | |
| 5696 | + | "build/classes") | |
| 5697 | + | #t))))) | |
| 5698 | + | (inputs | |
| 5699 | + | `(("core" ,java-modello-core) | |
| 5700 | + | ("java" ,java-modello-plugins-java) | |
| 5701 | + | ("xml" ,java-modello-plugins-xml) | |
| 5702 | + | ,@(package-inputs java-modello-core))) | |
| 5703 | + | (native-inputs | |
| 5704 | + | `(("xmlunit" ,java-xmlunit) | |
| 5705 | + | ("test" ,java-modello-test) | |
| 5706 | + | ,@(package-native-inputs java-modello-core))))) | |
| 5707 | + | ||
| 5708 | + | (define-public java-plexus-cipher | |
| 5709 | + | (package | |
| 5710 | + | (name "java-plexus-cipher") | |
| 5711 | + | (version "1.7") | |
| 5712 | + | (source (codehaus-plexus-origin | |
| 5713 | + | "cipher" version | |
| 5714 | + | "1j3r8xzlxlk340snkjp6lk2ilkxlkn8qavsfiq01f43xmvv8ymk3")) | |
| 5715 | + | (build-system ant-build-system) | |
| 5716 | + | (arguments | |
| 5717 | + | `(#:jar-name "plexus-cipher.jar" | |
| 5718 | + | #:source-dir "src/main/java" | |
| 5719 | + | #:jdk ,icedtea-8 | |
| 5720 | + | #:tests? #f; TODO: org.sonatype.guice.bean.containers.InjectedTestCase | |
| 5721 | + | #:phases | |
| 5722 | + | (modify-phases %standard-phases | |
| 5723 | + | (add-before 'build 'copy-resources | |
| 5724 | + | (lambda _ | |
| 5725 | + | (copy-recursively "src/main/resources" "build/classes")))))) | |
| 5726 | + | (inputs | |
| 5727 | + | `(("cdi-api" ,java-cdi-api) | |
| 5728 | + | ("inject" ,java-javax-inject))) | |
| 5729 | + | (home-page "http://codehaus-plexus.github.io/plexus-cipher/") | |
| 5730 | + | (synopsis "Encryption/decryption Component") | |
| 5731 | + | (description "") | |
| 5732 | + | (license license:asl2.0))) | |
| 5733 | + | ||
| 5734 | + | (define-public java-plexus-sec-dispatcher | |
| 5735 | + | (package | |
| 5736 | + | (name "java-plexus-sec-dispatcher") | |
| 5737 | + | (version "1.4") ;; Newest release listed at the Maven Central Repository. | |
| 5738 | + | (source (origin | |
| 5739 | + | ;; This project doesn't tag releases or publish tarballs, so we take | |
| 5740 | + | ;; the "prepare release plexus-sec-dispatcher-1.4" git commit. | |
| 5741 | + | (method url-fetch) | |
| 5742 | + | (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/" | |
| 5743 | + | "archive/" "7db8f88048" ".tar.gz")) | |
| 5744 | + | (sha256 | |
| 5745 | + | (base32 | |
| 5746 | + | "1nvlwj2090nn7f0144pyamp3lfygahlcp09dx0faqgla57lr11hj")) | |
| 5747 | + | (file-name (string-append name "-" version ".tar.gz")))) | |
| 5748 | + | (arguments | |
| 5749 | + | `(#:jar-name "plexus-sec-dispatcher.jar" | |
| 5750 | + | #:source-dir "src/main/java" | |
| 5751 | + | #:jdk ,icedtea-8 | |
| 5752 | + | #:phases | |
| 5753 | + | (modify-phases %standard-phases | |
| 5754 | + | (add-before 'build 'generate-models | |
| 5755 | + | (lambda* (#:key inputs #:allow-other-keys) | |
| 5756 | + | (define (modello-single-mode file version mode) | |
| 5757 | + | (zero? (system* "java" | |
| 5758 | + | "org.codehaus.modello.ModelloCli" | |
| 5759 | + | file mode "src/main/java" version | |
| 5760 | + | "false" "true"))) | |
| 5761 | + | (let ((file "src/main/mdo/settings-security.mdo")) | |
| 5762 | + | (and | |
| 5763 | + | (modello-single-mode file "1.0.0" "java") | |
| 5764 | + | (modello-single-mode file "1.0.0" "xpp3-reader") | |
| 5765 | + | (modello-single-mode file "1.0.0" "xpp3-writer"))))) | |
| 5766 | + | (add-before 'check 'fix-paths | |
| 5767 | + | (lambda _ | |
| 5768 | + | (mkdir-p "target") | |
| 5769 | + | (copy-file "src/test/resources/test-sec.xml" | |
| 5770 | + | "target/sec.xml")))))) | |
| 5771 | + | (inputs | |
| 5772 | + | `(("cipher" ,java-plexus-cipher))) | |
| 5773 | + | (native-inputs | |
| 5774 | + | `(("modello" ,java-modello-core) | |
| 5775 | + | ;; for modello: | |
| 5776 | + | ("container" ,java-plexus-container-default) | |
| 5777 | + | ("classworlds" ,java-plexus-classworlds) | |
| 5778 | + | ("utils" ,java-plexus-utils) | |
| 5779 | + | ("guava" ,java-guava) | |
| 5780 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5781 | + | ("build-api" ,java-sisu-build-api) | |
| 5782 | + | ;; modello plugins: | |
| 5783 | + | ("java" ,java-modello-plugins-java) | |
| 5784 | + | ("xml" ,java-modello-plugins-xml) | |
| 5785 | + | ("xpp3" ,java-modello-plugins-xpp3) | |
| 5786 | + | ;; for tests | |
| 5787 | + | ("junit" ,java-junit))) | |
| 5788 | + | (build-system ant-build-system) | |
| 5789 | + | (home-page "http://spice.sonatype.org/plexus-sec-dispatcher/") | |
| 5790 | + | (synopsis "Plexus Security Dispatcher Component") | |
| 5791 | + | (description "") | |
| 5792 | + | (license license:asl2.0))) | |
| 5793 | + | ||
| 5794 | + | (define-public java-eclipse-aether-api | |
| 5795 | + | (package | |
| 5796 | + | (name "java-eclipse-aether-api") | |
| 5797 | + | (version "1.0.2") | |
| 5798 | + | (source (origin | |
| 5799 | + | (method url-fetch) | |
| 5800 | + | (uri (string-append "https://github.com/eclipse/aether-core/" | |
| 5801 | + | "archive/aether-1.0.2.v20150114.tar.gz")) | |
| 5802 | + | (sha256 | |
| 5803 | + | (base32 | |
| 5804 | + | "192x32hlyxs4p6xzaz1r1jrsqqr56akcl0lncq3av1zpbil6kqhh")))) | |
| 5805 | + | (build-system ant-build-system) | |
| 5806 | + | (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") | |
| 5814 | + | (synopsis "") | |
| 5815 | + | (description "") | |
| 5816 | + | (license license:asl2.0))) | |
| 5817 | + | ||
| 5818 | + | (define-public maven | |
| 5819 | + | (package | |
| 5820 | + | (name "maven") | |
| 5821 | + | (version "3.3.9") | |
| 5822 | + | (source (origin | |
| 5823 | + | (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")))) | |
| 5830 | + | (build-system ant-build-system) | |
| 5831 | + | (arguments | |
| 5832 | + | `(#:jar-name "maven.jar" | |
| 5833 | + | #:source-dir "apache-maven")) | |
| 5834 | + | (home-page "") | |
| 5835 | + | (synopsis "") | |
| 5836 | + | (description "") | |
| 5837 | + | (license license:asl2.0))) | |
| 5838 | + | ||
| 5839 | + | (define-public maven-artifact | |
| 5840 | + | (package | |
| 5841 | + | (inherit maven) | |
| 5842 | + | (name "maven-artifact") | |
| 5843 | + | (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")) | |
| 5848 | + | (inputs | |
| 5849 | + | `(("java-plexus-utils" ,java-plexus-utils) | |
| 5850 | + | ("java-commons-lang3" ,java-commons-lang3))) | |
| 5851 | + | (native-inputs | |
| 5852 | + | `(("junit" ,java-junit))))) | |
| 5853 | + | ||
| 5854 | + | (define-public maven-model | |
| 5855 | + | (package | |
| 5856 | + | (inherit maven) | |
| 5857 | + | (name "maven-model") | |
| 5858 | + | (arguments | |
| 5859 | + | `(#:jar-name "maven-model.jar" | |
| 5860 | + | #:source-dir "maven-model/src/main/java" | |
| 5861 | + | #:test-dir "maven-model/src/test" | |
| 5862 | + | #:jdk ,icedtea-8 | |
| 5863 | + | #:phases | |
| 5864 | + | (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")))))))) | |
| 5878 | + | (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))))) | |
| 5895 | + | ||
| 5896 | + | (define-public maven-settings | |
| 5897 | + | (package | |
| 5898 | + | (inherit maven) | |
| 5899 | + | (name "maven-settings") | |
| 5900 | + | (arguments | |
| 5901 | + | `(#:jar-name "maven-settings.jar" | |
| 5902 | + | #:source-dir "maven-settings/src/main/java" | |
| 5903 | + | #:jdk ,icedtea-8 | |
| 5904 | + | #:tests? #f; no tests | |
| 5905 | + | #:phases | |
| 5906 | + | (modify-phases %standard-phases | |
| 5907 | + | (add-before 'build 'generate-models | |
| 5908 | + | (lambda* (#:key inputs #:allow-other-keys) | |
| 5909 | + | (define (modello-single-mode file version mode) | |
| 5910 | + | (zero? (system* "java" | |
| 5911 | + | "org.codehaus.modello.ModelloCli" | |
| 5912 | + | file mode "maven-settings/src/main/java" version | |
| 5913 | + | "false" "true"))) | |
| 5914 | + | (let ((file "maven-settings/src/main/mdo/settings.mdo")) | |
| 5915 | + | (and | |
| 5916 | + | (modello-single-mode file "1.1.0" "java") | |
| 5917 | + | (modello-single-mode file "1.1.0" "xpp3-reader") | |
| 5918 | + | (modello-single-mode file "1.1.0" "xpp3-writer")))))))) | |
| 5919 | + | (native-inputs | |
| 5920 | + | `(("modello" ,java-modello-core) | |
| 5921 | + | ;; for modello: | |
| 5922 | + | ("container" ,java-plexus-container-default) | |
| 5923 | + | ("classworlds" ,java-plexus-classworlds) | |
| 5924 | + | ("utils" ,java-plexus-utils) | |
| 5925 | + | ("guava" ,java-guava) | |
| 5926 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 5927 | + | ("build-api" ,java-sisu-build-api) | |
| 5928 | + | ;; modello plugins: | |
| 5929 | + | ("java" ,java-modello-plugins-java) | |
| 5930 | + | ("xml" ,java-modello-plugins-xml) | |
| 5931 | + | ("xpp3" ,java-modello-plugins-xpp3))))) | |
| 5932 | + | ||
| 5933 | + | (define-public maven-builder-support | |
| 5934 | + | (package | |
| 5935 | + | (inherit maven) | |
| 5936 | + | (name "maven-builder-support") | |
| 5937 | + | (arguments | |
| 5938 | + | `(#:jar-name "maven-builder-support.jar" | |
| 5939 | + | #:source-dir "maven-builder-support/src/main/java" | |
| 5940 | + | #:jdk ,icedtea-8 | |
| 5941 | + | #:test-dir "maven-builder-support/src/test" | |
| 5942 | + | #:phases | |
| 5943 | + | (modify-phases %standard-phases | |
| 5944 | + | (add-before 'check 'fix-paths | |
| 5945 | + | (lambda _ | |
| 5946 | + | (substitute* '("maven-builder-support/src/test/java/org/apache/maven/building/FileSourceTest.java" | |
| 5947 | + | "maven-builder-support/src/test/java/org/apache/maven/building/UrlSourceTest.java") | |
| 5948 | + | (("target/test-classes") "maven-builder-support/src/test/resources")) | |
| 5949 | + | #t))))) | |
| 5950 | + | (inputs | |
| 5951 | + | `(("utils" ,java-plexus-utils) | |
| 5952 | + | ("lang3" ,java-commons-lang3))) | |
| 5953 | + | (native-inputs | |
| 5954 | + | `(("junit" ,java-junit) | |
| 5955 | + | ("hamcrest" ,java-hamcrest-core))))) | |
| 5956 | + | ||
| 5957 | + | (define-public maven-settings-builder | |
| 5958 | + | (package | |
| 5959 | + | (inherit maven) | |
| 5960 | + | (name "maven-settings-builder") | |
| 5961 | + | (arguments | |
| 5962 | + | `(#:jar-name "maven-settings-builder.jar" | |
| 5963 | + | #:source-dir "maven-settings-builder/src/main/java" | |
| 5964 | + | #:jdk ,icedtea-8 | |
| 5965 | + | #:test-dir "maven-settings-builder/src/test")) | |
| 5966 | + | (inputs | |
| 5967 | + | `(("utils" ,java-plexus-utils) | |
| 5968 | + | ("annotations" ,java-plexus-component-annotations) | |
| 5969 | + | ("interpolation" ,java-plexus-interpolation) | |
| 5970 | + | ("sec-dispatcher" ,java-plexus-sec-dispatcher) | |
| 5971 | + | ("support" ,maven-builder-support) | |
| 5972 | + | ("settings" ,maven-settings) | |
| 5973 | + | ("lang3" ,java-commons-lang3))) | |
| 5974 | + | (native-inputs | |
| 5975 | + | `(("junit" ,java-junit))))) | |
| 5976 | + | ||
| 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 | + | ||
| 5993 | + | (define-public maven-plugin-api | |
| 5994 | + | (package | |
| 5995 | + | (inherit maven) | |
| 5996 | + | (name "maven-plugin-api") | |
| 5997 | + | (arguments | |
| 5998 | + | `(#:jar-name "maven-plugin-api.jar" | |
| 5999 | + | #:source-dir "maven-plugin-api/src/main/java" | |
| 6000 | + | #:jdk ,icedtea-8 | |
| 6001 | + | #:test-dir "maven-plugin-api/test")) | |
| 6002 | + | (inputs | |
| 6003 | + | `(("artifact" ,maven-artifact) | |
| 6004 | + | ("container" ,java-plexus-container-default) | |
| 6005 | + | ("utils" ,java-plexus-utils))) | |
| 6006 | + | (native-inputs '()))) | |
| 6007 | + | ||
| 6008 | + | (define-public maven-model-builder | |
| 6009 | + | (package | |
| 6010 | + | (inherit maven) | |
| 6011 | + | (name "maven-model-builder") | |
| 6012 | + | (arguments | |
| 6013 | + | `(#:jar-name "maven-model-builder.jar" | |
| 6014 | + | #:source-dir "maven-model-builder/src/main/java" | |
| 6015 | + | #:jdk ,icedtea-8 | |
| 6016 | + | #:test-dir "maven-model-builder/src/test" | |
| 6017 | + | #:phases | |
| 6018 | + | (modify-phases %standard-phases | |
| 6019 | + | (add-before 'build 'copy-resources | |
| 6020 | + | (lambda _ | |
| 6021 | + | (copy-recursively "maven-model-builder/src/main/resources" | |
| 6022 | + | "build/classes"))) | |
| 6023 | + | (add-before 'build 'generate-components.xml | |
| 6024 | + | (lambda _ | |
| 6025 | + | (mkdir-p "build/classes/META-INF/plexus") | |
| 6026 | + | (chmod "components.sh" #o755) | |
| 6027 | + | (zero? (system* "./components.sh" "maven-model-builder/src/main/java" | |
| 6028 | + | "build/classes/META-INF/plexus/components.xml")))) | |
| 6029 | + | (add-before 'check 'fix-paths | |
| 6030 | + | (lambda _ | |
| 6031 | + | (substitute* (find-files "maven-model-builder/src/test/java" ".*.java") | |
| 6032 | + | (("src/test") "maven-model-builder/src/test")) | |
| 6033 | + | #t))))) | |
| 6034 | + | (inputs | |
| 6035 | + | `(("model" ,maven-model) | |
| 6036 | + | ("artifact" ,maven-artifact) | |
| 6037 | + | ("support" ,maven-builder-support) | |
| 6038 | + | ("annotations" ,java-plexus-component-annotations) | |
| 6039 | + | ("utils" ,java-plexus-utils) | |
| 6040 | + | ("interpolation" ,java-plexus-interpolation) | |
| 6041 | + | ("lang3" ,java-commons-lang3) | |
| 6042 | + | ("guava" ,java-guava))) | |
| 6043 | + | (native-inputs | |
| 6044 | + | `(("junit" ,java-junit) | |
| 6045 | + | ("hamcrest" ,java-hamcrest-core) | |
| 6046 | + | ("container" ,java-plexus-container-default) | |
| 6047 | + | ("xmlunit" ,java-xmlunit) | |
| 6048 | + | ("xmlunit" ,java-xmlunit-legacy) | |
| 6049 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 6050 | + | ("classworlds" ,java-plexus-classworlds))))) | |
| 6051 | + | ||
| 6052 | + | (define-public maven-core | |
| 6053 | + | (package | |
| 6054 | + | (inherit maven) | |
| 6055 | + | (name "maven-core") | |
| 6056 | + | (arguments | |
| 6057 | + | `(#:jar-name "maven-core.jar" | |
| 6058 | + | #:source-dir "maven-core/src/main/java" | |
| 6059 | + | #:jdk ,icedtea-8 | |
| 6060 | + | #:test-dir "maven-core/src/test" | |
| 6061 | + | #:phases | |
| 6062 | + | (modify-phases %standard-phases | |
| 6063 | + | (add-before 'build 'generate-models | |
| 6064 | + | (lambda* (#:key inputs #:allow-other-keys) | |
| 6065 | + | (define (modello-single-mode file version mode) | |
| 6066 | + | (zero? (system* "java" | |
| 6067 | + | "org.codehaus.modello.ModelloCli" | |
| 6068 | + | file mode "maven-core/src/main/java" version | |
| 6069 | + | "false" "true"))) | |
| 6070 | + | (let ((file "maven-core/src/main/mdo/toolchains.mdo")) | |
| 6071 | + | (and | |
| 6072 | + | (modello-single-mode file "1.1.0" "java") | |
| 6073 | + | (modello-single-mode file "1.1.0" "xpp3-reader") | |
| 6074 | + | (modello-single-mode file "1.1.0" "xpp3-writer")))))))) | |
| 6075 | + | (inputs | |
| 6076 | + | `(("artifact" ,maven-artifact) | |
| 6077 | + | ("model" ,maven-model) | |
| 6078 | + | ("model-builder" ,maven-model-builder) | |
| 6079 | + | ("settings" ,maven-settings) | |
| 6080 | + | ("settings-builder" ,maven-settings-builder) | |
| 6081 | + | ("container" ,java-plexus-container-default) | |
| 6082 | + | ("annotations" ,java-plexus-component-annotations) | |
| 6083 | + | ("utils" ,java-plexus-utils) | |
| 6084 | + | ("lang3" ,java-commons-lang3) | |
| 6085 | + | ("guava" ,java-guava) | |
| 6086 | + | ("aether" ,java-eclipse-aether-api) | |
| 6087 | + | ("java-javax-inject" ,java-javax-inject) | |
| 6088 | + | ("classworld" ,java-plexus-classworlds))) | |
| 6089 | + | (native-inputs | |
| 6090 | + | `(("modello" ,java-modello-core) | |
| 6091 | + | ("classworlds" ,java-plexus-classworlds) | |
| 6092 | + | ("xbean" ,java-geronimo-xbean-reflect) | |
| 6093 | + | ("build-api" ,java-sisu-build-api) | |
| 6094 | + | ("java" ,java-modello-plugins-java) | |
| 6095 | + | ("xml" ,java-modello-plugins-xml) | |
| 6096 | + | ("xpp3" ,java-modello-plugins-xpp3))))) |