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