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