Author: pawelz Date: Tue Apr 27 17:09:51 2010 GMT Module: packages Tag: JPACKAGE ---- Log message: - raw files from JPP maven2 package
---- Files affected: packages/maven: maven-doxia-modules.pom (NONE -> 1.1.2.1) (NEW), maven2-2.0.8-excludeexternaljars.patch (NONE -> 1.1.2.1) (NEW), maven2-MNG-3139.patch (NONE -> 1.1.2.1) (NEW), maven2-addjdom-depmap.xml (NONE -> 1.1.2.1) (NEW), maven2-addjdomtobootstrappath.patch (NONE -> 1.1.2.1) (NEW), maven2-commons-cli-1.1.patch (NONE -> 1.1.2.1) (NEW), maven2-component-info.xml (NONE -> 1.1.2.1) (NEW), maven2-empty-dep.pom (NONE -> 1.1.2.1) (NEW), maven2-enable-bootstrap-repository.patch (NONE -> 1.1.2.1) (NEW), maven2-fastjar-manifest-fix.patch (NONE -> 1.1.2.1) (NEW), maven2-javadoc-plugin-pom.patch (NONE -> 1.1.2.1) (NEW), maven2-jpp-readme.html (NONE -> 1.1.2.1) (NEW), maven2-jpprepolayout.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-MJAVADOC-137-AbstractJavadocMojo.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-catch-uncaught-exceptions.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-dependency-plugin-import-fix.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-disablecobertura.patch (N ONE -> 1.1.2.1) (NEW), maven2-plugins-disableenforcer.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-doxiaupdatefix.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-javadoc-newdoxia.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-jpprepolayout.patch (NONE -> 1.1.2.1) (NEW), maven2-plugins-project-info-reports-jdkversion.patch (NONE -> 1.1.2.1) (NEW), maven2-run-it-tests.sh (NONE -> 1.1.2.1) (NEW), maven2-script (NONE -> 1.1.2.1) (NEW), maven2-settings.xml (NONE -> 1.1.2.1) (NEW), maven2-shade-plugin-replacement.patch (NONE -> 1.1.2.1) (NEW), maven2-site-plugin-addservletdep.patch (NONE -> 1.1.2.1) (NEW), maven2-sourcetarget.patch (NONE -> 1.1.2.1) (NEW), maven2-use-unversioned-classworlds.patch (NONE -> 1.1.2.1) (NEW), maven2-versionless-depmap.xml (NONE -> 1.1.2.1) (NEW) ---- Diffs: ================================================================ Index: packages/maven/maven-doxia-modules.pom diff -u /dev/null packages/maven/maven-doxia-modules.pom:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven-doxia-modules.pom Tue Apr 27 19:09:42 2010 @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>doxia</artifactId> + <groupId>org.apache.maven.doxia</groupId> + <version>1.0-alpha-10</version> + </parent> + <artifactId>doxia-modules</artifactId> + <name>Doxia :: Modules</name> + <description>Doxia modules for several markup languages.</description> + + <packaging>pom</packaging> + <dependencies> + <dependency> + <groupId>org.apache.maven.doxia</groupId> + <artifactId>doxia-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven.doxia</groupId> + <artifactId>doxia-sink-api</artifactId> + </dependency> + <!-- test --> + <dependency> + <groupId>org.apache.maven.doxia</groupId> + <artifactId>doxia-core</artifactId> + <classifier>tests</classifier> + <scope>test</scope> + </dependency> + </dependencies> + <modules> + <module>doxia-module-confluence</module> + <module>doxia-module-docbook-simple</module> + <module>doxia-module-twiki</module> + <module>doxia-module-itext</module> + <module>doxia-module-apt</module> + <module>doxia-module-fml</module> + <module>doxia-module-latex</module> + <module>doxia-module-rtf</module> + <module>doxia-module-xdoc</module> + <module>doxia-module-xhtml</module> + </modules> +</project> ================================================================ Index: packages/maven/maven2-2.0.8-excludeexternaljars.patch diff -u /dev/null packages/maven/maven2-2.0.8-excludeexternaljars.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-2.0.8-excludeexternaljars.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,39 @@ +--- ./maven2/maven-core/pom.xml.sav 2007-12-12 16:21:15.000000000 -0500 ++++ ./maven2/maven-core/pom.xml 2007-12-12 16:21:10.000000000 -0500 +@@ -39,21 +39,23 @@ + <exclude>junit:junit</exclude> + <exclude>jmock:jmock</exclude> + <exclude>xml-apis:xml-apis</exclude> ++ <exclude>com.jcraft:jsch</exclude> ++ <exclude>org.codehaus.plexus:plexus-utils</exclude> ++ <exclude>commons-cli:commons-cli</exclude> ++ <exclude>org.apache.maven.doxia:doxia-sink-api</exclude> ++ <exclude>org.apache.maven.wagon:wagon-file</exclude> ++ <exclude>org.apache.maven.wagon:wagon-http-lightweight</exclude> ++ <exclude>org.apache.maven.wagon:wagon-http-shared</exclude> ++ <exclude>org.apache.maven.wagon:wagon-provider-api</exclude> ++ <exclude>org.apache.maven.wagon:wagon-ssh</exclude> ++ <exclude>org.apache.maven.wagon:wagon-ssh-common</exclude> ++ <exclude>org.apache.maven.wagon:wagon-ssh-external</exclude> ++ <exclude>org.codehaus.plexus:plexus-container-default</exclude> ++ <exclude>org.codehaus.plexus:plexus-interactivity-api</exclude> ++ <exclude>jdom:jdom</exclude> ++ <exclude>jtidy:jtidy</exclude> + </excludes> + </artifactSet> +- <relocations> +- <relocation> +- <pattern>org.codehaus.plexus.util</pattern> +- <excludes> +- <exclude> +- org.codehaus.plexus.util.xml.Xpp3Dom +- </exclude> +- <exclude> +- org.codehaus.plexus.util.xml.pull.* +- </exclude> +- </excludes> +- </relocation> +- </relocations> + </configuration> + </execution> + </executions> ================================================================ Index: packages/maven/maven2-MNG-3139.patch diff -u /dev/null packages/maven/maven2-MNG-3139.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-MNG-3139.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,12 @@ +--- maven2/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java 2008/03/24 20:05:11 640549 ++++ maven2/maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java 2009/02/24 20:07:37 747533 +@@ -195,8 +195,7 @@ + ArtifactRepositoryPolicy policy = + metadata.isSnapshot() ? repository.getSnapshots() : repository.getReleases(); + +- if ( ( policy.isEnabled() && !repository.isBlacklisted() ) +- && ( loadMetadata( metadata, repository, localRepository, previousMetadata ) ) ) ++ if ( policy.isEnabled() && loadMetadata( metadata, repository, localRepository, previousMetadata ) ) + { + metadata.setRepository( repository ); + selected = repository; ================================================================ Index: packages/maven/maven2-addjdom-depmap.xml diff -u /dev/null packages/maven/maven2-addjdom-depmap.xml:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-addjdom-depmap.xml Tue Apr 27 19:09:42 2010 @@ -0,0 +1,10 @@ + +<dependencies> + <add> + <dependency> + <groupId>jdom</groupId> + <artifactId>jdom</artifactId> + <version>1.0</version> + </dependency> + </add> +</dependencies> ================================================================ Index: packages/maven/maven2-addjdomtobootstrappath.patch diff -u /dev/null packages/maven/maven2-addjdomtobootstrappath.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-addjdomtobootstrappath.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,8 @@ +diff -up ./maven2/bootstrap/bootstrap-installer/src/main/resources/META-INF/MANIFEST.MF.sav ./maven2/bootstrap/bootstrap-installer/src/main/resources/META-INF/MANIFEST.MF +--- ./maven2/bootstrap/bootstrap-installer/src/main/resources/META-INF/MANIFEST.MF.sav 2008-11-27 16:47:53.000000000 -0500 ++++ ./maven2/bootstrap/bootstrap-installer/src/main/resources/META-INF/MANIFEST.MF 2008-11-27 16:48:22.000000000 -0500 +@@ -1,3 +1,3 @@ + Manifest-Version: 1.0 + Main-Class: org.apache.maven.bootstrap.installer.BootstrapInstaller +-Class-Path: bootstrap-mini-2.0.8-SNAPSHOT.jar plexus-utils-1.0.4.jar ++Class-Path: bootstrap-mini-2.0.8-SNAPSHOT.jar plexus-utils-1.0.4.jar jdom-1.0.jar ================================================================ Index: packages/maven/maven2-commons-cli-1.1.patch diff -u /dev/null packages/maven/maven2-commons-cli-1.1.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-commons-cli-1.1.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,12 @@ +diff -up ./maven2/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java.sav ./maven2/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java +--- ./maven2/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java.sav 2009-01-29 16:47:45.000000000 -0500 ++++ ./maven2/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java 2009-01-29 16:48:00.000000000 -0500 +@@ -645,7 +645,7 @@ public class MavenCli + "Force the use of an alternate POM file." ).create( ALTERNATE_POM_FILE ) ); + + options.addOption( +- OptionBuilder.withLongOpt( "define" ).hasArg().withDescription( "Define a system property" ).create( ++ OptionBuilder.withLongOpt( "define" ).hasArgs(1).withDescription( "Define a system property" ).create( + SET_SYSTEM_PROPERTY ) ); + options.addOption( + OptionBuilder.withLongOpt( "offline" ).withDescription( "Work offline" ).create( OFFLINE ) ); ================================================================ Index: packages/maven/maven2-component-info.xml diff -u /dev/null packages/maven/maven2-component-info.xml:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-component-info.xml Tue Apr 27 19:09:42 2010 @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project name=""> + <component id="org/apache/maven" + licenseType="" + version="@VERSION@" + tag="@TAG@" + description="" + + > + + <artifact id="maven-project.jar"/> + <artifact id="maven-settings.jar"/> + <artifact id="maven-model.jar"/> + <artifact id="maven-profile.jar"/> + <artifact id="maven-artifact-manager.jar"/> + <artifact id="maven-repository-metadata.jar"/> + <artifact id="maven-artifact.jar"/> + <artifact id="maven-plugin-registry.jar"/> + <artifact id="maven-error-diagnostics.jar"/> + + + <export> + <include input="maven-artifact.jar"/> + <include input="maven-model.jar"/> + <include input="maven-project.jar"/> + <include input="maven-artifact-manager.jar"/> + <include input="maven-plugin-registry.jar"/> + <include input="maven-profile.jar"/> + <include input="maven-settings.jar"/> + <include input="maven-repository-metadata.jar"/> + <include input="maven-error-diagnostics.jar"/> + + </export> + </component> +</project> ================================================================ Index: packages/maven/maven2-empty-dep.pom diff -u /dev/null packages/maven/maven2-empty-dep.pom:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-empty-dep.pom Tue Apr 27 19:09:42 2010 @@ -0,0 +1,9 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>JPP/maven2</groupId> + <artifactId>empty-dep</artifactId> + <version>2.0.4</version> + <name>Empty dependency</name> + <description>This is an empty dependency. For use in jpp mode when one or more dependencies need elimination.</description> +</project> ================================================================ Index: packages/maven/maven2-enable-bootstrap-repository.patch diff -u /dev/null packages/maven/maven2-enable-bootstrap-repository.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-enable-bootstrap-repository.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,37 @@ +--- maven2/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml.sav 2008-01-02 19:54:58.000000000 -0500 ++++ maven2/maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml 2008-01-02 19:56:27.000000000 -0500 +@@ -24,6 +24,15 @@ under the License. + + <repositories> + <repository> ++ <id>bootstrap_repo</id> ++ <name>Maven Bootstrap Repository</name> ++ <layout>jpp</layout> ++ <url>file:///usr/share/maven2/bootstrap_repo</url> ++ <snapshots> ++ <enabled>true</enabled> ++ </snapshots> ++ </repository> ++ <repository> + <id>__jpp_repo__</id> + <name>JPackage Maven Repository</name> + <layout>jpp</layout> +@@ -48,6 +57,18 @@ under the License. + + <pluginRepositories> + <pluginRepository> ++ <id>bootstrap_repo</id> ++ <name>Maven Bootstrap Plugin Repository</name> ++ <url>file:///usr/share/maven2/bootstrap_repo</url> ++ <layout>jpp</layout> ++ <snapshots> ++ <enabled>true</enabled> ++ </snapshots> ++ <releases> ++ <updatePolicy>never</updatePolicy> ++ </releases> ++ </pluginRepository> ++ <pluginRepository> + <id>__jpp_repo__</id> + <name>JPackage Maven Plugin Repository</name> + <url>file:///usr/share/maven2/repository</url> ================================================================ Index: packages/maven/maven2-fastjar-manifest-fix.patch diff -u /dev/null packages/maven/maven2-fastjar-manifest-fix.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-fastjar-manifest-fix.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,9 @@ +--- ./maven2/bootstrap/bootstrap-mini/build.sav 2007-08-14 10:37:28.000000000 -0400 ++++ ./maven2/bootstrap/bootstrap-mini/build 2007-08-14 10:36:09.000000000 -0400 +@@ -17,5 +17,5 @@ mkdir -p ${classesDir} + ) + ret=$?; if [ $ret != 0 ]; then exit $ret; fi + +-( cd ${classesDir} ; "$JAVA_HOME/bin/jar" -cfm ../../bootstrap-mini.jar ../../src/main/resources/META-INF/MANIFEST.MF * ) ++( cd ${classesDir} ; /bin/cp -f ../../src/main/resources/META-INF/MANIFEST.MF META-INF/; "$JAVA_HOME/bin/jar" -cfm ../../bootstrap-mini.jar ../../src/main/resources/META-INF/MANIFEST.MF * ) + ret=$?; if [ $ret != 0 ]; then exit $ret; fi ================================================================ Index: packages/maven/maven2-javadoc-plugin-pom.patch diff -u /dev/null packages/maven/maven2-javadoc-plugin-pom.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-javadoc-plugin-pom.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,19 @@ +--- maven2-plugins/maven-javadoc-plugin/pom.xml.orig 2009-01-31 09:47:18.423411000 -0500 ++++ maven2-plugins/maven-javadoc-plugin/pom.xml 2009-01-31 10:39:38.671359000 -0500 +@@ -38,7 +38,7 @@ + <inceptionYear>2004</inceptionYear> + + <prerequisites> +- <maven>2.0.9</maven> ++ <maven>2.0.8</maven> + </prerequisites> + + <scm> +@@ -215,6 +215,7 @@ + </executions> + <configuration> + <version>1.0.0</version> ++ <model>src/main/mdo/javadocOptions.mdo</model> + <models> + <model>src/main/mdo/javadocOptions.mdo</model> + </models> ================================================================ Index: packages/maven/maven2-jpp-readme.html diff -u /dev/null packages/maven/maven2-jpp-readme.html:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-jpp-readme.html Tue Apr 27 19:09:42 2010 @@ -0,0 +1,111 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<html> +<head> +<title>JPackage Maven2</title> +</head> +<body> +<h1>Notes on the JPackage version of Maven2 (2.0.4)</h1> +<p> +The maven2 version released with JPackage has extensive modifications to ensure that it works smoothly in off-line mode. In order to facilitate easier maintainability, minimal changes have been made, and most have been kept in separate source files rather than patching into maven code. +<p> + +<p> +<u><b>How to use it:</b></u><br/> + +Previously, when one needed to create a new rpm, for the build part they needed to set up a depmap, run all poms in a project via an xsl transformation that used the depmap to rewrite groupid's/artifactid's/etc., supply repository locations, and then call maven. Most of that has now been done away with. +</p> + +<p> +Starting with the 9jpp release, to invoke maven in jpp mode, simply type 'mvn-jpp' with the -Dmaven2.jpp.depmap.file="..." argument if a separate depmap is needed. The command action is almost the same as "mvn" -- only that it supplies '-Dmaven2.offline.mode -Dmaven2.ignore.versions -Dmaven2.usejppjars' prior to invoking maven. +</p> + +<p> +<b><u>Dependency maps/'depmaps':</b></u><br/> + +To build a new project for a new JPackage rpm, a depmap still needs to be created so as to allow finding of the new jars. But this is not too different from the old way of using build-jar-repository with ant. The idea is the same -- tell the build tool where to find the required libraries.<br/><br/> + +The depmap has entries in the format:<br/> +<pre> +<dependencies> +.. + <dependency> + <maven> + <groupId>OGROUPID</groupId> + <artifactId>OARTIFACTID</artifactId> + <version>OVERSION</version> + </maven> + <jpp> + <groupId>NGROUPID</groupId> + <artifactId>NARTIFACTID</artifactId> + <version>NVERSION</version> + </jpp> + </dependency> +.. +<dependencies> +</pre> + +<br/><br/> +Where OGROUPID, OARTIFACTID and OVERSION are old group/artifact/versions (as they exist in your project) and NGROUPID, NARTIFACTID, NVERSION are the new ones. For example:<br/> +<pre> + <dependency> + <maven> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + </maven> + <jpp> + <groupId>JPP</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + </jpp> + </dependency> +</pre> +The above mapping indicates that if any of the poms need an artifact with groupid=junit, artifactid=junit and version=3.8.1, it can be found at $REPOSITORY/JPP/junit.jar +</p> + +Where $REPOSITORY is one of the active repositories with layout="jpp" ("jpp" is a new layout that has been added to our maven2 rpm).<br/><br/> + +If maven2.ignore.versions is specified, any requirement of groupid=junit, artifactid=junit will be satisfied with $REPOSITORY/JPP/junit.jar (i.e. version will be ignored even if mentioned in the depmap).<br/><br/> + +If only a <maven> element is supplied and no <jpp>, it is assumed that the dependency is to be discarded. For example, some projects depend on the 'velocity-dep' which has no equivalent jar in JPackage packages as velocity-dep is just a monolithic jar containing velocity dependencies. To remove velocity-dep then, you would add:<br/> + +<pre> + <dependency> + <maven> + <groupId>velocity</groupId> + <artifactId>velocity-dep</artifactId> + <version>1.4</version> + </maven> + </dependency> +</pre> + +to the depmap.<br/><br/> + +There are two system depmaps. An unversioned one is located at: <tt>/etc/maven/maven2-versionless-depmap.xml</tt>. This is used when -Dmaven2-ignore-versions is specified. A versioned one is located at <tt>/etc/maven/maven2-depmap.xml</tt>. This is an autogenerated map which is rebuilt each time the <tt>update_maven_depmap</tt> macro is called by an rpm. + +Finally, a custom one can be specified via -Dmaven2.jpp.depmap.file="..."<br/><br/> + +The versionless one contains depmap entries for items whose poms are installed by maven2-common-poms (for now). As time passes, more and more packages will start using the <tt>add_to_maven_depmap</tt> and <tt>update_maven_depmap</tt> macros and hopefully, the versionless can be phased out completely. If your project needs a mapping that is not already in there, you will have to create a separate file and use it via the above mentioned property.<br/><br/> + +<i>The custom depmap has highest preference, followed by the versioned depmap, followed by the versionless one </i><br/><br/> + +<u><b>Packages adding their own depmaps:</b></u><br/> +Packages from now on should add their own depmap fragments when they get installed. This is achieved by calling the <tt>add_to_maven_depmap</tt> macro for each jar/artifact being installed, followed by calling <tt>update_maven_depmap</tt> in the post and postun sections (note: this means that there will have to be a jpackage-utils >= 0:1.7.2 post and postun requirement for all packages that do this, since jpackage-utils 1.7.2 provides the macros). Finally, <tt>%{_mavendepmapfragdir}</tt> (=/etc/maven/fragments) should be added in the %files section of the main package. The idea is as follows:<br/><br/> + +The %install section of each package uses the <tt>add_to_maven_depmap</tt> macro for each jar/pom that the main package and it's subpackages install. The macro puts the resulting data in <tt>$RPM_BUILD_ROOT%{_mavendepmapfragdir}/%{name}</tt>. <tt>update_maven_depmap</tt> in the post and postun then cat's /etc/maven/fragments/* into /etc/maven/maven2-depmap.xml which is read whenever mvn is run. See the plexus-cdc spec for a simple example, and maven-doxia for a more complex one.<br/><br/> + +<p> +<b><u>New properties:</b></u><br/> + +<ul> +<li><i>maven2.offline.mode</i> - Combined with maven2.ignore.versions, this switch is analogous to maven2.jpp.mode in 8jpp and lower. It tells maven to use the pre-configured jpackage repositories.</li> + +<li><i>maven2.ignore.versions</i> - Combined with maven2.offline.mode, this switch is analogous to maven2.jpp.mode in 8jpp and lower. It tells maven to ignore versions when looking at the dependency map.</li> + +<li><i>maven2.usejppjars</i> - This is a new option. When supplied, maven will try to use jpackage jars whenever possible. It's main intention is to allow users to use /usr/share/java files when available, and fetch jars from the net if not. It may be combined with the above two.</li> + +<li><i>maven2.jpp.depmap.file</i> - This option tells maven where to find the dependency mappings.</li> +</ul> +</p> +</body> +</html> \ No newline at end of file ================================================================ Index: packages/maven/maven2-jpprepolayout.patch diff -u /dev/null packages/maven/maven2-jpprepolayout.patch:1.1.2.1 --- /dev/null Tue Apr 27 19:09:51 2010 +++ packages/maven/maven2-jpprepolayout.patch Tue Apr 27 19:09:42 2010 @@ -0,0 +1,508 @@ +diff -up ./maven2/bootstrap/bootstrap-installer/src/main/java/org/apache/maven/bootstrap/installer/BootstrapInstaller.java.sav ./maven2/bootstrap/bootstrap-installer/src/main/java/org/apache/maven/bootstrap/installer/BootstrapInstaller.java +--- ./maven2/bootstrap/bootstrap-installer/src/main/java/org/apache/maven/bootstrap/installer/BootstrapInstaller.java.sav 2007-09-08 19:20:50.000000000 -0400 ++++ ./maven2/bootstrap/bootstrap-installer/src/main/java/org/apache/maven/bootstrap/installer/BootstrapInstaller.java 2009-05-05 15:28:38.000000000 -0400 +@@ -57,6 +57,8 @@ public class BootstrapInstaller + + private boolean offline; + ++ private String settingsFile; ++ + public BootstrapInstaller( SimpleArgumentParser parser ) + throws Exception + { +@@ -72,6 +74,8 @@ public class BootstrapInstaller + this.updateSnapshots = parser.isArgumentSet( "--update-snapshots" ); + + this.offline = parser.isArgumentSet( "--offline" ); ++ ++ this.settingsFile = parser.getArgumentValue( "--settings" ); + } + + public static void main( String[] args ) +@@ -215,6 +219,11 @@ public class BootstrapInstaller + cli.createArgument().setValue( "--update-snapshots" ); + } + ++ if (this.settingsFile != null) { ++ cli.createArgument().setValue( "-s" ); ++ cli.createArgument().setValue( this.settingsFile ); ++ } ++ + for ( int i = 0; i < args.length; i++ ) + { + cli.createArgument().setValue( args[i] ); +diff -up ./maven2/bootstrap/bootstrap-mini/build.sav ./maven2/bootstrap/bootstrap-mini/build +--- ./maven2/bootstrap/bootstrap-mini/build.sav 2006-12-11 23:53:43.000000000 -0500 ++++ ./maven2/bootstrap/bootstrap-mini/build 2009-05-05 15:28:38.000000000 -0400 +@@ -9,6 +9,11 @@ rm -rf bootstrap-mini.jar ${buildDir} > + mkdir -p ${classesDir} + + "$JAVA_HOME/bin/javac" -g -d ${classesDir} `find ${srcDir} -name '*.java'` ++# FIXME: Is there a better way to make the compiler see the jdom classes? ++# setting CLASSPATH, or giving -cp/-classpath didn't work :( ++(cd ${classesDir} ++ jar xf $JDOMCLASS ++) + ret=$?; if [ $ret != 0 ]; then exit $ret; fi + + ( cd ${classesDir} ; "$JAVA_HOME/bin/jar" -cfm ../../bootstrap-mini.jar ../../src/main/resources/META-INF/MANIFEST.MF * ) +diff -up ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java.sav ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java +--- ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java.sav 2007-06-15 02:19:15.000000000 -0400 ++++ ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/download/OnlineArtifactDownloader.java 2009-05-05 15:28:38.000000000 -0400 +@@ -49,7 +49,8 @@ public class OnlineArtifactDownloader + + private String proxyPassword; + +- private static final String REPO_URL = "http://repo1.maven.org/maven2"; ++ private static final String INTERNAL_REPO_URL = "__INTERNAL_REPO_PLACEHOLDER__"; ++ private static final String EXTERNAL_REPO_URL = "__EXTERNAL_REPO_PLACEHOLDER__"; + + private Map downloadedArtifacts = new HashMap(); + +@@ -170,7 +171,10 @@ public class OnlineArtifactDownloader + try + { + String version = dep.getVersion(); +- if ( snapshot ) ++ if ( snapshot && ++ ((System.getProperty("maven2.offline.mode") == null) && ++ (System.getProperty("maven2.jpp.mode") == null)) ) ++ + { + String filename = "maven-metadata-" + remoteRepo.getId() + ".xml"; + File localFile = getLocalRepository().getMetadataFile( dep.getGroupId(), dep.getArtifactId(), +@@ -252,7 +256,10 @@ public class OnlineArtifactDownloader + + file.getParentFile().mkdirs(); + +- if ( !file.exists() || version.indexOf( "SNAPSHOT" ) >= 0 ) ++ if ( (!file.exists() || version.indexOf( "SNAPSHOT" ) >= 0) && ++ ((System.getProperty("maven2.offline.mode") == null) && ++ (System.getProperty("maven2.jpp.mode") == null)) ) ++ + { + String filename = dep.getArtifactId() + "-" + version + ".pom"; + String metadataPath = remoteRepo.getMetadataPath( dep.getGroupId(), dep.getArtifactId(), +@@ -340,11 +347,8 @@ public class OnlineArtifactDownloader + + if ( remoteRepositories.isEmpty() ) + { +- // TODO: use super POM? +- remoteRepositories.add( new Repository( "central", REPO_URL, Repository.LAYOUT_DEFAULT, false, true ) ); +- // TODO: use maven root POM? +- remoteRepositories.add( new Repository( "apache.snapshots", "http://people.apache.org/repo/m2-snapshot-repository/", +- Repository.LAYOUT_DEFAULT, true, false ) ); ++ remoteRepositories.add( new Repository( "internal", INTERNAL_REPO_URL, Repository.LAYOUT_JPP, true, true ) ); ++ remoteRepositories.add( new Repository( "external", EXTERNAL_REPO_URL, Repository.LAYOUT_JPP, true, true ) ); + } + + return remoteRepositories; +diff -up ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java.sav ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java +--- ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java.sav 2006-07-08 11:46:08.000000000 -0400 ++++ ./maven2/bootstrap/bootstrap-mini/src/main/java/org/apache/maven/bootstrap/model/Repository.java 2009-05-05 15:28:37.000000000 -0400 +@@ -18,6 +18,8 @@ package org.apache.maven.bootstrap.model + + import java.io.File; + import java.util.Collections; ++import java.util.Hashtable; ++import org.apache.maven.artifact.repository.layout.MavenJPackageDepmap; + + /** + * Repository path management. +@@ -35,6 +37,12 @@ public class Repository + + private String layout = LAYOUT_DEFAULT; + ++ public static final String LAYOUT_JPP = "jpp"; ++ ++ private static final char GROUP_SEPARATOR = '.'; ++ ++ private static final char PATH_SEPARATOR = '/'; ++ + private String id; + + private boolean releases = true; +@@ -64,7 +72,25 @@ public class Repository + public String getArtifactPath( Dependency dependency ) + { + String repositoryPath; +- if ( LAYOUT_LEGACY.equals( layout ) ) ++ if ( LAYOUT_JPP.equals( layout ) ) ++ { ++ ++ String groupId, artifactId; ++ ++ MavenJPackageDepmap map = MavenJPackageDepmap.getInstance(); ++ Hashtable newInfo = map.getMappedInfo(dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); ++ ++ groupId = (String) newInfo.get("group"); ++ artifactId = (String) newInfo.get("artifact"); ++ ++ if (dependency.getType().equals("pom")) { ++ return getMetadataPath(groupId, artifactId, dependency.getVersion(), dependency.getType(), dependency.getArtifact()); ++ } ++ ++ // Same as legacy layout ++ repositoryPath = groupId + "/" + artifactId + ".jar"; ++ } ++ else if ( LAYOUT_LEGACY.equals( layout ) ) + { + repositoryPath = dependency.getArtifactDirectory() + "/" + dependency.getType() + "s/" + + dependency.getArtifact(); +@@ -94,7 +120,30 @@ public class Repository + Dependency dependency = new Dependency( groupId, artifactId, version, type, Collections.EMPTY_LIST ); + + String repositoryPath; +- if ( LAYOUT_LEGACY.equals( layout ) ) ++ if ( LAYOUT_JPP.equals( layout ) ) <<Diff was trimmed, longer than 597 lines>> _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
