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