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