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