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