From Fedora Project Wiki

No edit summary
 
(225 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.


=== Packages that need work ===
'''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>".
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.


* <s>maven2-common-poms (update) -- ready to be built (overholt, 2009-08-18)</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=127854 built]
'''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]].
* <s>maven-wagon (update)</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=127908 built]
* <del>[https://bugzilla.redhat.com/show_bug.cgi?id=499539 saxpath] </del>(new package) [http://koji.fedoraproject.org/koji/buildinfo?buildID=128071 build]
* [https://bugzilla.redhat.com/show_bug.cgi?id=518238 backport-util-concurrent] (new package) (akurtakov would like to fix packages to use java.util.concurrent directly instead of this back-port)
* <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]
* itext (add POM; what needs this? [http://overholt.fedorapeople.org/itext-addpom.patch patch], [http://overholt.fedorapeople.org/itext.pom pom file])
* plexus-cdc [http://koji.fedoraproject.org/koji/taskinfo?taskID=1618531 build]
* plexus-maven-plugin (tagged, need to build)
* <s>plexus-xmlrpc</s> (no work needed)
* [https://bugzilla.redhat.com/show_bug.cgi?id=500248 plexus-cli] (new package)
* [https://bugzilla.redhat.com/show_bug.cgi?id=500249 plexus-digest] (new package)
* <s>[https://bugzilla.redhat.com/show_bug.cgi?id=518219 dumbster]</s> [http://koji.fedoraproject.org/koji/buildinfo?buildID=128103 build]
* [https://bugzilla.redhat.com/show_bug.cgi?id=500252 plexus-mail-sender] (new package)
* plexus-velocity (update)
* <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]


At this point, maven2 should be buildable in bootstrap mode (toggle the bootstrap flag in the spec).
== 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:


* <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=500261 maven2-plugin-shade] (new package)
!Item !! Owner !! Status
* [https://bugzilla.redhat.com/show_bug.cgi?id=500264 plexus-resources] (new package)
|-
* [https://bugzilla.redhat.com/show_bug.cgi?id=500265 plexus-naming] (new package)
|Build bootstrap rpm with a single version (wherever possible) of each dependency || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span> '''
* [https://bugzilla.redhat.com/show_bug.cgi?id=500266 plexus-registry] (new package)
|-
* maven-doxia (update)
|&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> '''
* [https://bugzilla.redhat.com/show_bug.cgi?id=500267 maven-doxia-sitetools] (new package)
|-
* maven-shared (update)
|&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> '''
* [https://bugzilla.redhat.com/show_bug.cgi?id=500268 maven-plugins-tools] (new package)
|-
* [https://bugzilla.redhat.com/show_bug.cgi?id=500269 maven-embedder] (new package)
|&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>'''
* maven-scm (update)
|-
* [https://bugzilla.redhat.com/show_bug.cgi?id=500270 maven-enforcer-rule-api] (new package)
|Update patches for depmap/jpp repo support || [[User:dbhole  | Deepak Bhole]] || '''<span style="color:green">Done</span>'''
* [https://bugzilla.redhat.com/show_bug.cgi?id=500271 maven-archiver] (new package)
|-
|&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>'''
|}


== Maven 2.20 ==
== Dependency Info ==
This is the most recent version of Maven (as of 2009-08-18). 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 lessening long-term maintenance.
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 <s>strikethrough</s> 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<br/>
asm:asm-commons:3.1<br/>
asm:asm-tree:3.1<br/>
asm:asm-util:3.1<br/>
| objectweb-asm
| 3.1
| 3.1
| <span style="color:green">OK</span>
|-
| backport-util-concurrent:backport-util-concurrent:3.1
| 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 3 =
 
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.