From Fedora Project Wiki

No edit summary
 
(172 intermediate revisions by 8 users not shown)
Line 1: Line 1:
= Maven Update =
= Maven Update =
There is a lot of work to do to update the version of Maven in Fedora.
This page hosts information about the next major Maven update (Maven 2.2.1 and Maven 3) in Fedora.  If you wish to help out with it, please feel free to contact [[User:dbhole  | Deepak]] or [[User:akurtakov  | Alexander]] for pointers.


== Maven 2.0.8 ==
= Maven 2.2.1 =
While this version of Maven is old, it is newer than what we have (2.0.4) and can hopefully be readied for Fedora 12.  The main tracker bug is [https://bugzilla.redhat.com/show_bug.cgi?id=429551 bug 429551]. Be sure to file any issues that are a part of this work as blockers of that bug.
The spec file for 2.2.1 will be written from scratch, as the current 2.0.x spec file has gotten convoluted over time, and is no longer maintainable. Another major change for the maven 2.2.1 set will be that plugins will not longer come from the maven2 srpm. Instead, each plugin will have its own rpm.


In order to build some of the packages below that are higher up the dependency chain, you will need some of the packages lower on the dependency chain.  If a simple <tt>yum --enablerepo=rawhide install</tt> of the packages you need doesn't work, you can try the repository of just-built packages, adjusting for your architecture as appropriate:
'''NOTE:''' To avoid breaking rawhide, we have a specified target for this task, the build instruction is "make build TARGET=dist-f14-maven221", and scratch build instruction is "koji build --scratch dist-f14-maven221 <src.rpm>".


<pre>
'''NOTE:''' Non core plugins (i.e. not needed to build maven itself) are not listed here but on a different page. [[MavenUpdatePlugins| See the list here]].
[koji]
name=Fedora 12 - i386
baseurl=http://koji.fedoraproject.org/static-repos/dist-f12-build-current/i386
enabled=0
</pre>


and then use <tt>yum --enablerepo=koji install</tt>
== Progress ==
Because maven updates (especially this one) are such a major undertaking, issues need to be tackled in stages. The current plan is as follows:


=== Packages that need work ===
{|
The following list ordering is important. Many of the below are "Pre-Review Requests".  We should just turn them into full review requests. The [http://fedoraproject.org/wiki/Packaging:Java Java packaging guidelines] and [https://fedoraproject.org/wiki/Packaging/Guidelines regular packaging guidelines] must be followed.
!Item !! Owner !! Status
|-
|Build bootstrap rpm with a single version (wherever possible) of each dependency || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span> '''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write script that can run through ~/.m2/ to gather the latest version, and link the rest to simulate a repo || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span> '''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write skeleton spec file that uses the above simulated repo to build maven (only %prep and %build) || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span> '''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare preliminary list of packages needed, what is in rawhide, and what subsequent steps are needed || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|Update patches for depmap/jpp repo support || [[User:dbhole | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Port existing patches || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update patchset for 2.2.1 || [[User:dbhole | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|Update rpm spec file to make bootstrap version installable and usable for builds || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|Post usable bootstrap rpm publicly || [[User:dbhole | Deepak Bhole]] || '''<span style="color:green">Done</span>''' [http://dbhole.fedorapeople.org/maven2-2.2.1-1.fc12.src.rpm]
|-
|From the simulated repo, remove jars for which packages exist in rawhide (at >= required version), and try to build with those packages installed || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|Finalize list of work that needs to be done in terms of package updates and new packages || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|Build bootstrap version in rawhide || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|-
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Build the bootstrap maven in rawhide tag in koji, (in separate tag ''if'' needed) || '''Distributed''' || '''<span style="color:green">Done</span>'''
|-
|Create/Build all the dependencies (updates and new packages) || '''Distributed''' || '''<span style="color:green">Done</span>'''
|-
|Finally, build maven in non-bootstrap mode || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
|}


* <s>maven2-common-poms (update) -- ready to be built (overholt, 2009-08-18)</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=127854 built]
== Dependency Info ==
* <s>maven-wagon (update)</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=127908 built]
Preliminary build has yielded some data about updates/new packages. This list should not be considered 100% accurate yet as some items that are being considered "OK" due to higher version, might cause errors. And vice-versa, items with lower versions may work perfectly fine.
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=499539 saxpath] </del>(new package) [http://koji.fedoraproject.org/koji/buildinfo?buildID=128071 build]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518238 backport-util-concurrent] (new package)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1633017 built]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=517914 aqute-bndlib] (new package)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1617653 built]
* <s>pmd (pom file added)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1615318 built]
* <s>plexus-classworlds (new package, [https://bugzilla.redhat.com/show_bug.cgi?id=500246 pre-review] already [http://cvs.fedoraproject.org/viewvc/rpms/plexus-classworlds/ imported to CVS], [https://bugzilla.redhat.com/show_bug.cgi?id=518310 full review request])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1617781 built]
* <s>plexus-utils (update)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1615531 built]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518489 plexus-containers] ([https://bugzilla.redhat.com/show_bug.cgi?id=518489 up for review], [https://bugzilla.redhat.com/show_bug.cgi?id=500247 old pre-review request])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1618018 build]
* <s>modello (update)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1618458 build]
* <s>itext (add POM; maven-doxia needs this [http://overholt.fedorapeople.org/itext-addpom.patch patch], [http://repo2.maven.org/maven2/com/lowagie/itext/2.1.7/itext-2.1.7.pom pom file])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1639045 built]
* <s>plexus-cdc</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=128154 build]
* <s>plexus-maven-plugin</s> (tagged,[http://koji.fedoraproject.org/koji/taskinfo?taskID=1620421 build])
* <s>plexus-xmlrpc</s> (no work needed)
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518550 plexus-cli] ([https://bugzilla.redhat.com/show_bug.cgi?id=500248 old pre-review request])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1623814 built]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518634 plexus-digest] ([https://bugzilla.redhat.com/show_bug.cgi?id=500249 old pre-review request])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1623893 built]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518219 dumbster]</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=128103 build]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518650 plexus-mail-sender] ([https://bugzilla.redhat.com/show_bug.cgi?id=500252 old pre-review request])</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1623947 built]
* <s>plexus-velocity</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1624071 built]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518205 directory-naming]</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=128106 build]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518233 jakarta-commons-jxpath] (new package)</s> ([http://koji.fedoraproject.org/koji/buildinfo?buildID=128061 build])
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518365 jakarta-commons-configuration]</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=128120 build]
* <s>jakarta-commons-dbcp (update)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1618436 build]
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=500257 pre-review request] easymock (1.x)</s> ([http://koji.fedoraproject.org/koji/taskinfo?taskID=1618515 build])
* [https://bugzilla.redhat.com/show_bug.cgi?id=500259 javacvs] (see [https://bugzilla.redhat.com/show_bug.cgi?id=500259#c3 bug 500259#c3]; this package: [http://koji.fedoraproject.org/koji/fileinfo?rpmID=1484445&filename=/usr/share/netbeans/ide11/modules/org-netbeans-lib-cvsclient.jar netbeans-ide11] contains the same JAR and I think we'll just need to add the POM file to it (assuming API stability))


maven2 is [http://koji.fedoraproject.org/koji/taskinfo?taskID=1635898 built] in koji, built in bootstrap mode
Items with a <s>strikethrough</s> were needed with upstream build, but are no longer needed.


* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=518010 maven-surefire] (update to 2.3)</del> [http://koji.fedoraproject.org/koji/buildinfo?buildID=127817 built]
{|
* [https://bugzilla.redhat.com/show_bug.cgi?id=519051 maven2-plugin-shade] ([https://bugzilla.redhat.com/show_bug.cgi?id=500261 old pre-review request] (new package, awaiting build for review)
! Jars pulled !! Package !! Required Version !! Version in Rawhide !! Status (For now)
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=519236 plexus-resources] ([https://bugzilla.redhat.com/show_bug.cgi?id=500264 old pre-review request)] (new package)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1638868 built]
|-
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=519425 plexus-naming] ([https://bugzilla.redhat.com/show_bug.cgi?id=500265 old pre-review request] new package)</s> [http://koji.fedoraproject.org/koji/taskinfo?taskID=1645716 built]
|
* [https://bugzilla.redhat.com/show_bug.cgi?id=519488 plexus-registry] ([https://bugzilla.redhat.com/show_bug.cgi?id=500266 old pre-review request], new package, awaiting CVS)
asm:asm:3.1<br/>
* maven-doxia (changes in CVS. needs tagging and building) (needed some XmlTo* classes resurrected from iText 1.4; [http://overholt.fedorapeople.org/itext-xmloutput2.patch proposed patch to iText], [https://sourceforge.net/tracker/?func=detail&aid=2846427&group_id=15255&atid=365255 upstream tracker for iText patch], [http://jira.codehaus.org/browse/DOXIA-53 upstream tracker for iText + Doxia])
asm:asm-commons:3.1<br/>
* [https://bugzilla.redhat.com/show_bug.cgi?id=520202 maven-doxia-sitetools] (new package, [https://bugzilla.redhat.com/show_bug.cgi?id=500267 old pre-review request])
asm:asm-tree:3.1<br/>
* maven-shared (update) done in CVS, awaiting plexus-registry review
asm:asm-util:3.1<br/>
* jmock - version older than 2.0 required (new package)
| objectweb-asm
* [https://bugzilla.redhat.com/show_bug.cgi?id=520485 maven-plugins-tools] (new package, [https://bugzilla.redhat.com/show_bug.cgi?id=500268 old pre-review request])
| 3.1
* [https://bugzilla.redhat.com/show_bug.cgi?id=500269 maven-embedder] (new package)
| 3.1
* maven-scm (update; will need to be changed for the javacvs -> netbeans-ide10 change)
| <span style="color:green">OK</span>
* [https://bugzilla.redhat.com/show_bug.cgi?id=500270 maven-enforcer-rule-api] (new package)
|-
* [https://bugzilla.redhat.com/show_bug.cgi?id=500271 maven-archiver] (new package)
| backport-util-concurrent:backport-util-concurrent:3.1
* ganymed-ssh2 (update to include POM from maven2/default_poms)
| backport-util-concurrent
| 3.1
| 3.1
| <span style="color:green">OK</span>
|-
| bsh:bsh:1.3.0
| bsh
| 1.3.0
| 1.3.0
| <span style="color:green">OK</span>
|-
| classworlds:classworlds:1.1
| classworlds
| 1.1
| 1.1
| <span style="color:green">OK</span>
|-
| com:jcraft:jsch:0.1.38
| jsch
| 0.1.38
| 0.1.41
| <span style="color:green">OK</span>
|-
| commons-cli:commons-cli:1.2
| jakarta-commons-cli
| 1.2
| 1.1
| <span style="color:green">OK</span>
|-
| commons-codec:commons-codec:1.2
| jakarta-commons-codec
| 1.2
| 1.4
| <span style="color:green">OK</span>
|-
| commons-collections:commons-collections:3.2
| jakarta-commons-collections
| 3.2
| 3.2.1
| <span style="color:green">OK</span>
|-
| commons-httpclient:commons-httpclient:3.1
| jakarta-commons-httpclient
| 3.1
| 3.1
| <span style="color:green">OK</span>
|-
| commons-io:commons-io:1.4
| jakarta-commons-io
| 1.4
| 1.4
| <span style="color:green">OK</span>
|-
| commons-lang:commons-lang:2.3
| jakarta-commons-lang
| 2.3
| 2.3
| <span style="color:green">OK</span>
|-
| commons-logging:commons-logging:1.0.4
| jakarta-commons-logging
| 1.0.4
| 1.0.4
| <span style="color:green">OK</span>
|-
| easymock:easymock:1.2_Java1.3
| easymock
| 1.2
| 1.2
| <span style="color:green">OK</span>
|-
| edu/umd/cs/mtc:multithreadedtc-jdk14:1.01
| multithreadedtc
| 1.01
| 1.01
| <span style="color:green">OK</span>
|-
| jdom:jdom:1.0
| jdom
| 1.0
| 1.0
| <span style="color:green">OK</span>
|-
| junit:junit:3.8.1
| junit
| 3.8.1
| 3.8.2
| <span style="color:green">OK</span>
|-
|
nekohtml:nekohtml:1.9.6.2<br/>
nekohtml:xercesMinimal:1.9.6.2<br/>
| nekohtml
| 1.9.6.2
| 0.9.5
| <span style="color:green">OK</span>
|-
| <s>net/sf/retrotranslator:retrotranslator-runtime:1.2.7</s>
| <s>retrotranslator</s>
| <s>1.2.7</s>
| <s>None</s>
| <span style="color:orange"><s>New package? yyang (we should not need this one if multitreadedtc is build without it)</s></span>
|-
|
org/apache:ant:ant:1.7.1<br/>
org/apache:ant:ant-launcher:1.7.1<br/>
| ant
| 1.7.1
| 1.7.1
| <span style="color:green">OK</span>
|-
| org/apache:apache-jar-resource-bundle:1.4
| apache-resource-bundles
| 1.4
| 1.4
| <span style="color:green">OK</span>
|-
|
<s>org/apache:jackrabbit:jackrabbit-jcr-commons:1.5.0</s><br/>
<s>org/apache:jackrabbit:jackrabbit-webdav:1.5.0</s>
| <s>jackrabbit</s>
| <s>1.5.0</s>
| <s>None</s>
| <span style="color:orange"><s>New package? (In-Progress:yyang)</s></span>
|-
| <s>javax/jcr:jcr:1.0</s>
| <s>jcr</s>
| <s>1.0</s>
| <s>None</s>
| <span style="color:orange"><s>New package? (In-Progress:yyang)</s></span>
|-
| <s>org/apache/poi:poi:3.2-FINAL</s>
| <s>jakarta-poi</s>
| <s>3.2</s>
| <s>None</s>
| <span style="color:orange"><s>New package? (In-Progress:yyang)</s></span>
|-
| org/apache/maven:apache-maven:2.2.1
| maven2
| 2.2.1
| 2.0.8
| <span style="color:orange">Needs update</span>
|-
|
org/apache/maven/doxia:doxia-core:1.0<br/>
org/apache/maven/doxia:doxia-decoration-model:1.0<br/>
org/apache/maven/doxia:doxia-logging-api:1.1<br/>
org/apache/maven/doxia:doxia-module-apt:1.0<br/>
org/apache/maven/doxia:doxia-module-fml:1.0<br/>
org/apache/maven/doxia:doxia-module-xdoc:1.0<br/>
org/apache/maven/doxia:doxia-module-xhtml:1.0<br/>
org/apache/maven/doxia:doxia-sink-api:1.1<br/>
org/apache/maven/doxia:doxia-site-renderer:1.0
| maven-doxia
| 1.1
| 1.1.2
| <span style="color:green">OK</span>
|-
|
org/apache/maven:enforcer:enforcer-api:1.0-beta-1<br/>
org/apache/maven:enforcer:enforcer-rules:1.0-beta-1<br/>
org/apache/maven/plugins:maven-enforcer-plugin:1.0-beta-1
| maven-enforcer
| 1.0-beta-1
| 1.0-beta-2
| <span style="color:green">OK</span>
|-
|
org/mortbay:jetty:jetty:6.1.5<br/>
org/mortbay:jetty:jetty-util:6.1.5<br/>
org/mortbay:jetty:servlet-api-2.5:6.1.5
| jetty
| 6.1.5
| 6.1.21
| <span style="color:green">OK</span>
|-
| org/apache/maven:maven-archiver:2.4
| maven-archiver
| 2.4
| 2.4
| <span style="color:green">OK</span>
|-
|
org/apache/maven:maven-artifact:2.2.1<br/>
org/apache/maven:maven-artifact-manager:2.2.1<br/>
org/apache/maven:maven-artifact-test:2.2.1<br/>
org/apache/maven:maven-compat:2.2.1<br/>
org/apache/maven:maven-core:2.2.1<br/>
org/apache/maven:maven-error-diagnostics:2.2.1<br/>
org/apache/maven:maven-model:2.2.1<br/>
org/apache/maven:maven-monitor:2.2.1<br/>
org/apache/maven:maven-plugin-api:2.2.1<br/>
org/apache/maven:maven-plugin-descriptor:2.2.1<br/>
org/apache/maven:maven-plugin-parameter-documenter:2.2.1<br/>
org/apache/maven:maven-plugin-registry:2.2.1<br/>
org/apache/maven:maven-profile:2.2.1<br/>
org/apache/maven:maven-project:2.2.1<br/>
org/apache/maven:maven-repository-metadata:2.2.1<br/>
org/apache/maven:maven-script-ant:2.2.1<br/>
org/apache/maven:maven-script-beanshell:2.2.1<br/>
org/apache/maven:maven-settings:2.2.1<br/>
org/apache/maven:maven-toolchain:2.2.1
| maven2
| 2.2.1
| 2.0.8
| <span style="color:orange">Needs update</span>
|-
| org/apache/maven/plugins:maven-assembly-plugin:2.2-beta-4
| maven-assembly-plugin
| 2.2-beta-4
| 2.2-beta-4
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-clean-plugin:2.1.1
| maven-clean-plugin
| 2.1.1
| 2.4.1
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-compiler-plugin:2.0.2
| maven-compiler-plugin
| 2.0.2
| 2.0.2
| <span style="color:green">OK </span>
|-
| org/apache/maven/plugins:maven-install-plugin:2.1
| maven-install-plugin
| 2.3
| 2.3
| <span style="color:green">OK </span>
|-
| org/apache/maven/plugins:maven-jar-plugin:2.1
| maven-jar-plugin
| 2.1
| 2.3
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-pmd-plugin:2.4
| maven-pmd-plugin
| 2.4
| 2.5
| <span style="color:green">OK</span>
|-
| <s>org/apache/maven/plugins:maven-remote-resources-plugin:1.0-beta-2</s>
| <s>maven-remote-resources-plugin</s>
| <s>1.1</s>
| <s>None</s>
| <span style="color:green"><s>OK</s></span>
|-
| org/apache/maven/plugins:maven-release-plugin:2.0
| maven-release
| 2.0
| 2.0
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-resources-plugin:2.2
| maven-resources-plugin
| 2.2
| 2.2
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-shade-plugin:1.2
| maven-shade-plugin
| 1.2
| 1.2.2
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-site-plugin:2.1
| maven-site-plugin
| 2.1
| 2.1
| <span style="color:green">OK</span>
|-
| org/apache/maven/plugins:maven-surefire-plugin:2.3
| maven-surefire-plugin
| 2.3
| 2.3
| <span style="color:green">OK</span>
|-
| org/apache/maven:reporting:maven-reporting-api:2.2.1
| maven-shared
| 2.2.1
| 2.0.8
| <span style="color:green">OK</span>
|-
|
org/apache/maven/scm:maven-scm-api:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-manager-plexus:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-clearcase:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-cvs-commons:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-cvsexe:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-perforce:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-starteam:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-svn-commons:1.0-beta-3<br/>
org/apache/maven/scm:maven-scm-provider-svnexe:1.0-beta-3
| maven-scm
| 1.0-beta-3
| 1.2
| <span style="color:green">OK</span>
|-
|
org/apache/maven/shared:file-management:1.1<br/>
org/apache/maven/shared:maven-common-artifact-filters:1.1<br/>
org/apache/maven/shared:maven-dependency-tree:1.1<br/>
org/apache/maven/shared:maven-downloader:1.1<br/>
org/apache/maven/shared:maven-repository-builder:1.0-alpha-2<br/>
org/apache/maven/shared:maven-shared-io:1.1
| maven-shared
| 8
| 14
| <span style="color:green">OK</span>
|-
|
org/apache/maven:surefire:surefire-api:2.3<br/>
org/apache/maven:surefire:surefire-booter:2.3<br/>
| maven-surefire
| 2.3
| 2.3
| <span style="color:green">OK</span>
|-
|
org/apache/maven:surefire:surefire-junit:2.3
| maven-surefire-provider-junit
| 2.3
| 2.3
| <span style="color:green">OK</span>
|-
|
org/apache/maven:wagon:wagon-file:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-http:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-http-lightweight:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-http-shared:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-provider-api:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-ssh:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-ssh-common:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-ssh-external:1.0-beta-6<br/>
org/apache/maven:wagon:wagon-webdav-jackrabbit:1.0-beta-6
| maven-wagon
| 1.0-beta-6
| 1.0-beta-2
| <span style="color:green">OK</span>
|-
| <s>org/beanshell:bsh:2.0b4</s>
| <s>bsh2</s>
| <s>2.0b4</s>
| <s>None</s>
| <span style="color:orange"><s>New package</s></span>
|-
|
org/codehaus/modello:modello-core:1.0.1<br/>
org/codehaus/modello:modello-maven-plugin:1.0.1<br/>
org/codehaus/modello:modello-plugin-converters:1.0.1<br/>
org/codehaus/modello:modello-plugin-dom4j:1.0.1<br/>
org/codehaus/modello:modello-plugin-java:1.0.1<br/>
org/codehaus/modello:modello-plugin-jdom:1.0.1<br/>
org/codehaus/modello:modello-plugin-stax:1.0.1<br/>
org/codehaus/modello:modello-plugin-xdoc:1.0.1<br/>
org/codehaus/modello:modello-plugin-xml:1.0.1<br/>
org/codehaus/modello:modello-plugin-xpp3:1.0.1<br/>
org/codehaus/modello:modello-plugin-xsd:1.0.1
| modello
| 1.0.1
| 1.0-alpha-15
| <span style="color:green">OK</span>
|-
| org/codehaus/mojo:buildnumber-maven-plugin:1.0-beta-4
| buildnumber-maven-plugin
| 1.0-beta-4
| None
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-active-collections:1.0-beta-2
| plexus-active-collections
| 1.0-beta-2
| None
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-ant-factory:1.0-alpha-2.1
| plexus-ant-factory
| 1.0-alpha-2.1
| 1.0-alpha-2.1
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-archiver:1.0-alpha-12
| plexus-archiver
| 1.0-alpha-12
| 1.0-alpha-12
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-bsh-factory:1.0-alpha-7
| plexus-bsh-factory
| 1.0-alpha-7
| 1.0-alpha-7
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-classworlds:1.2-alpha-9
| plexus-classworlds
| 1.2-alpha-9
| 1.2-alpha-9
| <span style="color:green">OK</span>
|-
|
org/codehaus/plexus:plexus-compiler-api:1.5.3<br/>
org/codehaus/plexus:plexus-compiler-javac:1.5.3<br/>
org/codehaus/plexus:plexus-compiler-manager:1.5.3
| plexus-compiler
| 1.5.3
| 1.5.2
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-component-api:1.0-alpha-15
| plexus-components
| 1.0-alpha-15
| None
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-container-default:1.0-alpha-30
| plexus-containers-container-default
| 1.0-alpha-30
| 1.0-alpha-34
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-container-default:1.0-alpha-9-stable-1
| plexus-container-default
| 1.0-alpha-9-stable-1
| 1.0-alpha-8
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-i18n:1.0-beta-7
| plexus-i18n
| 1.0-beta-7
| 1,0-beta-10
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-interactivity-api:1.0-alpha-6
| plexus-interactivity
| 1.0-alpha-6
| 1.0-alpha-5
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-interpolation:1.11
| plexus-interpolation
| 1.11
| 1.13
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-io:1.0-alpha-4
| plexus-io
| 1.0-alpha-4
| 1.0-alpha-5
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-resources:1.0-alpha-4
| plexus-resources
| 1.0-alpha-4
| 1.0-alpha-4
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-utils:1.5.12
| plexus-utils
| 1.5.12
| 2.0.5
| <span style="color:green">OK</span>
|-
| org/codehaus/plexus:plexus-velocity:1.1.7
| plexus-velocity
| 1.1.7
| 1.1.7
| <span style="color:green">OK</span>
|-
| org/sonatype/plexus:plexus-build-api:0.0.6
| plexus-build-api
| 0.0.6
| 0.0.6
| <span style="color:green">OK</span>
|-
| org/sonatype/plexus:plexus-cipher:1.5
| plexus-cipher
| 1.5
| 1.5
| <span style="color:green">OK</span>
|-
| org/sonatype/plexus:plexus-sec-dispatcher:1.3
| plexus-sec-dispatcher
| 1.4
| 1.4
| <span style="color:green">OK</span>
|-
| org/sonatype/forge:forge-parent:5
| forge-parent
| 5
| None
| <span style="color:green">OK</span>
|-
| org/sonatype/spice:spice-parent:15
| spice-parent
| 15
| None
| <span style="color:green">OK </span>
|-
| oro:oro:2.0.8
| jakarta-oro
| 2.0.8
| 2.0.8
| <span style="color:green">OK</span>
|-
| regexp:regexp:1.3
| regexp
| 1.3
| 1.5
| <span style="color:green">OK</span>
|-
|
org/slf4j:jcl-over-slf4j:1.5.6<br/>
org/slf4j:slf4j-api:1.5.6<br/>
org/slf4j:slf4j-jdk14:1.5.6<br/>
org/slf4j:slf4j-nop:1.5.3
| slf4j
| 1.5.6
| 1.5.6
| <span style="color:green">OK</span>
|-
|
org/apache/velocity:velocity:1.5<br/>
velocity:velocity:1.5<br/>
velocity:velocity-dep:1.5
| velocity
| 1.5
| 1.5
| <span style="color:green">OK</span>
|-
|}


== Maven 2.2.1 ==
= Maven 3 =
This is the most recent version of Maven (as of 2009-08-21). In order to simplify things, we have discussed the idea of splitting the Maven plugins into individual SRPMs. This will be a lot of initial work but will pay off by reducing long-term maintenance.
 
Maven 3 has been packaged. Package name: maven
 
 
 
== Ideas/Improvements ==
 
# Every package installing maven poms/depmaps should have "Provides: groupId:artifactId". Maven could then be updated with another resolver that would ask packagekit for given groupId:artifactId when resolving dependencies during compile/install phase. This should work similar to how bash currently suggest installing package if it fails to find command.

Latest revision as of 18:59, 19 January 2011

Maven Update

This page hosts information about the next major Maven update (Maven 2.2.1 and Maven 3) in Fedora. If you wish to help out with it, please feel free to contact Deepak or Alexander for pointers.

Maven 2.2.1

The spec file for 2.2.1 will be written from scratch, as the current 2.0.x spec file has gotten convoluted over time, and is no longer maintainable. Another major change for the maven 2.2.1 set will be that plugins will not longer come from the maven2 srpm. Instead, each plugin will have its own rpm.

NOTE: To avoid breaking rawhide, we have a specified target for this task, the build instruction is "make build TARGET=dist-f14-maven221", and scratch build instruction is "koji build --scratch dist-f14-maven221 <src.rpm>".

NOTE: Non core plugins (i.e. not needed to build maven itself) are not listed here but on a different page. See the list here.

Progress

Because maven updates (especially this one) are such a major undertaking, issues need to be tackled in stages. The current plan is as follows:

Item Owner Status
Build bootstrap rpm with a single version (wherever possible) of each dependency Deepak Bhole Done
      Write script that can run through ~/.m2/ to gather the latest version, and link the rest to simulate a repo Deepak Bhole Done
      Write skeleton spec file that uses the above simulated repo to build maven (only %prep and %build) Deepak Bhole Done
      Prepare preliminary list of packages needed, what is in rawhide, and what subsequent steps are needed Deepak Bhole Done
Update patches for depmap/jpp repo support Deepak Bhole Done
      Port existing patches Deepak Bhole Done
      Update patchset for 2.2.1 Deepak Bhole Done
Update rpm spec file to make bootstrap version installable and usable for builds Deepak Bhole Done
Post usable bootstrap rpm publicly Deepak Bhole Done [1]
From the simulated repo, remove jars for which packages exist in rawhide (at >= required version), and try to build with those packages installed Deepak Bhole Done
Finalize list of work that needs to be done in terms of package updates and new packages Deepak Bhole Done
Build bootstrap version in rawhide Deepak Bhole Done
      Build the bootstrap maven in rawhide tag in koji, (in separate tag if needed) Distributed Done
Create/Build all the dependencies (updates and new packages) Distributed Done
Finally, build maven in non-bootstrap mode Deepak Bhole Done

Dependency Info

Preliminary build has yielded some data about updates/new packages. This list should not be considered 100% accurate yet as some items that are being considered "OK" due to higher version, might cause errors. And vice-versa, items with lower versions may work perfectly fine.

Items with a strikethrough were needed with upstream build, but are no longer needed.

Jars pulled Package Required Version Version in Rawhide Status (For now)

asm:asm:3.1
asm:asm-commons:3.1
asm:asm-tree:3.1
asm:asm-util:3.1

objectweb-asm 3.1 3.1 OK
backport-util-concurrent:backport-util-concurrent:3.1 backport-util-concurrent 3.1 3.1 OK
bsh:bsh:1.3.0 bsh 1.3.0 1.3.0 OK
classworlds:classworlds:1.1 classworlds 1.1 1.1 OK
com:jcraft:jsch:0.1.38 jsch 0.1.38 0.1.41 OK
commons-cli:commons-cli:1.2 jakarta-commons-cli 1.2 1.1 OK
commons-codec:commons-codec:1.2 jakarta-commons-codec 1.2 1.4 OK
commons-collections:commons-collections:3.2 jakarta-commons-collections 3.2 3.2.1 OK
commons-httpclient:commons-httpclient:3.1 jakarta-commons-httpclient 3.1 3.1 OK
commons-io:commons-io:1.4 jakarta-commons-io 1.4 1.4 OK
commons-lang:commons-lang:2.3 jakarta-commons-lang 2.3 2.3 OK
commons-logging:commons-logging:1.0.4 jakarta-commons-logging 1.0.4 1.0.4 OK
easymock:easymock:1.2_Java1.3 easymock 1.2 1.2 OK
edu/umd/cs/mtc:multithreadedtc-jdk14:1.01 multithreadedtc 1.01 1.01 OK
jdom:jdom:1.0 jdom 1.0 1.0 OK
junit:junit:3.8.1 junit 3.8.1 3.8.2 OK

nekohtml:nekohtml:1.9.6.2
nekohtml:xercesMinimal:1.9.6.2

nekohtml 1.9.6.2 0.9.5 OK
net/sf/retrotranslator:retrotranslator-runtime:1.2.7 retrotranslator 1.2.7 None New package? yyang (we should not need this one if multitreadedtc is build without it)

org/apache:ant:ant:1.7.1
org/apache:ant:ant-launcher:1.7.1

ant 1.7.1 1.7.1 OK
org/apache:apache-jar-resource-bundle:1.4 apache-resource-bundles 1.4 1.4 OK

org/apache:jackrabbit:jackrabbit-jcr-commons:1.5.0
org/apache:jackrabbit:jackrabbit-webdav:1.5.0

jackrabbit 1.5.0 None New package? (In-Progress:yyang)
javax/jcr:jcr:1.0 jcr 1.0 None New package? (In-Progress:yyang)
org/apache/poi:poi:3.2-FINAL jakarta-poi 3.2 None New package? (In-Progress:yyang)
org/apache/maven:apache-maven:2.2.1 maven2 2.2.1 2.0.8 Needs update

org/apache/maven/doxia:doxia-core:1.0
org/apache/maven/doxia:doxia-decoration-model:1.0
org/apache/maven/doxia:doxia-logging-api:1.1
org/apache/maven/doxia:doxia-module-apt:1.0
org/apache/maven/doxia:doxia-module-fml:1.0
org/apache/maven/doxia:doxia-module-xdoc:1.0
org/apache/maven/doxia:doxia-module-xhtml:1.0
org/apache/maven/doxia:doxia-sink-api:1.1
org/apache/maven/doxia:doxia-site-renderer:1.0

maven-doxia 1.1 1.1.2 OK

org/apache/maven:enforcer:enforcer-api:1.0-beta-1
org/apache/maven:enforcer:enforcer-rules:1.0-beta-1
org/apache/maven/plugins:maven-enforcer-plugin:1.0-beta-1

maven-enforcer 1.0-beta-1 1.0-beta-2 OK

org/mortbay:jetty:jetty:6.1.5
org/mortbay:jetty:jetty-util:6.1.5
org/mortbay:jetty:servlet-api-2.5:6.1.5

jetty 6.1.5 6.1.21 OK
org/apache/maven:maven-archiver:2.4 maven-archiver 2.4 2.4 OK

org/apache/maven:maven-artifact:2.2.1
org/apache/maven:maven-artifact-manager:2.2.1
org/apache/maven:maven-artifact-test:2.2.1
org/apache/maven:maven-compat:2.2.1
org/apache/maven:maven-core:2.2.1
org/apache/maven:maven-error-diagnostics:2.2.1
org/apache/maven:maven-model:2.2.1
org/apache/maven:maven-monitor:2.2.1
org/apache/maven:maven-plugin-api:2.2.1
org/apache/maven:maven-plugin-descriptor:2.2.1
org/apache/maven:maven-plugin-parameter-documenter:2.2.1
org/apache/maven:maven-plugin-registry:2.2.1
org/apache/maven:maven-profile:2.2.1
org/apache/maven:maven-project:2.2.1
org/apache/maven:maven-repository-metadata:2.2.1
org/apache/maven:maven-script-ant:2.2.1
org/apache/maven:maven-script-beanshell:2.2.1
org/apache/maven:maven-settings:2.2.1
org/apache/maven:maven-toolchain:2.2.1

maven2 2.2.1 2.0.8 Needs update
org/apache/maven/plugins:maven-assembly-plugin:2.2-beta-4 maven-assembly-plugin 2.2-beta-4 2.2-beta-4 OK
org/apache/maven/plugins:maven-clean-plugin:2.1.1 maven-clean-plugin 2.1.1 2.4.1 OK
org/apache/maven/plugins:maven-compiler-plugin:2.0.2 maven-compiler-plugin 2.0.2 2.0.2 OK
org/apache/maven/plugins:maven-install-plugin:2.1 maven-install-plugin 2.3 2.3 OK
org/apache/maven/plugins:maven-jar-plugin:2.1 maven-jar-plugin 2.1 2.3 OK
org/apache/maven/plugins:maven-pmd-plugin:2.4 maven-pmd-plugin 2.4 2.5 OK
org/apache/maven/plugins:maven-remote-resources-plugin:1.0-beta-2 maven-remote-resources-plugin 1.1 None OK
org/apache/maven/plugins:maven-release-plugin:2.0 maven-release 2.0 2.0 OK
org/apache/maven/plugins:maven-resources-plugin:2.2 maven-resources-plugin 2.2 2.2 OK
org/apache/maven/plugins:maven-shade-plugin:1.2 maven-shade-plugin 1.2 1.2.2 OK
org/apache/maven/plugins:maven-site-plugin:2.1 maven-site-plugin 2.1 2.1 OK
org/apache/maven/plugins:maven-surefire-plugin:2.3 maven-surefire-plugin 2.3 2.3 OK
org/apache/maven:reporting:maven-reporting-api:2.2.1 maven-shared 2.2.1 2.0.8 OK

org/apache/maven/scm:maven-scm-api:1.0-beta-3
org/apache/maven/scm:maven-scm-manager-plexus:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-clearcase:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-cvs-commons:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-cvsexe:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-perforce:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-starteam:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-svn-commons:1.0-beta-3
org/apache/maven/scm:maven-scm-provider-svnexe:1.0-beta-3

maven-scm 1.0-beta-3 1.2 OK

org/apache/maven/shared:file-management:1.1
org/apache/maven/shared:maven-common-artifact-filters:1.1
org/apache/maven/shared:maven-dependency-tree:1.1
org/apache/maven/shared:maven-downloader:1.1
org/apache/maven/shared:maven-repository-builder:1.0-alpha-2
org/apache/maven/shared:maven-shared-io:1.1

maven-shared 8 14 OK

org/apache/maven:surefire:surefire-api:2.3
org/apache/maven:surefire:surefire-booter:2.3

maven-surefire 2.3 2.3 OK

org/apache/maven:surefire:surefire-junit:2.3

maven-surefire-provider-junit 2.3 2.3 OK

org/apache/maven:wagon:wagon-file:1.0-beta-6
org/apache/maven:wagon:wagon-http:1.0-beta-6
org/apache/maven:wagon:wagon-http-lightweight:1.0-beta-6
org/apache/maven:wagon:wagon-http-shared:1.0-beta-6
org/apache/maven:wagon:wagon-provider-api:1.0-beta-6
org/apache/maven:wagon:wagon-ssh:1.0-beta-6
org/apache/maven:wagon:wagon-ssh-common:1.0-beta-6
org/apache/maven:wagon:wagon-ssh-external:1.0-beta-6
org/apache/maven:wagon:wagon-webdav-jackrabbit:1.0-beta-6

maven-wagon 1.0-beta-6 1.0-beta-2 OK
org/beanshell:bsh:2.0b4 bsh2 2.0b4 None New package

org/codehaus/modello:modello-core:1.0.1
org/codehaus/modello:modello-maven-plugin:1.0.1
org/codehaus/modello:modello-plugin-converters:1.0.1
org/codehaus/modello:modello-plugin-dom4j:1.0.1
org/codehaus/modello:modello-plugin-java:1.0.1
org/codehaus/modello:modello-plugin-jdom:1.0.1
org/codehaus/modello:modello-plugin-stax:1.0.1
org/codehaus/modello:modello-plugin-xdoc:1.0.1
org/codehaus/modello:modello-plugin-xml:1.0.1
org/codehaus/modello:modello-plugin-xpp3:1.0.1
org/codehaus/modello:modello-plugin-xsd:1.0.1

modello 1.0.1 1.0-alpha-15 OK
org/codehaus/mojo:buildnumber-maven-plugin:1.0-beta-4 buildnumber-maven-plugin 1.0-beta-4 None OK
org/codehaus/plexus:plexus-active-collections:1.0-beta-2 plexus-active-collections 1.0-beta-2 None OK
org/codehaus/plexus:plexus-ant-factory:1.0-alpha-2.1 plexus-ant-factory 1.0-alpha-2.1 1.0-alpha-2.1 OK
org/codehaus/plexus:plexus-archiver:1.0-alpha-12 plexus-archiver 1.0-alpha-12 1.0-alpha-12 OK
org/codehaus/plexus:plexus-bsh-factory:1.0-alpha-7 plexus-bsh-factory 1.0-alpha-7 1.0-alpha-7 OK
org/codehaus/plexus:plexus-classworlds:1.2-alpha-9 plexus-classworlds 1.2-alpha-9 1.2-alpha-9 OK

org/codehaus/plexus:plexus-compiler-api:1.5.3
org/codehaus/plexus:plexus-compiler-javac:1.5.3
org/codehaus/plexus:plexus-compiler-manager:1.5.3

plexus-compiler 1.5.3 1.5.2 OK
org/codehaus/plexus:plexus-component-api:1.0-alpha-15 plexus-components 1.0-alpha-15 None OK
org/codehaus/plexus:plexus-container-default:1.0-alpha-30 plexus-containers-container-default 1.0-alpha-30 1.0-alpha-34 OK
org/codehaus/plexus:plexus-container-default:1.0-alpha-9-stable-1 plexus-container-default 1.0-alpha-9-stable-1 1.0-alpha-8 OK
org/codehaus/plexus:plexus-i18n:1.0-beta-7 plexus-i18n 1.0-beta-7 1,0-beta-10 OK
org/codehaus/plexus:plexus-interactivity-api:1.0-alpha-6 plexus-interactivity 1.0-alpha-6 1.0-alpha-5 OK
org/codehaus/plexus:plexus-interpolation:1.11 plexus-interpolation 1.11 1.13 OK
org/codehaus/plexus:plexus-io:1.0-alpha-4 plexus-io 1.0-alpha-4 1.0-alpha-5 OK
org/codehaus/plexus:plexus-resources:1.0-alpha-4 plexus-resources 1.0-alpha-4 1.0-alpha-4 OK
org/codehaus/plexus:plexus-utils:1.5.12 plexus-utils 1.5.12 2.0.5 OK
org/codehaus/plexus:plexus-velocity:1.1.7 plexus-velocity 1.1.7 1.1.7 OK
org/sonatype/plexus:plexus-build-api:0.0.6 plexus-build-api 0.0.6 0.0.6 OK
org/sonatype/plexus:plexus-cipher:1.5 plexus-cipher 1.5 1.5 OK
org/sonatype/plexus:plexus-sec-dispatcher:1.3 plexus-sec-dispatcher 1.4 1.4 OK
org/sonatype/forge:forge-parent:5 forge-parent 5 None OK
org/sonatype/spice:spice-parent:15 spice-parent 15 None OK
oro:oro:2.0.8 jakarta-oro 2.0.8 2.0.8 OK
regexp:regexp:1.3 regexp 1.3 1.5 OK

org/slf4j:jcl-over-slf4j:1.5.6
org/slf4j:slf4j-api:1.5.6
org/slf4j:slf4j-jdk14:1.5.6
org/slf4j:slf4j-nop:1.5.3

slf4j 1.5.6 1.5.6 OK

org/apache/velocity:velocity:1.5
velocity:velocity:1.5
velocity:velocity-dep:1.5

velocity 1.5 1.5 OK

Maven 3

Maven 3 has been packaged. Package name: maven


Ideas/Improvements

  1. Every package installing maven poms/depmaps should have "Provides: groupId:artifactId". Maven could then be updated with another resolver that would ask packagekit for given groupId:artifactId when resolving dependencies during compile/install phase. This should work similar to how bash currently suggest installing package if it fails to find command.