File maven2-2.2.1-jpp.patch of Package maven2-proper
diff -up ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java.sav ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
--- ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java.sav 2009-08-06 15:11:34.000000000 -0400
+++ ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java 2009-11-19 14:17:42.000000000 -0500
@@ -58,6 +58,8 @@ import org.codehaus.plexus.util.FileUtil
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.apache.maven.artifact.repository.layout.MavenJPackageDepmap;
+
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -66,6 +68,7 @@ import java.net.URL;
import java.security.NoSuchAlgorithmException;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
@@ -409,7 +412,20 @@ public class DefaultWagonManager
ArtifactRepository repository )
throws TransferFailedException, ResourceDoesNotExistException
{
+
+ String originalVersion = artifact.getVersion();
+
+ if ( ( repository.getLayout() instanceof org.apache.maven.artifact.repository.layout.JPackageRepositoryLayout ) &&
+ ( System.getProperty("maven2.jpp.mode") != null ) )
+ {
+ MavenJPackageDepmap map = MavenJPackageDepmap.getInstance();
+ Hashtable newInfo = map.getMappedInfo(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
+
+ artifact.setVersion((String) newInfo.get("version"));
+ }
+
String remotePath = repository.pathOf( artifact );
+ artifact.setVersion(originalVersion); // set it back
ArtifactRepositoryPolicy policy = artifact.isSnapshot() ? repository.getSnapshots() : repository.getReleases();
@@ -421,8 +437,23 @@ public class DefaultWagonManager
{
getLogger().debug( "Skipping blacklisted repository " + repository.getId() );
}
+ else if ((System.getProperty("maven2.jpp.mode") != null) &&
+ (!repository.getUrl().startsWith("file:")))
+ {
+ // In JPP mode, repos other than those starting with file:// are
+ // not allowed
+ getLogger().warn( "Skipping non filebased repository " + repository.getUrl() + " in full offline mode");
+ }
else
{
+ // In vanilla mode, the JPP repos should be ignored
+ if ((System.getProperty("maven2.jpp.mode") == null) &&
+ (repository.getId().equals("__jpp_repo__")))
+ {
+ getLogger().warn( "Skipping jpp repository " + repository.getUrl() + " in vanilla mode");
+ return;
+ }
+
getLogger().debug( "Trying repository " + repository.getId() );
getRemoteFile( getMirrorRepository( repository ), artifact.getFile(), remotePath, downloadMonitor,
policy.getChecksumPolicy(), false );
diff -up ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java.sav ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
--- ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java.sav 2009-08-06 15:11:34.000000000 -0400
+++ ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java 2009-11-18 16:54:39.000000000 -0500
@@ -85,7 +85,7 @@ public class DefaultRepositoryMetadataMa
boolean checkForUpdates =
!file.exists() || policy.checkOutOfDate( new Date( file.lastModified() ) );
- if ( checkForUpdates )
+ if ( checkForUpdates && (System.getProperty("maven2.jpp.mode") == null))
{
if ( wagonManager.isOnline() )
{
diff -up ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java.sav ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
--- ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java.sav 2009-08-06 15:11:34.000000000 -0400
+++ ./maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java 2009-11-18 16:54:39.000000000 -0500
@@ -206,7 +206,8 @@ public class DefaultArtifactResolver
try
{
// TODO: force should be passed to the wagon manager
- if ( artifact.getRepository() != null )
+ if ( (artifact.getRepository() != null) &&
+ (System.getProperty("maven2.jpp.mode") == null))
{
// the transformations discovered the artifact - so use it exclusively
wagonManager.getArtifact( artifact, artifact.getRepository() );
diff -up ./maven-artifact/pom.xml.sav ./maven-artifact/pom.xml
--- ./maven-artifact/pom.xml.sav 2009-08-06 15:11:32.000000000 -0400
+++ ./maven-artifact/pom.xml 2009-11-19 14:54:43.000000000 -0500
@@ -39,5 +39,10 @@ under the License.
<artifactId>plexus-container-default</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>jdom</groupId>
+ <artifactId>jdom</artifactId>
+ <version>1.0</version>
+ </dependency>
</dependencies>
</project>
diff -up ./maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java.sav ./maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
--- ./maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java.sav 2009-08-06 15:11:31.000000000 -0400
+++ ./maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java 2009-11-19 14:15:45.000000000 -0500
@@ -23,6 +23,9 @@ import org.apache.maven.artifact.Artifac
import org.apache.maven.artifact.handler.ArtifactHandler;
import org.apache.maven.artifact.metadata.ArtifactMetadata;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.MavenJPackageDepmap;
+
+import java.util.Hashtable;
/**
* @author jdcasey
@@ -42,6 +45,8 @@ public class DefaultRepositoryLayout
StringBuffer path = new StringBuffer();
+ String baseVersion = artifact.getBaseVersion();
+
path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );
path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );
path.append( artifact.getBaseVersion() ).append( PATH_SEPARATOR );
@@ -76,7 +81,17 @@ public class DefaultRepositoryLayout
if ( metadata.storedInArtifactVersionDirectory() )
{
- path.append( metadata.getBaseVersion() ).append( PATH_SEPARATOR );
+ String baseVersion = metadata.getBaseVersion();
+
+ if (System.getProperty("maven2.jpp.mode") != null)
+ {
+ MavenJPackageDepmap map = MavenJPackageDepmap.getInstance();
+ Hashtable newInfo = map.getMappedInfo(metadata.getGroupId(), metadata.getArtifactId(), baseVersion);
+
+ baseVersion = (String) newInfo.get("version");
+ }
+
+ path.append( baseVersion ).append( PATH_SEPARATOR );
}
}
diff -up ./maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java.sav ./maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
--- ./maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java.sav 2009-08-06 15:11:32.000000000 -0400
+++ ./maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java 2009-11-18 16:54:39.000000000 -0500
@@ -341,7 +341,7 @@ public class DefaultArtifactCollector
// set the recommended version
// TODO: maybe its better to just pass the range through to retrieval and use a transformation?
ArtifactVersion version;
- if ( artifact.isSelectedVersionKnown() )
+ if ( artifact.isSelectedVersionKnown() && System.getProperty("maven2.jpp.mode") == null)
{
version = artifact.getSelectedVersion();
}
@@ -380,7 +380,12 @@ public class DefaultArtifactCollector
//this is dangerous because artifact.getSelectedVersion() can
//return null. However it is ok here because we first check if the
//selected version is known. As currently coded we can't get a null here.
- artifact.selectVersion( version.toString() );
+
+ if ( !artifact.isSelectedVersionKnown() && System.getProperty("maven2.jpp.mode") != null)
+ artifact.selectVersion( "DUMMY_VER" );
+ else
+ artifact.selectVersion( version.toString() );
+
fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
}
diff -up ./maven-artifact/src/main/resources/META-INF/plexus/components.xml.sav ./maven-artifact/src/main/resources/META-INF/plexus/components.xml
--- ./maven-artifact/src/main/resources/META-INF/plexus/components.xml.sav 2009-08-06 15:11:32.000000000 -0400
+++ ./maven-artifact/src/main/resources/META-INF/plexus/components.xml 2009-11-18 16:54:39.000000000 -0500
@@ -31,6 +31,12 @@ under the License.
<implementation>org.apache.maven.artifact.repository.layout.LegacyRepositoryLayout</implementation>
</component>
+ <component>
+ <role>org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout</role>
+ <role-hint>jpp</role-hint>
+ <implementation>org.apache.maven.artifact.repository.layout.JPackageRepositoryLayout</implementation>
+ </component>
+
<!--
|
| ArtifactHandlerManager
diff -up ./maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java.sav ./maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
diff -up ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java.sav ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java
--- ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java.sav 2009-11-19 11:36:53.000000000 -0500
+++ ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java 2009-11-19 11:47:25.000000000 -0500
@@ -60,6 +60,7 @@ public class MavenPluginCollector
{
pluginsInProcess.add( key );
+ System.err.println("*DEBUG*: Putting in plugin descriptor list " + key + " and goal prefix is " + pluginDescriptor.getGoalPrefix());
pluginDescriptors.put( key, pluginDescriptor );
// TODO: throw an (not runtime) exception if there is a prefix overlap - means doing so elsewhere
@@ -75,6 +76,17 @@ public class MavenPluginCollector
public PluginDescriptor getPluginDescriptor( Plugin plugin )
{
String key = PluginUtils.constructVersionedKey( plugin );
+ System.err.println("*DEBUG*: Constructed plugin version key is " + key);
+
+ PluginDescriptor descriptor = (PluginDescriptor) pluginDescriptors.get( key );
+
+ // In JPP mode, we give it a second chance
+ if ( ( descriptor == null ) &&
+ ( System.getProperty("maven2.jpp.mode") != null ) )
+ {
+ //for descriptors
+ }
+
return (PluginDescriptor) pluginDescriptors.get( key );
}
diff -up ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java.sav ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
--- ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java.sav 2009-11-19 11:08:06.000000000 -0500
+++ ./maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java 2009-11-19 11:08:29.000000000 -0500
@@ -57,8 +57,10 @@ public class MavenPluginValidator
{
errors.add( "Plugin's descriptor contains the wrong artifact ID: " + pluginDescriptor.getArtifactId() );
}
-
- if ( !pluginArtifact.getBaseVersion().equals( pluginDescriptor.getVersion() ) )
+
+ if ( !pluginArtifact.getBaseVersion().equals( pluginDescriptor.getVersion() ) &&
+ ( System.getProperty("maven2.jpp.mode") == null )
+ )
{
errors.add( "Plugin's descriptor contains the wrong version: " + pluginDescriptor.getVersion() );
}
diff -up ./maven-core/src/main/java/org/apache/maven/plugin/PluginUtils.java.sav ./maven-core/src/main/java/org/apache/maven/plugin/PluginUtils.java
--- ./maven-core/src/main/java/org/apache/maven/plugin/PluginUtils.java.sav 2009-11-19 11:51:04.000000000 -0500
+++ ./maven-core/src/main/java/org/apache/maven/plugin/PluginUtils.java 2009-11-19 12:00:15.000000000 -0500
@@ -72,7 +72,13 @@ class PluginUtils
String baseVersion = ArtifactUtils.toSnapshotVersion( version );
StringBuffer key = new StringBuffer( 128 );
- key.append( groupId ).append( ':' ).append( artifactId ).append( ':' ).append( baseVersion );
+
+ // In JPP mode, we don't want to use versions in keys
+
+ if (System.getProperty("maven2.jpp.mode") == null)
+ key.append( groupId ).append( ':' ).append( artifactId ).append( ':' ).append( baseVersion );
+ else
+ key.append( groupId ).append( ':' ).append( artifactId );
return key.toString();
}
diff -up ./maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java.sav ./maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
--- ./maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java.sav 2009-08-06 15:11:28.000000000 -0400
+++ ./maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java 2009-11-18 16:54:39.000000000 -0500
@@ -224,9 +224,15 @@ public class DefaultPluginVersionManager
}
// if we still haven't found a version, then fail early before we get into the update goop.
- if ( StringUtils.isEmpty( version ) )
+ if ( (StringUtils.isEmpty( version )) && (System.getProperty("maven2.jpp.mode") == null))
{
throw new PluginVersionNotFoundException( groupId, artifactId );
+ } else if (System.getProperty("maven2.jpp.mode") != null)
+ {
+ // Doesn't matter what we have here. We need *something* because
+ // metadata is not retrieved in offline mode, so there needs to be
+ // some kind of version
+ version = "DUMMY_VER";
}
// if the plugin registry is inactive, then the rest of this goop is useless...
diff -up ./maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java.sav ./maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java
--- ./maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java.sav 2009-08-06 15:11:37.000000000 -0400
+++ ./maven-project/src/main/java/org/apache/maven/project/validation/DefaultModelValidator.java 2009-11-18 16:54:39.000000000 -0500
@@ -43,7 +43,7 @@ import java.util.List;
public class DefaultModelValidator
implements ModelValidator
{
- private static final String ID_REGEX = "[A-Za-z0-9_\\-.]+";
+ private static final String ID_REGEX = "[A-Za-z0-9_/\\\\.-]+";
///////////////////////////////////////////////////////////////////////////
// ModelValidator Implementation
@@ -88,7 +88,13 @@ public class DefaultModelValidator
validateStringNotEmpty( "dependencies.dependency.type", result, d.getType(), d.getManagementKey() );
- validateStringNotEmpty( "dependencies.dependency.version", result, d.getVersion(), d.getManagementKey() );
+ // In JPP mode, don't bother validating. But do put a dummy
+ // version if one is not provided
+ if ((System.getProperty("maven2.jpp.mode") != null) &&
+ (d.getVersion() == null))
+ d.setVersion("DUMMY_VER");
+ else
+ validateStringNotEmpty( "dependencies.dependency.version", result, d.getVersion(), d.getManagementKey() );
if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) )
{
diff -up ./maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml.sav ./maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml
--- ./maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml.sav 2009-08-06 15:11:38.000000000 -0400
+++ ./maven-project/src/main/resources/org/apache/maven/project/pom-4.0.0.xml 2009-11-19 13:12:23.000000000 -0500
@@ -32,6 +32,15 @@ under the License.
<enabled>false</enabled>
</snapshots>
</repository>
+ <repository>
+ <id>__jpp_repo__</id>
+ <name>JPackage Maven Repository</name>
+ <layout>jpp</layout>
+ <url>file:///usr/share/maven2/repository</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
</repositories>
<pluginRepositories>
@@ -47,6 +56,19 @@ under the License.
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
+ <pluginRepository>
+ <id>__jpp_repo__</id>
+ <name>JPackage Maven Repository</name>
+ <layout>jpp</layout>
+ <url>file:///usr/share/maven2/repository</url>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <updatePolicy>never</updatePolicy>
+ </releases>
+ </pluginRepository>
+
</pluginRepositories>
<build>
diff -up ./pom.xml.sav ./pom.xml
--- ./pom.xml.sav 2009-08-06 15:11:38.000000000 -0400
+++ ./pom.xml 2009-11-19 14:54:29.000000000 -0500
@@ -481,6 +481,11 @@ under the License.
<artifactId>classworlds</artifactId>
<version>1.1</version>
</dependency>
+ <dependency>
+ <groupId>jdom</groupId>
+ <artifactId>jdom</artifactId>
+ <version>1.0</version>
+ </dependency>
</dependencies>
<!--start-->
</dependencyManagement>