]> git.pld-linux.org Git - packages/maven.git/blob - maven.spec
- in PLD it is just maven, not maven2
[packages/maven.git] / maven.spec
1 %bcond_with itests
2 %bcond_without bootstrap
3 %bcond_without repolib
4
5 %define repodir %{_javadir}/repository.jboss.com/org/apache/maven/%{version}-brew
6 %define repodirlib %{repodir}/lib
7 %define repodirsrc %{repodir}/src
8
9 %define repo_dir m2_home_local/repository
10 %define maven_settings_file %{_builddir}/%{name}/settings.xml
11
12 Name:           maven
13 Version:        2.0.8
14 Release:        %{bootstrap_release %rel}
15 Summary:        Java project management and project comprehension tool
16
17 Group:          Development/Languages/Java
18 License:        Apache v2
19 URL:            http://maven.apache.org/
20
21 %define srcurl  http://execve.pl/PLD/maven
22 # svn export http://svn.apache.org/repos/asf/maven/components/tags/maven-%{version} maven
23 # tar czf maven-src.tar.gz maven
24 Source0:                %{srcurl}/%{name}-src.tar.gz
25 # Source0-md5:  8db6e8515fe317f635befa39b074016a
26
27 # svn export -r {2007-03-31} http://svn.apache.org/repos/asf/maven/plugins/trunk maven-plugins
28 # tar czf maven-plugins-070331-src.tar.gz maven-plugins
29 Source2:                %{srcurl}/%{name}-plugins-070705-src.tar.gz
30 # Source2-md5:  7e9d3175131910d64c95fdf4d60651fa
31
32 # We need to replace the javadoc plugin as the 2.3-SNAPSHOT included above 
33 # has several bugs
34 # svn export http://svn.apache.org/repos/asf/maven/plugins/tags/maven-javadoc-plugin-2.4 maven-javadoc-plugin
35 Source22:               %{srcurl}/maven-javadoc-plugin-2.4-src.tar.gz
36 # Source22-md5: c3c1014b8548f94f91f3b679a5500e4b
37
38 # No source location for these. They are ascii files generated from maven
39 # repositories, and are not in cvs/svn
40 # The files were originally aquired from: http://repo1.maven.org/maven2/
41 Source3:                %{srcurl}/m2_pom_repo.tar.gz
42 # Source3-md5:  a4b18868658fe3e3c58d0f4e9bf66bee
43
44 # As with above, these files are from the maven repositories, and are not in 
45 # cvs/svn
46 # The files were originally aquired from: http://repo1.maven.org/maven2/
47 Source4:                %{srcurl}/m2_jar_repo.tar.gz
48 # Source4-md5:  00976d79948c93be23cdda62300dc8c2
49 Source5:                %{name}-script
50
51 Source6:                maven-JPackageRepositoryLayout.java
52 Source7:                maven-settings.xml
53
54 # svn export -r '{2006-03-08}' http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-site-plugin maven-site-plugin
55 # tar czf maven-maven-site-plugin.tar.gz maven-site-plugin 
56 Source8:        %{srcurl}/%{name}-maven-site-plugin.tar.gz
57 # Source8-md5:  2ba3a4baeb3d4d9d7b8121a6ae05578d
58
59 Source9:        %{name}-run-it-tests.sh
60
61 # svn export http://svn.apache.org/repos/asf/maven/components/tags/maven-2.0.8/maven-model
62 # cd maven-model
63 # mvn -P all-models package 
64 # Find model jar in target/maven-model-2.0.8.jar
65 Source10:       %{name}-model-v3.jar
66 Source11:       %{name}-MavenJPackageDepmap.java
67 Source12:       %{name}-addjdom-depmap.xml
68 Source13:       %{name}-empty-dep.pom
69
70 # Empty jar file with just a manifest. No source destination to specify
71 Source14:       %{name}-empty-dep.jar
72 Source15:       %{name}-jpp-script
73 Source16:       %{name}-jpp-readme.html
74 Source17:       %{name}-versionless-depmap.xml
75
76 Source99:               maven-doxia-modules.pom
77 Source100:              maven-component-info.xml
78
79 Patch0:         maven-addjdomtobootstrappath.patch
80 Patch1:         %{name}-jpprepolayout.patch
81 Patch2:         %{name}-fastjar-manifest-fix.patch
82 Patch3:         %{name}-plugins-doxiaupdatefix.patch
83 Patch4:         %{name}-plugins-catch-uncaught-exceptions.patch
84 Patch5:         %{name}-plugins-dependency-plugin-import-fix.patch
85 Patch6:         %{name}-%{version}-excludeexternaljars.patch
86 Patch7:         %{name}-site-plugin-addservletdep.patch
87 Patch8:         %{name}-enable-bootstrap-repository.patch
88 Patch9:         %{name}-use-unversioned-classworlds.patch
89 Patch10:        %{name}-plugins-disablecobertura.patch
90 Patch11:        %{name}-shade-plugin-replacement.patch
91 Patch12:        %{name}-sourcetarget.patch
92 Patch13:        %{name}-plugins-MJAVADOC-137-AbstractJavadocMojo.patch
93 # The maven javadoc plugin 2.5 pre-reqs maven 2.0.9, we lower to 2.0.8
94 Patch14:        %{name}-javadoc-plugin-pom.patch
95 # javadoc 2.4 uses an old doxia method
96 Patch15:        %{name}-plugins-javadoc-newdoxia.patch
97 # This plugin can't cope with a JAR without a JDK version on it
98 Patch16:        %{name}-plugins-project-info-reports-jdkversion.patch
99 Patch17:        %{name}-MNG-3139.patch
100 Patch18:        %{name}-plugins-jpprepolayout.patch
101 Patch19:        %{name}-plugins-disableenforcer.patch
102 Patch20:        %{name}-commons-cli-1.1.patch
103
104 ### PLDIZED DEPENDENCIES {{{
105 ### BRs {{{
106 BuildRequires:  ant >= 1.6.5
107 BuildRequires:  ant-junit
108 BuildRequires:  antlr >= 2.7.4
109 BuildRequires:  ant-nodeps
110 BuildRequires:  java-bsh >= 1.3.0
111 BuildRequires:  java-commons-beanutils >= 1.7.0
112 BuildRequires:  java-commons-cli >= 1.0
113 BuildRequires:  java-commons-collections >= 3.1
114 BuildRequires:  java-commons-io >= 1.1
115 BuildRequires:  java-commons-lang >= 2.1
116 BuildRequires:  java-commons-logging >= 1.0.4
117 BuildRequires:  java-commons-validator >= 1.1.4
118 BuildRequires:  java-dom4j >= 1.6.1
119 BuildRequires:  java-gnu-regexp >= 1.1.4
120 BuildRequires:  java-httpunit >= 1.6
121 BuildRequires:  java-jdom >= 1.0
122 BuildRequires:  java-junit >= 3.8.2
123 BuildRequires:  java-oro >= 2.0.8
124 BuildRequires:  java-qdox >= 1.5
125 BuildRequires:  java-rhino >= 1.5
126 BuildRequires:  java-xalan >= 2.6.0
127 BuildRequires:  java-xerces >= 2.7.1
128 BuildRequires:  java-xmlunit
129 BuildRequires:  java-xom
130 %{buildrequires_jdk}
131 BuildRequires:  jpackage-utils >= 0:1.7.2
132 BuildRequires:  rpmbuild(macros) >= 1.557
133 BuildRequires:  sed >= 4.0
134 %if %{with itests}
135 BuildRequires:  java-log4j >= 1.2.13
136 BuildRequires:  java(xml-commons-apis) >= 1.3.02
137 %endif
138 ### }}}
139
140 ### Rs {{{
141 Requires:       ant >= 1.6.5
142 Requires:       antlr >= 2.7.4
143 Requires:       java-bsh >= 1.3.0
144 Requires:       java-commons-beanutils >= 1.7.0
145 Requires:       java-commons-cli >= 1.0
146 Requires:       java-commons-collections >= 3.1
147 Requires:       java-commons-io >= 1.1
148 Requires:       java-commons-lang >= 2.1
149 Requires:       java-commons-logging >= 1.0.4
150 Requires:       java-commons-validator >= 1.1.4
151 Requires:       java-dom4j >= 1.6.1
152 Requires:       java-gnu-regexp >= 1.1.4
153 Requires:       java-httpunit >= 1.6
154 Requires:       java-jdom >= 1.0
155 Requires:       java-junit >= 3.8.2
156 Requires:       java-oro >= 2.0.8
157 Requires:       java-qdox >= 1.5
158 Requires:       java-rhino >= 1.5
159 Requires:       java-xalan >= 2.6.0
160 Requires:       java-xerces >= 2.7.1
161 Requires:       java-xmlunit
162 Requires:       java-xom
163 Requires(post): java-commons-cli >= 1.0
164 Requires(post): java-commons-lang >= 2.1
165 Requires(post): java-commons-logging >= 1.0.4
166 Requires(post): java-jdom >= 1.0
167 Requires(post): jpackage-utils >= 0:1.7.2
168 Requires(postun):       jpackage-utils >= 0:1.7.2
169 ### }}}
170 ### END OF PLDIZED DEPENDENCIES }}}
171
172 ### DEPENDENCIES NOT PACKAGED FOR PLD {{{
173 BuildRequires:  java-velocity >= 1.4
174 Requires:               velocity >= 1.4
175 ### }}}
176
177 ### DEPENDENCIES THAT NEEDS INVESTIGATION {{{
178 # Is java(mail) enough?
179 BuildRequires:  glassfish-javamail
180 Requires:               glassfish-javamail
181 # java(servlet)?
182 BuildRequires:  tomcat5-servlet-2.4-api
183 Requires:               tomcat5-servlet-2.4-api
184 # C library??? Or some java bindings?
185 BuildRequires:  xmlrpc
186 Requires:               xmlrpc
187 # WTF is that?
188 BuildRequires:  aqute-bndlib
189 ### }}}
190
191 ### OLD JPP DEPENDENCIES {{{
192 ### BRs {{{
193 #BuildRequires: cglib >= 2.1.0
194 BuildRequires:  checkstyle4 >= 4.1
195 BuildRequires:  checkstyle4-optional >= 4.1
196 BuildRequires:  classworlds >= 1.1
197 BuildRequires:  jaxen >= 1.1
198 #BuildRequires: jmock >= 1.0.1
199 BuildRequires:  jline >= 0.8.1
200 BuildRequires:  jsch >= 0.1.20
201 BuildRequires:  jtidy >= 1.0
202 BuildRequires:  maven2-common-poms >= 1.0-5
203 BuildRequires:  maven-jxr >= 1.0-2
204 BuildRequires:  maven-wagon >= 1.0-0.1.b2
205 BuildRequires:  maven-doxia >= 1.0-0.a9
206 BuildRequires:  nekohtml >= 0.9.3
207 BuildRequires:  plexus-ant-factory >= 1.0-0.a1.2
208 BuildRequires:  plexus-bsh-factory >= 1.0-0.a7s.2
209 BuildRequires:  plexus-archiver >= 1.0-0.1.a8
210 BuildRequires:  plexus-compiler >= 1.5.1
211 BuildRequires:  plexus-container-default >= 1.0
212 BuildRequires:  plexus-i18n >= 1.0
213 BuildRequires:  plexus-interactivity >= 1.0
214 BuildRequires:  plexus-utils >= 1.2
215 BuildRequires:  plexus-velocity >= 1.1.2
216 BuildRequires:  pmd >= 3.6
217 BuildRequires:  saxon-scripts
218 BuildRequires:  saxpath
219
220 %if %{without bootstrap}
221 BuildRequires:  %{name} = %{version}
222 BuildRequires:  maven2-plugin-ant
223 BuildRequires:  maven2-plugin-assembly
224 BuildRequires:  maven2-plugin-clean
225 BuildRequires:  maven2-plugin-compiler
226 BuildRequires:  maven2-plugin-install
227 BuildRequires:  maven2-plugin-jar
228 BuildRequires:  maven2-plugin-javadoc
229 BuildRequires:  maven2-plugin-plugin
230 BuildRequires:  maven2-plugin-resources
231 BuildRequires:  maven2-plugin-shade
232 BuildRequires:  maven2-plugin-site
233 BuildRequires:  maven2-plugin-surefire
234 BuildRequires:  maven-shared-archiver
235 BuildRequires:  maven-doxia-sitetools
236 BuildRequires:  maven-embedder
237 BuildRequires:  maven-scm >= 0:1.0-0.b3.2
238 BuildRequires:  maven-scm-test >= 0:1.0-0.b3.2
239 BuildRequires:  maven-shared-common-artifact-filters
240 BuildRequires:  maven-shared-dependency-analyzer
241 BuildRequires:  maven-shared-dependency-tree
242 BuildRequires:  maven-shared-downloader
243 BuildRequires:  maven-shared-file-management >= 1.0
244 BuildRequires:  maven-shared-io
245 BuildRequires:  maven-shared-plugin-testing-harness >= 1.0
246 BuildRequires:  maven-shared-repository-builder
247 BuildRequires:  maven-shared-invoker
248 BuildRequires:  maven-shared-jar
249 BuildRequires:  maven-shared-model-converter
250 BuildRequires:  maven-shared-plugin-testing-tools
251 BuildRequires:  maven-shared-plugin-tools-api
252 BuildRequires:  maven-shared-plugin-tools-beanshell
253 BuildRequires:  maven-shared-plugin-tools-java
254 BuildRequires:  maven-shared-reporting-impl
255 BuildRequires:  maven-shared-verifier
256 BuildRequires:  maven-surefire >= 2.0
257 BuildRequires:  maven-surefire-provider-junit
258 BuildRequires:  maven-surefire-booter >= 2.0
259 BuildRequires:  modello >= 1.0-0.a8.3
260 BuildRequires:  modello-maven-plugin >= 1.0-0.a8.3
261 BuildRequires:  plexus-digest
262 BuildRequires:  plexus-maven-plugin >= 1.3.5
263 BuildRequires:  plexus-mail-sender
264 BuildRequires:  plexus-resources
265 %endif
266 # }}}
267
268 ### Rs {{{
269 Requires:       aqute-bndlib
270 #Requires:      cglib >= 2.1.0
271 Requires:       checkstyle4 >= 4.1
272 Requires:       classworlds >= 1.
273 Requires(post): classworlds >= 1.1
274 #Requires:      tomcat5-parent
275 Requires:       jaxen >= 1.1
276 #Requires:      jmock >= 1.0.1
277 Requires:       jline >= 0.8.1
278 Requires:       jsch >= 0.1.20
279 Requires(post): jsch >= 0.1.20
280 Requires:       jtidy >= 1.0
281 Requires:       maven2-common-poms >= 1.0-5
282 Requires:       maven-jxr >= 1.0
283 Requires:       maven-wagon >= 1.0-0.1.b2
284 Requires(post): maven-wagon >= 1.0-0.1.b2
285 Requires:       nekohtml >= 0.9.3
286 Requires:       plexus-ant-factory >= 1.0-0.a1.2
287 Requires:       plexus-bsh-factory >= 1.0-0.a7s.2
288 Requires:       plexus-archiver >= 1.0-0.a6
289 Requires:       plexus-compiler >= 1.5.1
290 Requires:       plexus-container-default >= 1.0
291 Requires(post): plexus-container-default >= 1.0
292 Requires:       plexus-i18n >= 1.0
293 Requires:       plexus-interactivity >= 1.0
294 Requires(post): plexus-interactivity >= 1.0
295 Requires:       plexus-utils >= 1.2
296 Requires(post): plexus-utils >= 1.2
297 Requires:       plexus-velocity >= 1.1.2
298 Requires:       pmd >= 3.6
299
300 ### Bootstrap {{{
301 %if %{without bootstrap}
302 Requires:               %{name} = %{version}
303 Requires:       maven-doxia >= 1.0-0.a9
304 Requires(post): maven-doxia >= 1.0-0.a9
305 Requires:       maven-scm >= 0:1.0-0.b3.2
306 Requires:       maven-scm-test >= 0:1.0-0.b3.2
307 Requires:       maven-shared-invoker
308 Requires:                maven-shared-io
309 Requires:       maven-shared-file-management >= 1.0-4
310 Requires:       maven-shared-jar
311 Requires:       maven-shared-model-converter
312 Requires:       maven-shared-verifier
313 Requires:       maven-surefire >= 2.0
314 Requires:       maven-surefire-booter >= 2.0
315 Requires:       modello >= 1.0-0.a8.3
316 Requires:       modello-maven-plugin >= 1.0-0.a8.3
317 %endif
318 ### }}}
319
320 ### }}}
321 ### END OF OLD JPP DEPENDENCIES }}}
322
323 BuildRoot:              %{_tmppath}/%{name}-%{version}-%{release}-root
324
325 BuildArch:      noarch
326
327 %description
328 Maven is a software project management and comprehension tool. Based on the 
329 concept of a project object model (POM), Maven can manage a project's build,
330 reporting and documentation from a central piece of information.
331
332 %package        javadoc
333 Summary:        Javadoc for %{name}
334 Group:  Development/Documentation
335 Requires(post): /bin/rm,/bin/ln
336 Requires(postun):       /bin/rm
337
338 %description    javadoc
339 %{summary}.
340
341 %package        manual
342 Summary:        Documents for %{name}
343 Group:  Development/Documentation
344
345 %description    manual
346 %{summary}.
347
348 %package        plugin-ant
349 Summary:        Ant plugin for maven
350 Group:  Development/Build Tools
351 Requires:       ant >= 1.6.5
352 Requires:       ant-junit
353 Requires:       ant-nodeps
354 Requires:       junit >= 3.8.2
355 Requires:       maven-wagon >= 1.0-0.1.b2
356 Requires:       plexus-utils >= 1.2
357 Requires:       xalan-j2 >= 2.6.0
358 Requires:               xml-commons-apis >= 1.3.02
359 Requires:               plexus-container-default
360 Requires:               %{name} = %{version}-%{release}
361 Requires(postun):               %{name} = %{version}-%{release}
362
363 %description    plugin-ant
364 Generates an Ant build file for the project.
365
366 %package        plugin-antlr
367 Summary:        Antlr plugin for maven
368 Group:  Development/Build Tools
369 Requires:       antlr >= 2.7.4
370 Requires:               plexus-container-default
371 Requires:       plexus-i18n >= 1.0
372 %if %{without bootstrap}
373 Requires:       maven-doxia >= 1.0-0.a9
374 Requires:       maven-doxia-sitetools >= 1.0
375 %endif
376 Requires:       plexus-utils >= 1.2
377 Requires:               %{name} = %{version}-%{release}
378 Requires(postun):               %{name} = %{version}-%{release}
379
380 %description    plugin-antlr
381 Generates sources from an Antlr grammar.
382
383 %package        plugin-antrun
384 Summary:        Antrun plugin for maven
385 Group:  Development/Build Tools
386 Requires:       ant >= 1.6.5
387 Requires:               maven-embedder
388 Requires:               %{name} = %{version}-%{release}
389 Requires(postun):               %{name} = %{version}-%{release}
390 Requires:               maven-shared-reporting-impl
391
392 %description    plugin-antrun
393 Runs a set of ant tasks from a phase of the build.
394
395
396 %package        plugin-assembly
397 Summary:        Assembly plugin for maven
398 Group:  Development/Build Tools
399 Requires:               %{name} = %{version}-%{release}
400 Requires(postun):               %{name} = %{version}-%{release}
401 %if %{without bootstrap}
402 Requires:       modello >= 1.0-0.a8.3
403 %endif
404 Requires:       plexus-archiver >= 1.0
405 Requires:       plexus-utils >= 1.2
406 Requires:               maven-shared-file-management >= 1.0
407 Requires:               maven-shared-archiver
408 Requires:               plexus-container-default
409 Requires:               maven-shared-repository-builder
410 Requires:               maven-shared-common-artifact-filters
411 Requires:               maven-shared-plugin-testing-tools
412 Requires:               maven-shared-test-tools
413 Requires:       jmock >= 1.0.1
414 Requires:       jdom >= 1.0
415 Requires:       jaxen >= 1.1
416 Requires:               saxpath
417 Requires:       junit >= 3.8.2
418
419 %description    plugin-assembly
420 Builds an assembly (distribution) of sources and/or binaries.
421
422 %package        plugin-changelog
423 Summary:        Changelog plugin for maven
424 Group:  Development/Build Tools
425 %if %{without bootstrap}
426 Requires:       maven-scm
427 %endif
428 Requires:               %{name} = %{version}-%{release}
429 Requires(postun):               %{name} = %{version}-%{release}
430 Requires:       maven-doxia >= 1.0-0.a9
431 Requires:       maven-doxia-sitetools >= 1.0
432 Requires:       maven-scm >= 0:1.0-0.b3.2
433 Requires:               maven-shared-reporting-impl
434
435 %description    plugin-changelog
436 The Maven Changelog Plugin generates reports regarding the recent changes in
437 your Software Configuration Management or SCM.
438
439 %package        plugin-changes
440 Summary:        Changes plugin for maven
441 Group:  Development/Build Tools
442 %if %{without bootstrap}
443 Requires:       maven-doxia
444 Requires:       maven-doxia-sitetools >= 1.0
445 %endif
446 Requires:               %{name} = %{version}-%{release}
447 Requires(postun):               %{name} = %{version}-%{release}
448 Requires:       velocity
449 Requires:       commons-httpclient
450 Requires:       plexus-velocity >= 1.1.2
451 Requires:       plexus-mail-sender
452 Requires:       glassfish-javamail
453 Requires:       jakarta-commons-lang
454 Requires:       velocity
455 Requires:               maven-shared-reporting-impl
456
457 %description    plugin-changes
458 The Maven Changes Plugin is used to inform users of the changes that have 
459 occured between different releases of your project.  
460
461 %package        plugin-checkstyle
462 Summary:        Checkstyle plugin for maven
463 Group:  Development/Build Tools
464 Requires:       checkstyle4 >= 4.1
465 Requires:               checkstyle4-optional >= 4.1
466 Requires:               %{name} = %{version}-%{release}
467 Requires(postun):               %{name} = %{version}-%{release}
468 Requires:       plexus-utils >= 1.2
469 Requires:       plexus-velocity >= 1.1.2
470 Requires:       plexus-resources
471 Requires:               maven-shared-reporting-impl
472
473 %description    plugin-checkstyle
474 Generates a checkstyle report.
475
476
477 %package        plugin-clean
478 Summary:        Clean plugin for maven
479 Group:  Development/Build Tools
480 Requires:       junit >= 3.8.2
481 Requires:               %{name} = %{version}-%{release}
482 Requires(postun):               %{name} = %{version}-%{release}
483 Requires:       plexus-utils >= 1.2
484
485 %description    plugin-clean
486 Cleans up files generated during build.
487
488 %package        plugin-compiler
489 Summary:        Compiler plugin for maven
490 Group:  Development/Build Tools
491 Requires:               %{name} = %{version}-%{release}
492 Requires(postun):               %{name} = %{version}-%{release}
493 Requires:       plexus-compiler >= 1.5.1
494 Requires:       plexus-utils >= 1.2
495
496 %description    plugin-compiler
497 Compiles Java sources.
498
499 %package        plugin-dependency
500 Summary:        Dependency plugin for maven
501 Group:  Development/Build Tools
502 Requires:               %{name} = %{version}-%{release}
503 Requires(postun):               %{name} = %{version}-%{release}
504 Requires:       plexus-archiver >= 1.0
505 Requires:       plexus-utils >= 1.2
506 Requires:       maven-shared-file-management >= 1.0-4
507 Requires:       junit >= 3.8.2
508 Requires:       plexus-container-default
509 Requires:       maven-shared-dependency-analyzer
510 Requires:       maven-shared-dependency-tree
511
512 %description    plugin-dependency
513 The dependency plugin provides the capability to manipulate artifacts. It can
514 copy and/or unpack artifacts from local or remote repositories to a specified
515 location.
516
517 %package        plugin-deploy
518 Summary:        Deploy plugin for maven
519 Group:  Development/Build Tools
520 Requires:               %{name} = %{version}-%{release}
521 Requires(postun):               %{name} = %{version}-%{release}
522
523 %description    plugin-deploy
524 Deploys the built artifacts to a remote repository.
525
526
527 %package        plugin-doap
528 Summary:        Description of a Project (DOAP) plugin for maven
529 Group:  Development/Build Tools
530 Requires:               %{name} = %{version}-%{release}
531 Requires(postun):               %{name} = %{version}-%{release}
532 Requires:       plexus-utils
533
534 %description    plugin-doap
535 The Maven DOAP Plugin generates a Description of a Project (DOAP) file from
536 a POM.
537
538
539 %package        plugin-docck
540 Summary:        DOCCK plugin for maven
541 Group:  Development/Build Tools
542 Requires:               %{name} = %{version}-%{release}
543 Requires(postun):               %{name} = %{version}-%{release}
544 Requires:       plexus-utils
545 Requires:       maven-shared-plugin-tools-beanshell >= 2.2
546 Requires:       maven-shared-plugin-tools-java >= 2.2
547 Requires:       commons-httpclient
548 Requires:       jakarta-commons-logging >= 1.0.4
549 Requires:       maven-shared-file-management >= 1.0-4
550 Requires:       maven-shared-plugin-tools-api
551 Requires:               maven-shared-reporting-impl
552
553 %description    plugin-docck
554 The Maven DOCCK Plugin checks that a project complies with the 
555 Plugin Documentation Standard.
556
557
558 %package        plugin-ear
559 Summary:        Ear plugin for maven
560 Group:  Development/Build Tools
561 Requires:               %{name} = %{version}-%{release}
562 Requires(postun):               %{name} = %{version}-%{release}
563 Requires:       plexus-utils >= 1.2
564 Requires:       maven-shared-verifier
565 Requires:       xmlunit
566
567 %description    plugin-ear
568 Generates an EAR from the current project.
569
570
571 %package        plugin-eclipse
572 Summary:        Eclipse plugin for maven
573 Group:  Development/Build Tools
574 Requires:               %{name} = %{version}-%{release}
575 Requires(postun):               %{name} = %{version}-%{release}
576 Requires:       plexus-utils >= 1.2
577 Requires:       plexus-archiver >= 1.0
578 Requires:       jmock >= 1.0.1
579 Requires:       jdom >= 1.0
580 Requires:       jaxen >= 1.1
581 Requires:               saxpath
582 Requires:       plexus-interactivity >= 1.0
583 Requires:               maven-shared-plugin-testing-tools
584 Requires:               maven-shared-test-tools
585 Requires:       aqute-bndlib
586
587 %description    plugin-eclipse
588 Generates an Eclipse project file for the current project.
589
590
591 %package        plugin-ejb
592 Summary:        EJB plugin for maven
593 Group:  Development/Build Tools
594 Requires:               %{name} = %{version}-%{release}
595 Requires(postun):               %{name} = %{version}-%{release}
596
597 %description    plugin-ejb
598 Builds an EJB (and optional client) from the current project.
599
600
601 %package        plugin-gpg
602 Summary:        GPG plugin for maven
603 Group:  Development/Build Tools
604 Requires:               %{name} = %{version}-%{release}
605 Requires(postun):               %{name} = %{version}-%{release}
606 Requires:       jakarta-commons-lang
607 Requires:       plexus-utils
608 Requires:       jakarta-commons-lang
609 Requires:       junit >= 3.8.2
610
611 %description    plugin-gpg
612 The Maven GPG Plugin signs all of the project's attached artifacts with GnuPG.
613
614
615 %package        plugin-help
616 Summary:        Help plugin for maven
617 Group:  Development/Build Tools
618 Requires:               %{name} = %{version}-%{release}
619 Requires(postun):               %{name} = %{version}-%{release}
620 Requires:       maven-shared-plugin-tools-api
621
622 %description    plugin-help
623 Gets information about the working environment for the project.
624
625
626 %package        plugin-idea
627 Summary:        Idea plugin for maven
628 Group:  Development/Build Tools
629 Requires:       dom4j >= 1.6.1
630 Requires:               %{name} = %{version}-%{release}
631 Requires(postun):               %{name} = %{version}-%{release}
632 Requires:       maven-wagon >= 1.0-0.1.b2
633 Requires:       plexus-utils >= 1.2
634 Requires:       jmock >= 1.0.1
635
636 %description    plugin-idea
637 Creates/updates an IDEA workspace for the current project 
638 (individual modules are created as IDEA modules).
639
640
641 %package        plugin-install
642 Summary:        Install plugin for maven
643 Group:  Development/Build Tools
644 Requires:       plexus-digest >= 1.0
645 Requires:               %{name} = %{version}-%{release}
646 Requires(postun):               %{name} = %{version}-%{release}
647
648 %description    plugin-install
649 Installs the built artifact into the local repository.
650
651 %package        plugin-invoker
652 Summary:        Invoker plugin for maven
653 Group:  Development/Build Tools
654 Requires:               %{name} = %{version}-%{release}
655 Requires(postun):               %{name} = %{version}-%{release}
656 %if %{without bootstrap}
657 Requires:       maven-shared
658 Requires:       maven-shared-invoker
659 Requires:       maven-shared-file-management >= 1.0-4
660 Requires:               maven-shared-io
661 %endif
662 Requires:       bsh
663
664 %description    plugin-invoker
665 The Maven Invoker Plugin is used to run a set of Maven projects and makes 
666 sure that each project execution is successful, and optionally verifies 
667 the output from a given project execution.
668
669 %package        plugin-jar
670 Summary:        Jar plugin for maven
671 Group:  Development/Build Tools
672 Requires:       jakarta-commons-lang >= 2.1
673 Requires:               %{name} = %{version}-%{release}
674 Requires:       maven-shared-archiver >= 2.3
675 Requires(postun):               %{name} = %{version}-%{release}
676 Requires:       plexus-utils >= 1.2
677
678 %description    plugin-jar
679 Builds a JAR from the current project.
680
681
682 %package        plugin-javadoc
683 Summary:        Javadoc plugin for maven
684 Group:  Development/Build Tools
685 Requires:       jakarta-commons-lang >= 2.1
686 Requires:               %{name} = %{version}-%{release}
687 Requires(postun):               %{name} = %{version}-%{release}
688 %if %{without bootstrap}
689 Requires:       modello >= 1.0-0.a8.3
690 %endif
691 Requires:       plexus-archiver >= 1.0
692 Requires:       plexus-utils >= 1.2
693 Requires:               maven-shared-reporting-impl
694
695 %description    plugin-javadoc
696 Generates Javadoc for the project.
697
698 %package        plugin-one
699 Summary:        One plugin for maven
700 Group:  Development/Build Tools
701 Requires:       junit >= 3.8.2
702 Requires:               %{name} = %{version}-%{release}
703 Requires(postun):               %{name} = %{version}-%{release}
704 Requires:       plexus-archiver >= 1.0
705 Requires:       plexus-utils >= 1.2
706 Requires:       junit >= 3.8.2
707 Requires:       maven-shared-model-converter
708
709 %description    plugin-one
710 A plugin for interacting with legacy Maven 1.x repositories and builds.
711
712
713 %package        plugin-plugin
714 Summary:        Plugin plugin for maven
715 Group:  Development/Build Tools
716 Requires:               %{name} = %{version}-%{release}
717 Requires(postun):               %{name} = %{version}-%{release}
718 Requires:       maven-shared-plugin-tools-beanshell >= 2.2
719 Requires:       maven-shared-plugin-tools-java >= 2.2
720 Requires:               maven-shared-reporting-impl
721 Requires:       maven-doxia >= 1.0-0.a9
722 Requires:       plexus-utils >= 1.2
723 Requires:       plexus-container-default
724
725 %description    plugin-plugin
726 Creates a Maven plugin descriptor for any Mojo's found in the source tree, 
727 to include in the JAR.
728
729
730 %package        plugin-pmd
731 Summary:        Pmd plugin for maven
732 Group:  Development/Build Tools
733 Requires:               %{name} = %{version}-%{release}
734 Requires(postun):               %{name} = %{version}-%{release}
735 Requires:       plexus-utils >= 1.2
736 Requires:       plexus-resources
737 Requires:       pmd >= 3.3
738 Requires:       jaxen >= 1.1
739 Requires:       xom
740 Requires:               maven-shared-reporting-impl
741
742 %description    plugin-pmd
743 Generates a PMD report.
744
745
746 %package        plugin-project-info-reports
747 Summary:        Project-info-reports plugin for maven
748 Group:  Development/Build Tools
749 Requires:       httpunit >= 1.6
750 Requires:       jakarta-commons-validator >= 1.1.4
751 Requires:               %{name} = %{version}-%{release}
752 Requires(postun):               %{name} = %{version}-%{release}
753 Requires:       plexus-i18n >= 1.0
754 Requires:               maven-shared-reporting-impl
755 Requires:       maven-shared-jar
756 Requires:       maven-shared-dependency-tree
757 Requires:       maven-wagon
758 Requires:       maven-scm >= 0:1.0-0.b3.2
759 Requires:       maven-doxia >= 1.0-0.a9
760 Requires:       maven-doxia-sitetools >= 1.0
761
762 %description    plugin-project-info-reports
763 Generates standard project reports.
764
765 %package        plugin-rar
766 Summary:        Rar plugin for maven
767 Group:  Development/Build Tools
768 Requires:               %{name} = %{version}-%{release}
769 Requires(postun):               %{name} = %{version}-%{release}
770
771 %description    plugin-rar
772 Builds a RAR from the current project.
773
774
775 %package        plugin-remote-resources
776 Summary:        Remote Resources plugin for maven
777 Group:  Development/Build Tools
778 Requires:       junit >= 3.8.2
779 Requires:               %{name} = %{version}-%{release}
780 Requires(postun):               %{name} = %{version}-%{release}
781 Requires:       plexus-container-default
782 Requires:       plexus-utils
783 Requires:       plexus-velocity
784 Requires:       velocity
785 %if %{without bootstrap}
786 Requires:       maven-shared
787 Requires:       maven-shared-downloader
788 Requires:       plexus-resources
789 %endif
790
791 %description    plugin-remote-resources
792 The Maven Remote Resources Plugin is used to retrieve JARs of resources
793 from remote repositories, processes those resources, and incorporate them
794 into JARs built with maven.
795
796 %package        plugin-repository
797 Summary:        Repository plugin for maven
798 Group:  Development/Build Tools
799 Requires:       junit >= 3.8.2
800 Requires:               %{name} = %{version}-%{release}
801 Requires(postun):               %{name} = %{version}-%{release}
802 Requires:       plexus-archiver >= 1.0
803
804 %description    plugin-repository
805 Plugin to help with repository-based tasks.
806
807 %package        plugin-resources
808 Summary:        Resources plugin for maven
809 Group:  Development/Build Tools
810 #Requires:      jakarta-commons-io >= 1.1
811 Requires:       plexus-utils >= 1.2
812 Requires:               %{name} = %{version}-%{release}
813 Requires(postun):               %{name} = %{version}-%{release}
814
815 %description    plugin-resources
816 Copies the resources to the output directory for including in the JAR.
817
818 %package        plugin-site
819 Summary:        Site plugin for maven
820 Group:  Development/Build Tools
821 Requires:               %{name} = %{version}-%{release}
822 Requires(postun):               %{name} = %{version}-%{release}
823 %if %{without bootstrap}
824 Requires:       maven-doxia >= 1.0-0.a9
825 Requires:       maven-doxia-sitetools >= 1.0
826 %endif
827 Requires:       plexus-utils >= 1.2
828
829 %description    plugin-site
830 Generates a site for the current project.
831
832 %package        plugin-source
833 Summary:        Source plugin for maven
834 Group:  Development/Build Tools
835 Requires:               %{name} = %{version}-%{release}
836 Requires(postun):               %{name} = %{version}-%{release}
837 Requires:       plexus-archiver >= 1.0
838 Requires:       plexus-utils >= 1.2
839 Requires:       plexus-container-default >= 1.0
840 Requires:       junit >= 3.8.2
841
842 %description    plugin-source
843 Builds a JAR of sources for use in IDEs and distribution to the repository.
844
845
846 %package        plugin-stage
847 Summary:        Stage plugin for maven
848 Group:  Development/Build Tools
849 Requires:               %{name} = %{version}-%{release}
850 Requires(postun):               %{name} = %{version}-%{release}
851 Requires:       maven-wagon
852 Requires:       plexus-utils
853 Requires:       junit >= 3.8.2
854
855 %description    plugin-stage
856 Maven Stage Plugin copies artifacts from one repository to another.
857
858
859 %package        plugin-verifier
860 Summary:        Verifier plugin for maven
861 Group:  Development/Build Tools
862 Requires:       junit >= 3.8.2
863 Requires:               %{name} = %{version}-%{release}
864 Requires(postun):               %{name} = %{version}-%{release}
865 %if %{without bootstrap}
866 Requires:       modello >= 1.0-0.a8.3
867 %endif
868 Requires:       plexus-utils >= 1.2
869
870 %description    plugin-verifier
871 Useful for integration tests - verifies the existence of certain conditions.
872
873 %package        plugin-war
874 Summary:        War plugin for maven
875 Group:  Development/Build Tools
876 Requires:               %{name} = %{version}-%{release}
877 Requires(postun):               %{name} = %{version}-%{release}
878 Requires:       plexus-utils >= 1.2
879 Requires:       junit >= 3.8.2
880
881 %description    plugin-war
882 Builds a WAR from the current project.
883
884 %if %{with repolib}
885 %package repolib
886 Summary:        Artifacts to be uploaded to a repository library
887 Group:  Development/Libraries/Java
888
889 %description repolib
890 Artifacts to be uploaded to a repository library.
891 This package is not meant to be installed but so its contents
892 can be extracted through rpm2cpio.
893 %endif
894
895 %prep
896 #rpm -ql maven-surefire
897
898 %setup -q -c -n %{name}
899
900 # Extract the plugins
901 tar xzf %{SOURCE2}
902
903 # We need to replace the javadoc plugin as the 2.3-SNAPSHOT included above 
904 # has several bugs
905 rm -rf maven-plugins/maven-javadoc-plugin
906 rm -rf maven-plugins/maven-enforcer-plugin
907 tar xzf %{SOURCE22} -C maven-plugins
908
909 # Use an older version of site plugin because newer one requires newer doxia 
910 # (1.0a8) which is not compatible with the older one (1.0a7) which is needed 
911 # by other parts of maven
912 #rm -rf maven-plugins/maven-site-plugin
913 #tar xzf %{SOURCE8}
914
915 # javadoc 2.4 uses an old doxia method
916 %patch15
917
918 # This plugin can't cope with a JAR without a JDK version on it
919 %patch16
920
921 %patch17
922
923 %patch18
924 %patch19
925
926 %patch20
927
928 # Remove dependencies on org.codehaus.doxia.* (it is now
929 # org.apache.maven.doxia, and in the interest of maintaining just one
930 # doxia jar, we substitute things accordingly)
931
932 for i in    maven-plugins/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/FileActivityReport.java \
933             maven-plugins/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java \
934             maven-plugins/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/DeveloperActivityReport.java \
935             maven-plugins/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/JavadocReport.java \
936             maven-plugins/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/PluginReport.java \
937             maven/maven-reporting/maven-reporting-api/src/main/java/org/apache/maven/reporting/MavenReport.java \
938             maven-plugins/maven-antlr-plugin/src/main/java/org/apache/maven/plugin/antlr/AntlrHtmlReport.java \
939             maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/AbstractPmdReport.java \
940             maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/CpdReportGenerator.java \
941             maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReport.java \
942             maven-plugins/maven-pmd-plugin/src/main/java/org/apache/maven/plugin/pmd/PmdReportListener.java \
943             maven-plugins/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReport.java \
944             maven-plugins/maven-checkstyle-plugin/src/main/java/org/apache/maven/plugin/checkstyle/CheckstyleReportGenerator.java; do
945
946     sed -i -e s:org.codehaus.doxia.sink.Sink:org.apache.maven.doxia.sink.Sink:g $i
947     sed -i -e s:org.codehaus.doxia.site.renderer.SiteRenderer:org.apache.maven.doxia.siterenderer.Renderer:g $i
948     sed -i -r -e s:\(\\s+\)SiteRenderer\(\\s+\):\\1Renderer\\2:g $i
949 done
950
951 # Remove existing binaries from source trees
952 #find . -name "*.jar" -exec rm -f '{}' \;
953
954 %patch0
955 %patch1
956 %patch2
957 %patch3
958 %patch4
959 %patch5
960
961 # keep external jars out of uber jar only in non-bootstrap mode
962 %if %{without bootstrap}
963 %patch6
964 %endif
965
966
967 %patch7
968
969 %if %{with bootstrap}
970 %patch8
971 %endif
972
973 %patch9
974 %patch10
975 %patch11
976 %patch12
977 # javadoc 2.5 no longer needs this patch
978 #%patch13
979 # javadoc 2.5 pre-reqs maven 2.0.9 by default
980 #%patch14
981
982 # FIXME: Maven eclipse plugin tests are disabled for now, until a way
983 # is found to stop it from connecting to the web despite offline mode.
984 rm -rf maven-plugins/maven-eclipse-plugin/src/test/*
985
986 # FIXME: Disabled items:
987
988 #Disabled goal (because we don't want a jetty dependency)
989 rm -f maven-plugins/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/SiteRunMojo.java
990
991 # Disabled test because it needs cglib
992 rm -f maven-plugins/maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java
993
994 # Disabled test because it needs mock
995 rm -f maven/maven-artifact-manager/src/test/java/org/apache/maven/artifact/testutils/MockManager.java 
996 rm -f maven/maven-artifact-manager/src/test/java/org/apache/maven/artifact/repository/metadata/AbstractRepositoryMetadataTest.java
997
998 # extract poms and jars (if any)
999 tar xzf %{SOURCE3}
1000
1001 # extract jars iff in bootstrap mode
1002 %if %{with bootstrap}
1003 tar xzf %{SOURCE4}
1004 %endif
1005
1006 # Copy model-v3
1007 cp -p %{SOURCE10} m2_repo/repository/JPP/maven/model-v3.jar
1008
1009 mkdir external_repo
1010 ln -s %{_javadir} external_repo/JPP
1011
1012 cp -p %{SOURCE6} maven/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/JPackageRepositoryLayout.java
1013 cp -p %{SOURCE11} maven/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/MavenJPackageDepmap.java
1014
1015 # FIXME: bootstrap-mini has no dependencies, so we copy the file there 
1016 # (for now). Since bootstrap classes are not in the final package, there 
1017 # will be no duplicates.
1018 mkdir -p maven/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/artifact/repository/layout/
1019 cp -p %{SOURCE11} maven/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/artifact/repository/layout/MavenJPackageDepmap.java
1020
1021 cp -p %{SOURCE7} %{maven_settings_file}
1022 sed -i -e "s|<url>__INTERNAL_REPO_PLACEHOLDER__</url>|<url>file://`pwd`/m2_repo/repository</url>|g" %{maven_settings_file}
1023 %if %{with bootstrap}
1024 sed -i -e "s|<url>__EXTERNAL_REPO_PLACEHOLDER__</url>|<url>file://`pwd`/external_repo</url>|g" %{maven_settings_file}
1025 %else
1026 sed -i -e "s|<url>__EXTERNAL_REPO_PLACEHOLDER__</url>|<url>file://%{_datadir}/%{name}/repository</url>|g" %{maven_settings_file}
1027 %endif
1028
1029 sed -i -e "s|__INTERNAL_REPO_PLACEHOLDER__|file://`pwd`/m2_repo/repository|g" maven/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java
1030
1031 %if %{with bootstrap}
1032 sed -i -e "s|__EXTERNAL_REPO_PLACEHOLDER__|file://`pwd`/external_repo|g" maven/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java
1033 %else
1034 sed -i -e "s|__EXTERNAL_REPO_PLACEHOLDER__|file://%{_datadir}/%{name}/repository|g" maven/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java
1035 %endif
1036
1037 # Copy the empty dependency jar/pom in place
1038 mkdir -p m2_repo/repository/JPP/maven/default_poms
1039 cp -p %{SOURCE13} m2_repo/repository/JPP/maven/default_poms/JPP.maven-empty-dep.pom
1040 cp -p %{SOURCE14} m2_repo/repository/JPP/maven/empty-dep.jar
1041
1042 %build
1043 # Fix maven-remote-resources-plugin
1044 # we now use plexus-velocity 1.1.7 which has the correct descriptor with a hint.
1045 rm -f maven-plugins/maven-remote-resources-plugin/src/main/resources/META-INF/plexus/components.xml
1046
1047 # Wire in jdom dependency
1048 cp -p maven/maven-artifact/pom.xml maven/maven-artifact/pom.xml.withoutjdom
1049 saxon -o maven/maven-artifact/pom.xml maven/maven-artifact/pom.xml.withoutjdom /usr/share/java-utils/xml/mavenjpp-mapdeps.xsl map=%{SOURCE12}
1050 saxon -o m2_repo/repository/JPP/maven/poms/JPP.maven-artifact.pom maven/maven-artifact/pom.xml.withoutjdom /usr/share/java-utils/xml/mavenjpp-mapdeps.xsl map=%{SOURCE12}
1051
1052 # for uber jar
1053 cp -p maven/maven-core/pom.xml maven/maven-core/pom.xml.withoutjdom
1054 saxon -o maven/maven-core/pom.xml maven/maven-core/pom.xml.withoutjdom /usr/share/java-utils/xml/mavenjpp-mapdeps.xsl map=%{SOURCE12}
1055
1056 cp -p maven/bootstrap/bootstrap-installer/pom.xml maven/bootstrap/bootstrap-installer/pom.xml.withoutjdom
1057 saxon -o maven/bootstrap/bootstrap-installer/pom.xml maven/bootstrap/bootstrap-installer/pom.xml.withoutjdom /usr/share/java-utils/xml/mavenjpp-mapdeps.xsl map=%{SOURCE12}
1058
1059 mkdir -p maven/maven-plugins/maven-assembly-plugin/target/generated-resources/plexus/META-INF/plexus/components.xml
1060 touch maven/maven-plugins/maven-assembly-plugin/target/generated-resources/plexus/META-INF/plexus/components.xml
1061
1062 # Build maven
1063 export MAVEN_REPO_LOCAL=`pwd`/%{repo_dir}
1064 export M2_SETTINGS_FILE=%{maven_settings_file}
1065
1066 # In bootstrap mode, we want it looking at default poms only (controlled via 
1067 # maven-common-poms). This enables us to change naming structures without 
1068 # breaking build.
1069
1070 export MAVEN_OPTS="$MAVEN_OPTS -Dmaven.repo.local=$MAVEN_REPO_LOCAL -Dmaven2.ignore.versions -Dmaven2.offline.mode -Dmaven.test.failure.ignore=true -Dmaven2.jpp.depmap.file=%{SOURCE17}"
1071 export M2_HOME=`pwd`/maven/home/apache-%{name}-%{version}
1072
1073 %if %{with bootstrap}
1074 export MAVEN_OPTS="$MAVEN_OPTS -Dmaven2.jpp.default.repo=`pwd`/external_repo"
1075 %else
1076 export MAVEN_OPTS="$MAVEN_OPTS -Dmaven2.jpp.default.repo=%{_datadir}/%{name}/repository"
1077 %endif
1078
1079 cd %{name} # {{{
1080
1081 [ -z "$JAVA_HOME" ] && JAVA_HOME=%{_jvmdir}/java
1082 export JAVA_HOME
1083
1084 mkdir bootstrap/lib
1085 ln -s $(build-classpath jdom) bootstrap/lib/jdom.jar
1086 export CLASSPATH=`pwd`/bootstrap/lib/jdom.jar
1087 export JDOMCLASS=$CLASSPATH
1088 ./bootstrap.sh --prefix=`pwd`/home  --settings=%{maven_settings_file}
1089 unset CLASSPATH
1090
1091 cd - # cd %{name} }}}
1092
1093 # Update the classworlds jar name in the mvn script
1094 sed -i -e s:"/core/boot/classworlds-\*.jar":/core/boot/classworlds\*.jar:g $M2_HOME/bin/mvn
1095
1096 # In non-bootstrap mode, external jars are kept out of the uber jar. Copy those
1097 # jars in for now (linked in %%post)
1098
1099 %if %{without bootstrap}
1100 (cd $M2_HOME/lib
1101 cp ../../../../m2_home_local/repository/com/jcraft/jsch/0.1.24/jsch-0.1.24.jar jsch.jar
1102 cp ../../../../m2_home_local/repository/org/codehaus/plexus/plexus-utils/1.4.6/plexus-utils-1.4.6.jar plexus-utils.jar
1103 cp ../../../../m2_home_local/repository/commons-cli/commons-cli/1.0/commons-cli-1.0.jar commons-cli.jar
1104 cp ../../../../m2_home_local/repository/org/apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar doxia-sink-api.jar
1105 cp ../../../../m2_home_local/repository/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar plexus-container-default.jar
1106 cp ../../../../m2_home_local/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar plexus-interactivity-api.jar
1107 cp ../../../../m2_home_local/repository/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar jtidy.jar
1108 )
1109
1110 build-jar-repository -s -p $M2_HOME/lib jdom maven-wagon/file maven-wagon/http-lightweight maven-wagon/http-shared maven-wagon/provider-api maven-wagon/ssh maven-wagon/ssh-common maven-wagon/ssh-external
1111 %endif
1112
1113 # Build plugins
1114 cd maven-plugins # {{{
1115
1116 # Build the plugin-plugin first, as it is needed to build itself later on
1117 # NOTE: Build of this plugin for the first time is expected to cause errors. 
1118 # That is why we build it first with -fn . Subsequent builds should not have 
1119 # errors, and if they do, they will be caught when all plugins are built 
1120 # again below. See: http://mail-archives.apache.org/mod_mbox/maven-users/200511.mbox/%3c4374C819.7090609@commonjava.org%3e
1121
1122 (cd maven-plugin-plugin
1123 $M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -npu --no-plugin-registry -fn clean install 
1124 )
1125
1126 # Disable clover plugin. We don't have a clover package yet.
1127 sed -i -e s:"<module>maven-clover-plugin</module>"::g pom.xml
1128
1129 # Now build everything
1130 # FIXME: Need to build in two stages to get around gcj bug that causes plugin reload to fail
1131 #$M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -Dmaven.test.skip=true -npu --no-plugin-registry -fn verify  
1132 $M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -Dmaven.test.skip=true -npu --no-plugin-registry verify  
1133 $M2_HOME/bin/mvn -e --batch-mode -s %{maven_settings_file} $MAVEN_OPTS -Dmaven.test.skip=true -npu --no-plugin-registry --fail-at-end jar:jar install:install
1134
1135 cd - # }}}
1136
1137 %if %{without bootstrap}
1138 # Build model-all JAR  (for model-v3 classes)
1139 cd maven/maven-model # {{{
1140
1141 $M2_HOME/bin/mvn -e -s %{maven_settings_file} $MAVEN_OPTS -P all-models package
1142
1143 cd - # }}}
1144 %endif
1145
1146 # Build complete. Run it tests.
1147
1148 %if %{with itests}
1149
1150 (cd maven
1151
1152 # One of the tests (#63) needs tools.jar. Fix the path for it
1153 sed -i -e s:"<systemPath>\${java.home}/../lib/tools.jar</systemPath>":"<systemPath>$JAVA_HOME/lib/tools.jar</systemPath>":g maven-core-it/it0063/pom.xml 
1154
1155 (cd integration-tests/maven-core-it-plugin
1156 $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS org.apache.maven.plugins:maven-plugin-plugin:2.1.1-SNAPSHOT:descriptor org.apache.maven.plugins:maven-resources-plugin:2.2-SNAPSHOT:resources org.apache.maven.plugins:maven-compiler-plugin:2.1-SNAPSHOT:compile org.apache.maven.plugins:maven-jar-plugin:2.1-SNAPSHOT:jar org.apache.maven.plugins:maven-install-plugin:2.2-SNAPSHOT:install
1157 $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS org.apache.maven.plugins:maven-install-plugin:2.2-SNAPSHOT:install-file -DgroupId=org.apache.maven.plugins -DartifactId=maven-core-it-plugin -Dversion=%{version}-JPP -Dpackaging=maven-plugin -Dfile=target/maven-core-it-plugin-1.0-SNAPSHOT.jar
1158 )
1159
1160 for i in `find integration-tests/maven-core-it-support -name pom.xml`; do
1161     cd `dirname $i` # {{{
1162         $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS org.apache.maven.plugins:maven-plugin-plugin:2.1.1-SNAPSHOT::descriptor org.apache.maven.plugins:maven-resources-plugin:2.2-SNAPSHOT:resources org.apache.maven.plugins:maven-compiler-plugin:2.1-SNAPSHOT:compile  org.apache.maven.plugins:maven-jar-plugin:2.1-SNAPSHOT:jar org.apache.maven.plugins:maven-install-plugin:2.2-SNAPSHOT:install
1163     cd - # }}}
1164 done
1165
1166 # Test 41 expects core-it-support 1.2 to be packed as a coreit-artifact
1167 (cd integration-tests/maven-core-it-support/1.2
1168 $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS org.apache.maven.plugins:maven-install-plugin:2.2-SNAPSHOT:install-file -DgroupId=org.apache.maven -DartifactId=maven-core-it-support -Dversion=1.2 -Dpackaging=coreit-artifact -Dfile=target/maven-core-it-support-1.2.jar
1169 )
1170
1171 OLD_MAVEN_OPTS=$MAVEN_OPTS
1172 MAVEN_OPTS="$MAVEN_OPTS -Dmaven.settings.file=$M2_SETTINGS_FILE -Dmaven2.ignore.versions  -Dmaven2.jpp.mode -Dmaven2.jpp.mode=true"
1173 sh -x %{SOURCE9}
1174 export MAVEN_OPTS=$OLD_MAVEN_OPTS
1175 )
1176
1177 %endif
1178
1179 # Build docs
1180
1181 # Manual iteration should not be needed, but there is a bug in the javadoc 
1182 # plugin which makes this necessary. See: 
1183 # http://jira.codehaus.org/browse/MJAVADOC-157
1184
1185 (cd maven
1186 for dir in `find -maxdepth 1 -type d`; do
1187
1188     if [ "$dir" == "./maven-core-it-runner" ]; then
1189         continue
1190     fi
1191
1192     if [ ! -f $dir/pom.xml ]; then
1193         continue
1194     fi 
1195
1196     cd $dir # {{{
1197     $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS -Dmaven2.usejppjars org.apache.maven.plugins:maven-javadoc-plugin:2.3-SNAPSHOT:javadoc
1198     cd - # }}}
1199 done
1200 )
1201 (cd maven-plugins
1202 for dir in `find -maxdepth 1 -type d`; do
1203
1204     if [ "$dir" == "./maven-clover-plugin" ]; then
1205         continue
1206     fi
1207
1208     if [ ! -f $dir/pom.xml ]; then
1209         continue
1210     fi
1211
1212     cd $dir # {{{
1213     $M2_HOME/bin/mvn -s %{maven_settings_file} $MAVEN_OPTS -Dmaven2.usejppjars org.apache.maven.plugins:maven-javadoc-plugin:2.3-SNAPSHOT:javadoc
1214     cd - # }}}
1215 done
1216 )
1217
1218 %install
1219 rm -rf $RPM_BUILD_ROOT
1220
1221 export M2_HOME=`pwd`/maven/home/apache-%{name}-%{version}
1222
1223 # Repository
1224 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/repository
1225
1226 # Items in /usr/bin/
1227 install -dm 755 $RPM_BUILD_ROOT%{_bindir}
1228 install -pm 755 %{SOURCE5} $RPM_BUILD_ROOT%{_bindir}/mvn
1229 install -pm 755 %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/mvn-jpp
1230
1231 # maven.home
1232 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}
1233 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
1234 cp -p $M2_HOME/bin/* $RPM_BUILD_ROOT%{_datadir}/%{name}/bin
1235
1236 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/boot
1237
1238 %if %{with bootstrap}
1239 cp -p $M2_HOME/boot/classworlds* $RPM_BUILD_ROOT%{_datadir}/%{name}/boot/classworlds.jar
1240 %endif
1241
1242 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/conf
1243 install -m 644 $M2_HOME/conf/* $RPM_BUILD_ROOT%{_datadir}/%{name}/conf
1244
1245 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
1246 cp -p $M2_HOME/lib/* $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
1247
1248 # Also, link maven jars from /usr/share/java
1249 install -dm 755 $RPM_BUILD_ROOT%{_javadir}/%{name}
1250 for library in $RPM_BUILD_ROOT%{_datadir}/%{name}/lib/maven-%{version}-uber.jar; do
1251     ln -s ../../%{name}/lib/`basename $library` $RPM_BUILD_ROOT%{_javadir}/%{name}/maven-uber.jar
1252 done
1253
1254 # Install component poms and jars
1255 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/poms
1256 cd %{name} # {{{
1257     for project in maven-artifact \
1258         maven-artifact-manager \
1259         maven-artifact-test \
1260         maven-core \
1261         maven-error-diagnostics \
1262         maven-model \
1263         maven-monitor \
1264         maven-plugin-api \
1265         maven-plugin-descriptor \
1266         maven-plugin-parameter-documenter \
1267         maven-plugin-registry \
1268         maven-profile \
1269         maven-project \
1270         maven-repository-metadata \
1271         maven-settings; do 
1272
1273         artifactname=`echo $project | sed -e s:^maven-::g`
1274         cp -p $project/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-$artifactname.pom
1275
1276         # dependency fragments
1277         %add_to_maven_depmap org.apache.maven $project %{version} JPP/%{name} $artifactname
1278
1279         install -m 644 $project/target/$project-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/$artifactname-%{version}.jar
1280
1281 %if %{without bootstrap}
1282         if [ "$project" == "maven-model" ]; then
1283           install -m 644 $project/target/$project-%{version}-all.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/$artifactname-all-%{version}.jar
1284         fi
1285 %endif
1286
1287     done
1288 cd - # }}}
1289
1290 # reporting api
1291 cp -p %{name}/maven-reporting/maven-reporting-api/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-reporting-api.pom
1292 %add_to_maven_depmap org.apache.maven.reporting maven-reporting-api %{version} JPP/%{name} reporting-api
1293 install -m 644 %{name}/maven-reporting/maven-reporting-api/target/*jar $RPM_BUILD_ROOT%{_javadir}/%{name}/reporting-api-%{version}.jar 
1294
1295 # script, script-ant and script-beanshell
1296 cp -p %{name}/maven-script/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-script.pom
1297 %add_to_maven_depmap org.apache.maven maven-script %{version} JPP/%{name} script
1298
1299 cp -p %{name}/maven-script/maven-script-ant/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-script-ant.pom
1300 %add_to_maven_depmap org.apache.maven maven-script-ant %{version} JPP/%{name} script-ant
1301 install -pm 644 %{name}/maven-script/maven-script-ant/target/maven-script-ant-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/script-ant-%{version}.jar
1302
1303 cp -p %{name}/maven-script/maven-script-beanshell/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-script-beanshell.pom
1304 %add_to_maven_depmap org.apache.maven maven-script-beanshell %{version} JPP/%{name} script-beanshell
1305 install -pm 644 %{name}/maven-script/maven-script-beanshell/target/maven-script-beanshell-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/script-beanshell-%{version}.jar
1306
1307 # reporting pom
1308 cp -p %{name}/maven-reporting/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-reporting.pom
1309 %add_to_maven_depmap org.apache.maven.reporting maven-reporting %{version} JPP/%{name} reporting
1310
1311 # maven pom
1312 cp -p %{name}/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven.pom
1313 %add_to_maven_depmap org.apache.maven maven %{version} JPP/%{name} maven
1314
1315 # Create versionless symlinks
1316 (cd $RPM_BUILD_ROOT%{_javadir}/%{name} && for jar in *-%{version}*; do ln -sf ${jar} `echo $jar | sed  "s|-%{version}||g"`; done)
1317
1318 # plugins
1319 install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/
1320
1321 cd maven-plugins # {{{
1322     for targetdir in `find -mindepth 2 -maxdepth 2 -type d -name target`; do
1323
1324         # Find the version version
1325         pluginname=`echo $targetdir | sed -e s:"^\\./"::g -e s:"/target$"::g`
1326         pluginversion=`ls $targetdir/*jar | awk -F / '{print $NF}' | sed -e s:"^$pluginname-"::g -e s:"\\.jar$"::g`
1327         artifactname=`echo $pluginname | sed -e s:^maven-::g`
1328
1329         #jar 
1330         cp -p $targetdir/*jar $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/$artifactname-$pluginversion.jar
1331         ln -s $artifactname-$pluginversion.jar $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/$artifactname.jar
1332
1333         # pom
1334         cp -p `dirname $targetdir`/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}.plugins-$artifactname.pom
1335         %add_to_maven_depmap org.apache.maven.plugins $pluginname $pluginversion JPP/%{name}/plugins $artifactname
1336
1337     done
1338 cd - # }}}
1339
1340 # g=org.apache.maven.plugins a=maven-plugins needs to be copied manually, as 
1341 # it get's changed to a=plugins (a=plugins and a=maven-plugins is the same 
1342 # file, but the former is needed for compatiblity while newer projects use 
1343 # the latter)
1344 cp -p maven-plugins/target/*jar $RPM_BUILD_ROOT%{_datadir}/%{name}/plugins/maven-plugins.jar
1345 cp -p maven-plugins/pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.maven.plugins-maven-plugins.pom
1346 %add_to_maven_depmap org.apache.maven.plugins maven-plugins 9-SNAPSHOT JPP/%{name}/plugins maven-plugins
1347
1348 # The empty dependencies
1349 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/poms
1350 mkdir -p $RPM_BUILD_ROOT%{_javadir}/%{name}
1351 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.maven-empty-dep.pom
1352 cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_javadir}/%{name}/empty-dep.jar
1353
1354 # For backwards compatibility
1355 ln -s JPP.maven-core.pom $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.maven-mavencore.pom
1356
1357 # javadocs
1358 install -dm 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}
1359 ln -s %{name}-%{version} $RPM_BUILD_ROOT%{_javadocdir}/%{name} # ghost symlink
1360
1361 (cd maven
1362     for doc_dir in `find . -type d -name apidocs`; do 
1363         module=`echo $doc_dir | sed -e s:"^\\./"::g -e s:"/target/site/apidocs$"::g`
1364         targetdir=$RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$module
1365         install -dm 755  $targetdir
1366         cp -pr $doc_dir/* $targetdir
1367     done
1368 )
1369
1370 (cd maven-plugins
1371     for doc_dir in `find . -type d -name apidocs`; do 
1372         module=`echo $doc_dir | sed -e s:"^\\./"::g -e s:"/target/site/apidocs$"::g`
1373         targetdir=$RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version}/$module
1374         install -dm 755 $targetdir
1375         cp -pr $doc_dir/* $targetdir
1376     done
1377 )
1378
1379 # manual and jpp readme
1380 install -dm 755 $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
1381 cp -p %{name}/home/apache-%{name}-%{version}/*.txt $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
1382 cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
1383
1384 # create appropriate links in /usr/share/java
1385 ln -sf %{_datadir}/%{name}/poms $RPM_BUILD_ROOT%{_javadir}/%{name}
1386 ln -sf %{_datadir}/%{name}/plugins $RPM_BUILD_ROOT%{_javadir}/%{name}
1387
1388 # Create repository links
1389 ln -s %{_javadir} $RPM_BUILD_ROOT%{_datadir}/%{name}/repository/JPP
1390
1391 # Create the bootstrap repo
1392 %if %{with bootstrap}
1393 install -dm 755  $RPM_BUILD_ROOT%{_datadir}/%{name}/bootstrap_repo
1394 tar xzf %{SOURCE4}
1395 mv m2_repo/repository/JPP $RPM_BUILD_ROOT%{_datadir}/%{name}/bootstrap_repo/
1396 rmdir -p m2_repo/repository
1397 %endif
1398
1399 %if %{with repolib}
1400 install -d -m 755 $RPM_BUILD_ROOT%{repodir}
1401 install -d -m 755 $RPM_BUILD_ROOT%{repodirlib}
1402 install -p -m 644 %{SOURCE100} $RPM_BUILD_ROOT%{repodir}/component-info.xml
1403 sed -i 's/@VERSION@/%{version}-brew/g' $RPM_BUILD_ROOT%{repodir}/component-info.xml
1404 tag=`echo %{name}-%{version}-%{release} | sed 's|\.|_|g'`
1405 sed -i "s/@TAG@/$tag/g" $RPM_BUILD_ROOT%{repodir}/component-info.xml
1406 install -d -m 755 $RPM_BUILD_ROOT%{repodirsrc}
1407 install -p -m 644 %{SOURCE0} $RPM_BUILD_ROOT%{repodirsrc}
1408 install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{repodirsrc}
1409 install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{repodirsrc}
1410 install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{repodirsrc}
1411 install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{repodirsrc}
1412 install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{repodirsrc}
1413 install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{repodirsrc}
1414 install -p -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{repodirsrc}
1415 install -p -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{repodirsrc}
1416 install -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{repodirsrc}
1417 install -p -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{repodirsrc}
1418 install -p -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{repodirsrc}
1419 install -p -m 644 %{SOURCE13} $RPM_BUILD_ROOT%{repodirsrc}
1420 install -p -m 644 %{SOURCE14} $RPM_BUILD_ROOT%{repodirsrc}
1421 install -p -m 644 %{SOURCE15} $RPM_BUILD_ROOT%{repodirsrc}
1422 install -p -m 644 %{SOURCE16} $RPM_BUILD_ROOT%{repodirsrc}
1423 install -p -m 644 %{SOURCE17} $RPM_BUILD_ROOT%{repodirsrc}
1424 install -p -m 644 %{SOURCE22} $RPM_BUILD_ROOT%{repodirsrc}
1425 install -p -m 644 %{PATCH0} $RPM_BUILD_ROOT%{repodirsrc}
1426 install -p -m 644 %{PATCH1} $RPM_BUILD_ROOT%{repodirsrc}
1427 install -p -m 644 %{PATCH2} $RPM_BUILD_ROOT%{repodirsrc}
1428 install -p -m 644 %{PATCH3} $RPM_BUILD_ROOT%{repodirsrc}
1429 install -p -m 644 %{PATCH4} $RPM_BUILD_ROOT%{repodirsrc}
1430 install -p -m 644 %{PATCH5} $RPM_BUILD_ROOT%{repodirsrc}
1431 install -p -m 644 %{PATCH6} $RPM_BUILD_ROOT%{repodirsrc}
1432 install -p -m 644 %{PATCH7} $RPM_BUILD_ROOT%{repodirsrc}
1433 install -p -m 644 %{PATCH8} $RPM_BUILD_ROOT%{repodirsrc}
1434 install -p -m 644 %{PATCH9} $RPM_BUILD_ROOT%{repodirsrc}
1435 install -p -m 644 %{PATCH10} $RPM_BUILD_ROOT%{repodirsrc}
1436 install -p -m 644 %{PATCH11} $RPM_BUILD_ROOT%{repodirsrc}
1437 install -p -m 644 %{PATCH12} $RPM_BUILD_ROOT%{repodirsrc}
1438 install -p -m 644 %{PATCH14} $RPM_BUILD_ROOT%{repodirsrc}
1439 install -p -m 644 %{PATCH16} $RPM_BUILD_ROOT%{repodirsrc}
1440 install -p -m 644 %{PATCH18} $RPM_BUILD_ROOT%{repodirsrc}
1441 for jar in project.jar settings.jar model.jar profile.jar artifact-manager.jar repository-metadata.jar artifact.jar plugin-registry.jar error-diagnostics.jar; do
1442     cp -p %{buildroot}%{_javadir}/%{name}/${jar} %{buildroot}%{repodirlib}/maven-${jar}
1443 done
1444 %endif
1445
1446 %clean
1447 rm -rf $RPM_BUILD_ROOT
1448
1449 %post
1450
1451 # clear the old links
1452 find %{_datadir}/%{name}/boot/ -type l -exec rm -f '{}' \;
1453 find %{_datadir}/%{name}/lib/ -type l -exec rm -f '{}' \;
1454
1455 %if %{without bootstrap}
1456 build-jar-repository -s -p %{_datadir}/%{name}/boot classworlds
1457
1458 build-jar-repository -s -p %{_datadir}/%{name}/lib \
1459                 commons-cli \
1460                 commons-lang \
1461                 commons-logging \
1462                 jsch \
1463                 jtidy \
1464                 maven-doxia/sink-api \
1465                 maven-wagon/file \
1466                 maven-wagon/http-lightweight \
1467                 maven-wagon/http-shared \
1468                 maven-wagon/provider-api \
1469                 maven-wagon/ssh \
1470                 maven-wagon/ssh-common \
1471                 maven-wagon/ssh-external \
1472                 plexus/container-default \
1473                 plexus/interactivity-api \
1474                 plexus/utils
1475 %endif
1476
1477 build-jar-repository -s -p %{_datadir}/%{name}/lib \
1478                 jdom
1479
1480 %update_maven_depmap
1481
1482 # We create links in %post in the dir's below. rm -rf them.
1483 %preun -n %{name}
1484 [ $1 = 0 ] || exit 0
1485 rm -rf %{_datadir}/%{name}/lib/*
1486 rm -rf %{_datadir}/%{name}/core/*
1487
1488 %postun
1489 # FIXME: This doesn't always remove the plugins dir. It seems that rpm doesn't
1490 # honour the Requires(postun) as it should, causing maven to get uninstalled 
1491 # before some plugins are
1492 if [ -d %{_javadir}/%{name} ] ; then rmdir --ignore-fail-on-non-empty %{_javadir}/%{name} >& /dev/null; fi
1493 %update_maven_depmap
1494
1495 %files -n %{name}
1496 %defattr(-,root,root,-)
1497 %doc %{name}/maven-core/*.txt
1498 %attr(0755,root,root) %{_bindir}/mvn
1499 %attr(0755,root,root) %{_bindir}/mvn-jpp
1500 %dir %{_datadir}/%{name}
1501 %dir %{_datadir}/%{name}/bin
1502 %{_datadir}/%{name}/bin/*.bat
1503 %config(noreplace) %{_datadir}/%{name}/bin/*.conf
1504 %attr(0755,root,root) %{_datadir}/%{name}/bin/m2
1505 %attr(0755,root,root) %{_datadir}/%{name}/bin/mvn
1506 %attr(0755,root,root) %{_datadir}/%{name}/bin/mvnDebug
1507 %{_datadir}/%{name}/boot
1508 %{_datadir}/%{name}/conf
1509 %{_datadir}/%{name}/lib
1510 %{_datadir}/%{name}/plugins/maven-plugins*jar
1511 %dir %{_datadir}/%{name}/plugins
1512 %{_datadir}/%{name}/poms
1513 %{_datadir}/%{name}/repository
1514 %{_mavendepmapfragdir}
1515 %{_javadir}/%{name}
1516
1517 %if %{with bootstrap}
1518 %{_datadir}/%{name}/bootstrap_repo
1519 %endif
1520
1521 %files javadoc
1522 %defattr(-,root,root,-)
1523 %doc %{_javadocdir}/*
1524
1525 %files manual
1526 %defattr(-,root,root,-)
1527 %doc %{_docdir}/%{name}-%{version}
1528
1529 %files plugin-ant
1530 %defattr(-,root,root,-)
1531 %dir %{_datadir}/%{name}/plugins
1532 %{_datadir}/%{name}/plugins/ant-plugin*.jar
1533
1534 %files plugin-antlr
1535 %defattr(-,root,root,-)
1536 %dir %{_datadir}/%{name}/plugins
1537 %{_datadir}/%{name}/plugins/antlr-plugin*.jar
1538
1539 %files plugin-antrun
1540 %defattr(-,root,root,-)
1541 %dir %{_datadir}/%{name}/plugins
1542 %{_datadir}/%{name}/plugins/antrun-plugin*.jar
1543
1544 %files plugin-assembly
1545 %defattr(-,root,root,-)
1546 %dir %{_datadir}/%{name}/plugins
1547 %{_datadir}/%{name}/plugins/assembly-plugin*.jar
1548
1549 %files plugin-changelog
1550 %defattr(-,root,root,-)
1551 %dir %{_datadir}/%{name}/plugins
1552 %{_datadir}/%{name}/plugins/changelog-plugin*.jar
1553
1554 %files plugin-changes
1555 %defattr(-,root,root,-)
1556 %dir %{_datadir}/%{name}/plugins
1557 %{_datadir}/%{name}/plugins/changes-plugin*.jar
1558
1559 %files plugin-checkstyle
1560 %defattr(-,root,root,-)
1561 %dir %{_datadir}/%{name}/plugins
1562 %{_datadir}/%{name}/plugins/checkstyle-plugin*.jar
1563
1564 %files plugin-clean
1565 %defattr(-,root,root,-)
1566 %dir %{_datadir}/%{name}/plugins
1567 %{_datadir}/%{name}/plugins/clean-plugin*.jar
1568
1569 %files plugin-compiler
1570 %defattr(-,root,root,-)
1571 %dir %{_datadir}/%{name}/plugins
1572 %{_datadir}/%{name}/plugins/compiler-plugin*.jar
1573
1574 %files plugin-dependency
1575 %defattr(-,root,root,-)
1576 %dir %{_datadir}/%{name}/plugins
1577 %{_datadir}/%{name}/plugins/dependency-plugin*.jar
1578
1579 %files plugin-deploy
1580 %defattr(-,root,root,-)
1581 %dir %{_datadir}/%{name}/plugins
1582 %{_datadir}/%{name}/plugins/deploy-plugin*.jar
1583
1584 %files plugin-doap
1585 %defattr(-,root,root,-)
1586 %dir %{_datadir}/%{name}/plugins
1587 %{_datadir}/%{name}/plugins/doap-plugin*.jar
1588
1589 %files plugin-docck
1590 %defattr(-,root,root,-)
1591 %dir %{_datadir}/%{name}/plugins
1592 %{_datadir}/%{name}/plugins/docck-plugin*.jar
1593
1594 %files plugin-ear
1595 %defattr(-,root,root,-)
1596 %dir %{_datadir}/%{name}/plugins
1597 %{_datadir}/%{name}/plugins/ear-plugin*.jar
1598
1599 %files plugin-eclipse
1600 %defattr(-,root,root,-)
1601 %dir %{_datadir}/%{name}/plugins
1602 %{_datadir}/%{name}/plugins/eclipse-plugin*.jar
1603
1604 %files plugin-ejb
1605 %defattr(-,root,root,-)
1606 %dir %{_datadir}/%{name}/plugins
1607 %{_datadir}/%{name}/plugins/ejb-plugin*.jar
1608
1609 %files plugin-gpg
1610 %defattr(-,root,root,-)
1611 %dir %{_datadir}/%{name}/plugins
1612 %{_datadir}/%{name}/plugins/gpg-plugin*.jar
1613
1614 %files plugin-help
1615 %defattr(-,root,root,-)
1616 %dir %{_datadir}/%{name}/plugins
1617 %{_datadir}/%{name}/plugins/help-plugin*.jar
1618
1619 %files plugin-idea
1620 %defattr(-,root,root,-)
1621 %dir %{_datadir}/%{name}/plugins
1622 %{_datadir}/%{name}/plugins/idea-plugin*.jar
1623
1624 %files plugin-install
1625 %defattr(-,root,root,-)
1626 %dir %{_datadir}/%{name}/plugins
1627 %{_datadir}/%{name}/plugins/install-plugin*.jar
1628
1629 %files plugin-invoker
1630 %defattr(-,root,root,-)
1631 %dir %{_datadir}/%{name}/plugins
1632 %{_datadir}/%{name}/plugins/invoker-plugin*.jar
1633
1634 %files plugin-jar
1635 %defattr(-,root,root,-)
1636 %dir %{_datadir}/%{name}/plugins
1637 %{_datadir}/%{name}/plugins/jar-plugin*.jar
1638
1639 %files plugin-javadoc
1640 %defattr(-,root,root,-)
1641 %dir %{_datadir}/%{name}/plugins
1642 %{_datadir}/%{name}/plugins/javadoc-plugin*.jar
1643
1644 %files plugin-one
1645 %defattr(-,root,root,-)
1646 %dir %{_datadir}/%{name}/plugins
1647 %{_datadir}/%{name}/plugins/one-plugin*.jar
1648
1649 %files plugin-plugin
1650 %defattr(-,root,root,-)
1651 %dir %{_datadir}/%{name}/plugins
1652 %{_datadir}/%{name}/plugins/plugin-plugin*.jar
1653
1654 %files plugin-pmd
1655 %defattr(-,root,root,-)
1656 %dir %{_datadir}/%{name}/plugins
1657 %{_datadir}/%{name}/plugins/pmd-plugin*.jar
1658
1659 %files plugin-project-info-reports
1660 %defattr(-,root,root,-)
1661 %dir %{_datadir}/%{name}/plugins
1662 %{_datadir}/%{name}/plugins/project-info-reports-plugin*.jar
1663
1664 %files plugin-rar
1665 %defattr(-,root,root,-)
1666 %dir %{_datadir}/%{name}/plugins
1667 %{_datadir}/%{name}/plugins/rar-plugin*.jar
1668
1669 %files plugin-remote-resources
1670 %defattr(-,root,root,-)
1671 %dir %{_datadir}/%{name}/plugins
1672 %{_datadir}/%{name}/plugins/remote-resources-plugin*.jar
1673
1674 %files plugin-repository
1675 %defattr(-,root,root,-)
1676 %dir %{_datadir}/%{name}/plugins
1677 %{_datadir}/%{name}/plugins/repository-plugin*.jar
1678
1679 %files plugin-resources
1680 %defattr(-,root,root,-)
1681 %dir %{_datadir}/%{name}/plugins
1682 %{_datadir}/%{name}/plugins/resources-plugin*.jar
1683
1684 %files plugin-site
1685 %defattr(-,root,root,-)
1686 %dir %{_datadir}/%{name}/plugins
1687 %{_datadir}/%{name}/plugins/site-plugin*.jar
1688
1689 %files plugin-source
1690 %defattr(-,root,root,-)
1691 %dir %{_datadir}/%{name}/plugins
1692 %{_datadir}/%{name}/plugins/source-plugin*.jar
1693
1694 %files plugin-stage
1695 %defattr(-,root,root,-)
1696 %dir %{_datadir}/%{name}/plugins
1697 %{_datadir}/%{name}/plugins/stage-plugin*.jar
1698
1699 %files plugin-verifier
1700 %defattr(-,root,root,-)
1701 %dir %{_datadir}/%{name}/plugins
1702 %{_datadir}/%{name}/plugins/verifier-plugin*.jar
1703
1704 %files plugin-war
1705 %defattr(-,root,root,-)
1706 %dir %{_datadir}/%{name}/plugins
1707 %{_datadir}/%{name}/plugins/war-plugin*.jar
1708
1709 %if %{with repolib}
1710 %files repolib
1711 %defattr(0644,root,root,0755)
1712 %{_javadir}/repository.jboss.com
1713 %endif
1714
1715 %changelog
1716 * Fri Mar 12 2010 David Walluck <dwalluck@redhat.com> 0:2.0.8-26
1717 - more merging with RHEL-4-EP-5 0:2.0.8-10.40
1718
1719 * Fri Mar 12 2010 David Walluck <dwalluck@redhat.com> 0:2.0.8-25
1720 - update java source files from RHEL-4-EP-5 0:2.0.8-10.40
1721
1722 * Thu Mar 11 2010 David Walluck <dwalluck@redhat.com> 0:2.0.8-24
1723 - merge some patches from RHEL-4-EP-5 0:2.0.8-10.40
1724
1725 * Wed Sep 02 2009 Ralph Apel <r.apel@r-apel.de> 0:2.0.8-23
1726 - rebuild without_bootstrap
1727
1728 * Wed Sep 02 2009 Ralph Apel <r.apel@r-apel.de> 0:2.0.8-22
1729 - try to relax maven-surefire requirements
1730 - drop excessive BRs in bootstrap mode
1731
1732 * Thu Jun 11 2009 David Walluck <dwalluck@redhat.com> 0:2.0.8-21
1733 - add repolib
1734
1735 * Fri May 22 2009 David Walluck <dwalluck@redhat.com> 0:2.0.8-20
1736 - update maven-surefire BuildRequires
1737
1738 * Mon May 04 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-19
1739 - Rebuild
1740
1741 * Tue Apr 21 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-18
1742 - Build model-all.jar for model-v3 needed by maven-shared-model-converter, Merged from RHEL-4-EP-5 0:2.0.8-10.17
1743
1744 * Tue Apr 21 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-17
1745 - rebuild in non-bootstrap mode with plexus-cdc alpha10
1746
1747 * Tue Apr 21 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-16
1748 - rebuild in bootstrap mode with plexus-cdc alpha10
1749
1750 * Thu Apr 02 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-15
1751 - fix jpp depmap issues of maven-shared-plugin-tools-api, maven-shared-plugin-tools-beanshell, maven-shared-plugin-tools-java
1752 - cp maven-assembly-plugin/../components.xml manually to fix java.io.FileNotFoundException
1753 - rebuild in non-bootstrap mode
1754
1755 * Thu Apr 02 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-14
1756 - rebuild in bootstrap mode to fix PluginDescriptor issue
1757
1758 * Wed Apr 01 2009 Fernando Nasser <fnasser@redhat.com> - 0:2.0.8-13
1759 - Build in bootstrap mode
1760
1761 * Mon Mar 23 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-12
1762 - add maven2-plugins-jpprepolayout.patch
1763
1764 * Mon Mar 23 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-11
1765 - rebuild in non-bootstrap mode
1766
1767 * Mon Mar 23 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-10
1768 - remove Obsoletes: maven-surefire-plugin
1769
1770 * Tue Mar 16 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-9
1771 - Merge from RHEL-4-EP-5, add missing BRs/Reqs, add patches
1772
1773 * Tue Mar 11 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-8
1774 - Add missing Requires: maven-shared-plugin-tools-java, maven-shared-plugin-tools-beanshell for subpackage plugin-plugin
1775
1776 * Tue Mar 10 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-7
1777 - Add Requires: tomcat5, excalibur-avalon-logkit, excalibur-avalon-framework
1778
1779 * Wed Mar 05 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-6
1780 - Provides: maven2-bootstrap >= 2.0.7
1781
1782 * Wed Mar 05 2009 Yong Yang <yyang@redhat.com> - 0:2.0.8-5
1783 - Add Obsoletes maven2-bootstrap <= 2.0.7, maven-release, maven-surefire-plugin
1784
1785 * Wed Mar 04 2009 Deepak Bhole <dbhole@redhat.com> - 0:2.0.8-4
1786 - Add patch for commons-cli 1.1
1787
1788 * Fri Feb 20 2009 Yong Yang <yyang@redhat.com> 2.0.8-3
1789 - add new maven-parent jpp depmap
1790
1791 * Wed Feb 18 2009 Yong Yang <yyang@redhat.com> 2.0.8-2
1792 - Import from dbhloes maven2 2.0.8 list, Initializing build with bootstrap mode on JPP6
1793 - Fix many BRs, jpp depmaps
1794
1795 * Tue Mar 20 2007 Deepak Bhole <dbhole@redhat.com> 0:2.0.4-10jpp.6
1796 - Build without bootstrap
1797
1798 * Tue Mar 20 2007 Deepak Bhole <dbhole@redhat.com> 2.0.4-10jpp.5
1799 - Force gcj_support to 0
1800
1801 * Tue Mar 20 2007 Deepak Bhole <dbhole@redhat.com> 2.0.4-10jpp.4
1802 - Build without gcj for now
1803
1804 * Fri Mar 16 2007 Deepak Bhole <dbhole@redhat.com> 0:2.0.4-10jpp.3
1805 - Added gcj support
1806 - Fix up per Fedora spec
1807 - Added source locations/generation methods for binary %%SOURCEes
1808 - Added workaround for gcj bug that causes plugin reload to fail
1809
1810 * Wed Dec 13 2006 Deepak Bhole <dbhole@redhat.com> 2.0.4-10jpp.2
1811 - Build without bootstrap
1812
1813 * Mon Dec 04 2006 Deepak Bhole <dbhole@redhat.com> 2.0.4-10jpp.1
1814 - Synch with jpp
1815 - From dbhole@redhat:
1816   - Added a new mapping system
1817   - Added a jpp howto
1818   - Added support for plugin mixing
1819   - Wired in /usr/share/maven2/repository as one of the default repos
1820   - Moved poms over to maven2-common-poms
1821   - Reverted to original plugin groupid's
1822   - Installer maven-{artifact-ant,embedder,meeper,script}
1823 - From r.apel@r-apel.de:
1824   - Fix maven-site-plugin pom in maven2-jpp-mapping.patch
1825   - Add maven-shared-file-management to plugin-assembly Requires 
1826   - Add post/postun Requires for javadoc
1827
1828 * Wed Jul 12 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.0.4-4jpp_1rh
1829 - Merge with upstream
1830
1831 * Mon Jul 10 2006 Deepak Bhole <dbhole@redhat.com> - 0:2.0.4-4jpp
1832 - Additional fixes (mostly to the dependency transformer xsl) for itests.
1833 - Added a --with regereratedpoms switch.
1834
1835 * Wed Jul 05 2006 Deepak Bhole <dbhole@redhat.com> - 0:2.0.4-3jpp
1836 - Added partial support for it tests, and appropriate fixes.
1837
1838 * Thu Jun 29 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.0.4-2jpp_2rh
1839 - Rebuild
1840
1841 * Tue Jun 27 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.0.4-2jpp_1rh
1842 - Full build
1843
1844 * Mon Jun 26 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.0.4-2jpp_0rh
1845 - Merge with upstream
1846 - Bootstrap building
1847
1848 * Thu Jun 22 2006 Deepak Bhole <dbhole@redhat.com> - 0:2.0.4-2jpp
1849 - Fixes for Tuscany building
1850
1851 * Fri Jun 02 2006 Deepak Bhole <dbhole@redhat.com> - 0:2.0.4-1jpp
1852 - Upgrade to 2.0.4
1853
1854 * Wed May 31 2006 Fernando Nasser <fnasser@redhat.com> - 0:2.0.2-1jpp_1rh
1855 - First Red Hat build
1856
1857 * Wed Feb 22 2006 Deepak Bhole <dbhole@redhat.com> - 0:2.0.2-1jpp
1858 - Initial build.
1859 # vim:foldmethod=marker
This page took 0.18113 seconds and 4 git commands to generate.