Add fedora local resolver
- Fix quoting of arguments to mvn scripts - Add javadoc subpackage - Make jars versionless and remove unneeded clean section
This commit is contained in:
parent
91ffb10ecc
commit
1ae9fb1553
133
0003-Use-custom-resolver.patch
Normal file
133
0003-Use-custom-resolver.patch
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
From efb78912935d04507ce36951686608d33a3b3647 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stanislav Ochotnicky <sochotnicky@redhat.com>
|
||||||
|
Date: Tue, 2 Nov 2010 14:47:05 +0100
|
||||||
|
Subject: [PATCH 3/3] Use custom resolver
|
||||||
|
|
||||||
|
---
|
||||||
|
.../org/apache/maven/artifact/ArtifactUtils.java | 8 ++++++--
|
||||||
|
.../main/java/org/apache/maven/DefaultMaven.java | 6 ++++++
|
||||||
|
.../apache/maven/plugin/MavenPluginValidator.java | 3 ++-
|
||||||
|
.../internal/DefaultPluginVersionResolver.java | 7 +++++++
|
||||||
|
.../model/validation/DefaultModelValidator.java | 13 ++++++++++---
|
||||||
|
5 files changed, 31 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java b/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
|
||||||
|
index 1f37d4f..04bc346 100644
|
||||||
|
--- a/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
|
||||||
|
+++ b/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
|
||||||
|
@@ -99,12 +99,16 @@ public final class ArtifactUtils
|
||||||
|
{
|
||||||
|
throw new NullPointerException( "artifactId is null" );
|
||||||
|
}
|
||||||
|
- if ( version == null )
|
||||||
|
+ if ( version == null && System.getProperty("maven.jpp.mode") == null )
|
||||||
|
{
|
||||||
|
throw new NullPointerException( "version is null" );
|
||||||
|
}
|
||||||
|
|
||||||
|
- return groupId + ":" + artifactId + ":" + version;
|
||||||
|
+ if( System.getProperty("maven.jpp.mode") == null ) {
|
||||||
|
+ return groupId + ":" + artifactId + ":" + version;
|
||||||
|
+ } else {
|
||||||
|
+ return versionlessKey(groupId, artifactId);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Map<String, Artifact> artifactMapByVersionlessId( Collection<Artifact> artifacts )
|
||||||
|
diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
|
||||||
|
index e892ee9..b0bfea6 100644
|
||||||
|
--- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
|
||||||
|
+++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
|
||||||
|
@@ -55,6 +55,7 @@ import org.apache.maven.project.ProjectBuildingException;
|
||||||
|
import org.apache.maven.project.ProjectBuildingRequest;
|
||||||
|
import org.apache.maven.project.ProjectBuildingResult;
|
||||||
|
import org.apache.maven.project.ProjectSorter;
|
||||||
|
+import org.apache.maven.artifact.resolver.JavadirWorkspaceReader;
|
||||||
|
import org.apache.maven.repository.DelegatingLocalArtifactRepository;
|
||||||
|
import org.apache.maven.repository.LocalRepositoryNotAccessibleException;
|
||||||
|
import org.apache.maven.settings.Mirror;
|
||||||
|
@@ -361,6 +362,11 @@ public class DefaultMaven
|
||||||
|
session.setWorkspaceReader( workspaceRepository );
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if ( System.getProperty("maven.jpp.mode") != null)
|
||||||
|
+ {
|
||||||
|
+ session.setWorkspaceReader(new JavadirWorkspaceReader());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
DefaultSettingsDecryptionRequest decrypt = new DefaultSettingsDecryptionRequest();
|
||||||
|
decrypt.setProxies( request.getProxies() );
|
||||||
|
decrypt.setServers( request.getServers() );
|
||||||
|
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
|
||||||
|
index 009635b..91ad68e 100644
|
||||||
|
--- a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
|
||||||
|
+++ b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginValidator.java
|
||||||
|
@@ -60,7 +60,8 @@ 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("maven.jpp.mode") == null)
|
||||||
|
{
|
||||||
|
errors.add( "Plugin's descriptor contains the wrong version: " + pluginDescriptor.getVersion() );
|
||||||
|
}
|
||||||
|
diff --git a/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
|
||||||
|
index fb074fb..9583d05 100644
|
||||||
|
--- a/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
|
||||||
|
+++ b/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
|
||||||
|
@@ -75,6 +75,13 @@ public class DefaultPluginVersionResolver
|
||||||
|
throws PluginVersionResolutionException
|
||||||
|
{
|
||||||
|
logger.debug( "Resolving plugin version for " + request.getGroupId() + ":" + request.getArtifactId() );
|
||||||
|
+ if (System.getProperty("maven.jpp.mode") != null) {
|
||||||
|
+ DefaultPluginVersionResult result = new DefaultPluginVersionResult("latest");
|
||||||
|
+ result.setRepository(request.getRepositorySession().getWorkspaceReader().getRepository());
|
||||||
|
+ logger.debug( "Resolved plugin version for " + request.getGroupId() + ":" + request.getArtifactId()
|
||||||
|
+ + " to latest from repository " + result.getRepository());
|
||||||
|
+ return result;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
PluginVersionResult result = resolveFromProject( request );
|
||||||
|
|
||||||
|
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
|
||||||
|
index 033211a..1c09272 100644
|
||||||
|
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
|
||||||
|
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
|
||||||
|
@@ -405,7 +405,10 @@ public class DefaultModelValidator
|
||||||
|
|
||||||
|
if ( !management )
|
||||||
|
{
|
||||||
|
- validateVersion( prefix + "version", problems, errOn30, d.getVersion(), d.getManagementKey(), d );
|
||||||
|
+ if(System.getProperty("maven.jpp.mode") != null && d.getVersion() == null)
|
||||||
|
+ d.setVersion("latest");
|
||||||
|
+ else
|
||||||
|
+ validateVersion( prefix + "version", problems, errOn30, d.getVersion(), d.getManagementKey(), d );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TODO: Extensions like Flex Mojos use custom scopes like "merged", "internal", "external", etc.
|
||||||
|
@@ -433,7 +436,10 @@ public class DefaultModelValidator
|
||||||
|
{
|
||||||
|
validateEffectiveDependency( problems, d, false, prefix, request );
|
||||||
|
|
||||||
|
- validateVersion( prefix + "version", problems, errOn30, d.getVersion(), d.getManagementKey(), d );
|
||||||
|
+ if(System.getProperty("maven.jpp.mode") != null && d.getVersion() == null)
|
||||||
|
+ d.setVersion("latest");
|
||||||
|
+ else
|
||||||
|
+ validateVersion( prefix + "version", problems, errOn30, d.getVersion(), d.getManagementKey(), d );
|
||||||
|
|
||||||
|
validateEnum( prefix + "scope", problems, errOn30, d.getScope(), d.getManagementKey(), d, "compile",
|
||||||
|
"runtime", "system" );
|
||||||
|
@@ -452,7 +458,8 @@ public class DefaultModelValidator
|
||||||
|
{
|
||||||
|
validateStringNotEmpty( prefix + "type", problems, Severity.ERROR, d.getType(), d.getManagementKey(), d );
|
||||||
|
|
||||||
|
- validateStringNotEmpty( prefix + "version", problems, Severity.ERROR, d.getVersion(), d.getManagementKey(),
|
||||||
|
+ if(System.getProperty("maven.jpp.mode") == null)
|
||||||
|
+ validateStringNotEmpty( prefix + "version", problems, Severity.ERROR, d.getVersion(), d.getManagementKey(),
|
||||||
|
d );
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.3.2
|
||||||
|
|
95
JavadirWorkspaceReader.java
Normal file
95
JavadirWorkspaceReader.java
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
package org.apache.maven.artifact.resolver;
|
||||||
|
|
||||||
|
import org.apache.maven.artifact.repository.MavenJPackageDepmap;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.Hashtable;
|
||||||
|
|
||||||
|
import org.sonatype.aether.repository.WorkspaceReader;
|
||||||
|
import org.sonatype.aether.repository.WorkspaceRepository;
|
||||||
|
import org.sonatype.aether.artifact.Artifact;
|
||||||
|
|
||||||
|
|
||||||
|
public class JavadirWorkspaceReader
|
||||||
|
implements WorkspaceReader
|
||||||
|
{
|
||||||
|
private WorkspaceRepository workspaceRepository;
|
||||||
|
|
||||||
|
private static final char GROUP_SEPARATOR = '.';
|
||||||
|
private static final char PATH_SEPARATOR = '/';
|
||||||
|
|
||||||
|
|
||||||
|
public JavadirWorkspaceReader() {
|
||||||
|
workspaceRepository = new WorkspaceRepository("javadir-workspace");
|
||||||
|
}
|
||||||
|
|
||||||
|
public WorkspaceRepository getRepository() {
|
||||||
|
return workspaceRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public File findArtifact( Artifact artifact ) {
|
||||||
|
MavenJPackageDepmap.debug("=============JAVADIRREADER-FIND_ARTIFACT: " + artifact.getArtifactId());
|
||||||
|
StringBuffer path = new StringBuffer();
|
||||||
|
|
||||||
|
String artifactId = artifact.getArtifactId();
|
||||||
|
String groupId = artifact.getGroupId();
|
||||||
|
String version = artifact.getVersion();
|
||||||
|
|
||||||
|
MavenJPackageDepmap.debug("Wanted GROUPID=" + groupId);
|
||||||
|
MavenJPackageDepmap.debug("Wanted ARTIFACTID=" + artifactId);
|
||||||
|
|
||||||
|
if (!groupId.startsWith("JPP")) {
|
||||||
|
MavenJPackageDepmap map = MavenJPackageDepmap.getInstance();
|
||||||
|
Hashtable<String,String> newInfo = map.getMappedInfo(groupId, artifactId, version);
|
||||||
|
|
||||||
|
groupId = (String) newInfo.get("group");
|
||||||
|
artifactId = (String) newInfo.get("artifact");
|
||||||
|
}
|
||||||
|
MavenJPackageDepmap.debug("Resolved GROUPID=" + groupId);
|
||||||
|
MavenJPackageDepmap.debug("Resolved ARTIFACTID=" + artifactId);
|
||||||
|
|
||||||
|
if (artifact.getExtension().equals("pom")) {
|
||||||
|
path = getPOMPath(groupId, artifactId);
|
||||||
|
} else if (artifact.getExtension().equals("signature")) {
|
||||||
|
path.append("/usr/share/maven/repository/");
|
||||||
|
path.append( groupId ).append( '/' );
|
||||||
|
path.append( artifactId ).append( ".signature" );
|
||||||
|
} else {
|
||||||
|
path.append("/usr/share/maven/repository/");
|
||||||
|
path.append( groupId ).append( '/' );
|
||||||
|
path.append( artifactId ).append( ".jar" );
|
||||||
|
}
|
||||||
|
|
||||||
|
MavenJPackageDepmap.debug("Returning " + path.toString());
|
||||||
|
return new File(path.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> findVersions( Artifact artifact ) {
|
||||||
|
List<String> ret = new LinkedList<String>();
|
||||||
|
ret.add("latest");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
private StringBuffer getPOMPath(String groupId, String artifactId) {
|
||||||
|
|
||||||
|
StringBuffer path = new StringBuffer();
|
||||||
|
String fName = groupId.replace(PATH_SEPARATOR, GROUP_SEPARATOR) + "-" + artifactId + ".pom";
|
||||||
|
path.append(System.getProperty("maven.jpp.pom.path", "JPP/maven2/poms")).append("/").append(fName);
|
||||||
|
java.io.File f;
|
||||||
|
|
||||||
|
// NOTE: We are returning default_poms/ as the path for this pom
|
||||||
|
// even though it may not exist there. This may cause an error,
|
||||||
|
// but that is fine because if the pom is not there, there is
|
||||||
|
// a serious problem anyways..
|
||||||
|
f = new java.io.File(System.getProperty("maven.jpp.default.repo", "/usr/share/maven2/repository") + "/" + path.toString());
|
||||||
|
//System.err.println("Checking path " + f.getAbsolutePath() + " for the pom");
|
||||||
|
if (!f.exists()) {
|
||||||
|
path = new StringBuffer();
|
||||||
|
path.append(System.getProperty("maven.jpp.default.pom.path", "JPP/maven2/default_poms")).append("/").append(fName);
|
||||||
|
}
|
||||||
|
path.insert(0, "/usr/share/maven2/repository/");
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
}
|
213
MavenJPackageDepmap.java
Normal file
213
MavenJPackageDepmap.java
Normal file
@ -0,0 +1,213 @@
|
|||||||
|
package org.apache.maven.artifact.repository;
|
||||||
|
|
||||||
|
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Hashtable;
|
||||||
|
import java.util.StringTokenizer;
|
||||||
|
|
||||||
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
import javax.xml.parsers.DocumentBuilderFactory;
|
||||||
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
|
|
||||||
|
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
|
import org.w3c.dom.*;
|
||||||
|
|
||||||
|
|
||||||
|
public class MavenJPackageDepmap {
|
||||||
|
|
||||||
|
private static class ArtifactDefinition {
|
||||||
|
String groupId = null;
|
||||||
|
String artifactId = null;
|
||||||
|
String version = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static MavenJPackageDepmap instance;
|
||||||
|
private static Hashtable<String, String> jppArtifactMap;
|
||||||
|
|
||||||
|
private MavenJPackageDepmap() {
|
||||||
|
jppArtifactMap = new Hashtable<String,String>();
|
||||||
|
buildJppArtifactMap();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MavenJPackageDepmap getInstance() {
|
||||||
|
if (instance == null) {
|
||||||
|
instance = new MavenJPackageDepmap();
|
||||||
|
}
|
||||||
|
|
||||||
|
return instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Hashtable<String, String> getMappedInfo(Hashtable<String, String> mavenDep) {
|
||||||
|
return getMappedInfo((String) mavenDep.get("group"),
|
||||||
|
(String) mavenDep.get("artifact"),
|
||||||
|
(String) mavenDep.get("version"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public Hashtable<String, String> getMappedInfo(String groupId, String artifactId, String version) {
|
||||||
|
|
||||||
|
Hashtable<String, String> jppDep;
|
||||||
|
String idToCheck, jppCombination;
|
||||||
|
|
||||||
|
if (System.getProperty("maven.ignore.versions") == null && System.getProperty("maven.jpp.mode") == null) {
|
||||||
|
idToCheck = groupId+","+artifactId+","+version;
|
||||||
|
} else {
|
||||||
|
idToCheck = groupId+","+artifactId;
|
||||||
|
}
|
||||||
|
|
||||||
|
jppCombination = (String) jppArtifactMap.get(idToCheck);
|
||||||
|
|
||||||
|
//System.err.println("*** " + groupId+","+artifactId+","+version + " => " + jppCombination);
|
||||||
|
|
||||||
|
jppDep = new Hashtable<String, String>();
|
||||||
|
if (jppCombination != null && jppCombination != "") {
|
||||||
|
|
||||||
|
StringTokenizer st = new StringTokenizer(jppCombination, ",");
|
||||||
|
|
||||||
|
jppDep.put("group", st.nextToken());
|
||||||
|
jppDep.put("artifact",st.nextToken());
|
||||||
|
jppDep.put("version",st.nextToken());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
jppDep.put("group", groupId);
|
||||||
|
jppDep.put("artifact", artifactId);
|
||||||
|
jppDep.put("version", version);
|
||||||
|
}
|
||||||
|
|
||||||
|
return jppDep;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether or not the given dependency should be dropped.
|
||||||
|
*/
|
||||||
|
public boolean shouldEliminate(String groupId, String artifactId, String version) {
|
||||||
|
String idToCheck;
|
||||||
|
|
||||||
|
if (System.getProperty("maven.ignore.versions") == null && System.getProperty("maven.jpp.mode") == null) {
|
||||||
|
idToCheck = groupId+","+artifactId+","+version;
|
||||||
|
} else {
|
||||||
|
idToCheck = groupId+","+artifactId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return jppArtifactMap.get(idToCheck) != null && jppArtifactMap.get(idToCheck).equals("");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void buildJppArtifactMap() {
|
||||||
|
|
||||||
|
if (System.getProperty("maven.ignore.versions") != null || System.getProperty("maven.jpp.mode") != null) {
|
||||||
|
debug("Processing file: /usr/share/java-utils/xml/maven2-versionless-depmap.xml");
|
||||||
|
processDepmapFile("/etc/maven/maven2-versionless-depmap.xml");
|
||||||
|
}
|
||||||
|
|
||||||
|
debug("Processing file: /usr/share/java-utils/xml/maven2-depmap.xml");
|
||||||
|
processDepmapFile("/etc/maven/maven2-depmap.xml");
|
||||||
|
|
||||||
|
String customFileName = System.getProperty("maven.jpp.depmap.file", null);
|
||||||
|
if (customFileName != null) {
|
||||||
|
debug("Processing file: " + customFileName);
|
||||||
|
processDepmapFile(customFileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void processDepmapFile(String fileName) {
|
||||||
|
|
||||||
|
Document mapDocument;
|
||||||
|
debug("Loading depmap file: " + fileName);
|
||||||
|
try {
|
||||||
|
DocumentBuilderFactory fact = DocumentBuilderFactory.newInstance();
|
||||||
|
fact.setNamespaceAware(true);
|
||||||
|
DocumentBuilder builder = fact.newDocumentBuilder();
|
||||||
|
mapDocument = builder.parse(fileName);
|
||||||
|
} catch (FileNotFoundException fnfe) {
|
||||||
|
System.err.println("ERROR: Unable to find map file: " + fileName);
|
||||||
|
fnfe.printStackTrace();
|
||||||
|
return;
|
||||||
|
} catch (IOException ioe) {
|
||||||
|
System.err.println("ERROR: I/O exception occured when opening map file");
|
||||||
|
ioe.printStackTrace();
|
||||||
|
return;
|
||||||
|
} catch (ParserConfigurationException pce) {
|
||||||
|
System.err.println("ERROR: Parsing of depmap file failed - configuration");
|
||||||
|
pce.printStackTrace();
|
||||||
|
return;
|
||||||
|
} catch (SAXException se) {
|
||||||
|
System.err.println("ERROR: Parsing of depmap file failed");
|
||||||
|
se.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NodeList depNodes = (NodeList) mapDocument.getElementsByTagName("dependency");
|
||||||
|
|
||||||
|
for (int i = 0; i < depNodes.getLength(); i++) {
|
||||||
|
Element depNode = (Element) depNodes.item(i);
|
||||||
|
|
||||||
|
NodeList mavenNodeList = (NodeList) depNode.getElementsByTagName("maven");
|
||||||
|
if (mavenNodeList.getLength() != 1) {
|
||||||
|
debug("Number of maven sub-elements is not 1. Bailing from depmap generation");
|
||||||
|
debug("Maven node: " + depNode.getTextContent());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ArtifactDefinition mavenAD = getArtifactDefinition((Element) mavenNodeList.item(0));
|
||||||
|
|
||||||
|
ArtifactDefinition jppAD = null;
|
||||||
|
NodeList jppNodeList = (NodeList) depNode.getElementsByTagName("jpp");
|
||||||
|
|
||||||
|
if (jppNodeList.getLength() == 1) {
|
||||||
|
jppAD = getArtifactDefinition((Element) jppNodeList.item(0));
|
||||||
|
if (System.getProperty("maven.ignore.versions") == null && System.getProperty("maven.jpp.mode") == null) {
|
||||||
|
debug("*** Adding: " + mavenAD.groupId + "," + mavenAD.artifactId + "," + mavenAD.version + " => "
|
||||||
|
+ jppAD.groupId + "," + jppAD.artifactId + "," + jppAD.version + " to map...");
|
||||||
|
|
||||||
|
jppArtifactMap.put(mavenAD.groupId + "," + mavenAD.artifactId + "," + mavenAD.version,
|
||||||
|
jppAD.groupId + "," + jppAD.artifactId + "," + jppAD.version);
|
||||||
|
} else {
|
||||||
|
debug("*** Adding: " + mavenAD.groupId+"," + mavenAD.artifactId + " => "
|
||||||
|
+ jppAD.groupId + "," + jppAD.artifactId + "," + jppAD.version + " to map...");
|
||||||
|
|
||||||
|
jppArtifactMap.put(mavenAD.groupId+","+mavenAD.artifactId,
|
||||||
|
jppAD.groupId + "," + jppAD.artifactId + "," + jppAD.version);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debug("Number of jpp sub-elements is not 1. Dropping dependency");
|
||||||
|
debug("*** Adding: " + mavenAD.groupId+","+mavenAD.artifactId+"," + " => " + "JPP/maven2,empty-dep,"+mavenAD.version + " to map...");
|
||||||
|
jppArtifactMap.put(mavenAD.groupId+","+mavenAD.artifactId, "JPP/maven2,empty-dep,"+mavenAD.version);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ArtifactDefinition getArtifactDefinition(Element element) {
|
||||||
|
ArtifactDefinition ad = new ArtifactDefinition();
|
||||||
|
|
||||||
|
NodeList nodes = element.getElementsByTagName("groupId");
|
||||||
|
if (nodes.getLength() != 1) {
|
||||||
|
debug("groupId definition not found in depmap");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
ad.groupId = nodes.item(0).getTextContent();
|
||||||
|
|
||||||
|
nodes = element.getElementsByTagName("artifactId");
|
||||||
|
if (nodes.getLength() != 1) {
|
||||||
|
debug("artifactId definition not found in depmap");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
ad.artifactId = nodes.item(0).getTextContent();
|
||||||
|
|
||||||
|
nodes = element.getElementsByTagName("version");
|
||||||
|
if (nodes.getLength() != 1) {
|
||||||
|
ad.version = "DUMMY_VER";
|
||||||
|
} else {
|
||||||
|
ad.version = nodes.item(0).getTextContent();
|
||||||
|
}
|
||||||
|
return ad;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void debug(String msg) {
|
||||||
|
if (System.getProperty("maven.jpp.debug") != null)
|
||||||
|
System.err.println(msg);
|
||||||
|
}
|
||||||
|
}
|
@ -7,4 +7,4 @@ fi
|
|||||||
|
|
||||||
export M2_HOME=/usr/share/maven
|
export M2_HOME=/usr/share/maven
|
||||||
echo $JAVA_HOME
|
echo $JAVA_HOME
|
||||||
export JAVA_HOME; $M2_HOME/bin/mvn $@
|
export JAVA_HOME; $M2_HOME/bin/mvn "$@"
|
||||||
|
10
maven-script-local
Normal file
10
maven-script-local
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
if [ -f /usr/share/java-utils/java-functions ] ; then
|
||||||
|
. /usr/share/java-utils/java-functions
|
||||||
|
set_jvm
|
||||||
|
set_javacmd
|
||||||
|
fi
|
||||||
|
|
||||||
|
export M2_HOME=/usr/share/maven
|
||||||
|
echo $JAVA_HOME
|
||||||
|
export JAVA_HOME; $M2_HOME/bin/mvn -Dmaven.jpp.mode "$@"
|
54
maven.spec
54
maven.spec
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
Name: maven
|
Name: maven
|
||||||
Version: 3.0
|
Version: 3.0
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Java project management and project comprehension tool
|
Summary: Java project management and project comprehension tool
|
||||||
|
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -9,14 +9,22 @@ License: ASL 2.0 and MIT and BSD
|
|||||||
URL: http://maven.apache.org/
|
URL: http://maven.apache.org/
|
||||||
Source0: http://www.apache.org/dyn/closer.cgi/maven/source/apache-%{name}-%{version}-src.tar.gz
|
Source0: http://www.apache.org/dyn/closer.cgi/maven/source/apache-%{name}-%{version}-src.tar.gz
|
||||||
|
|
||||||
|
# custom resolver java files
|
||||||
|
# source: git clone git://fedorapeople.org/~sochotni/maven-javadir-resolver/
|
||||||
|
Source100: JavadirWorkspaceReader.java
|
||||||
|
Source101: MavenJPackageDepmap.java
|
||||||
|
|
||||||
# 2xx for created non-buildable sources
|
# 2xx for created non-buildable sources
|
||||||
Source200: %{name}-script
|
Source200: %{name}-script
|
||||||
|
Source201: %{name}-script-local
|
||||||
|
|
||||||
# Patch1XX could be upstreamed probably
|
# Patch1XX could be upstreamed probably
|
||||||
# Patch15X are already upstream
|
# Patch15X are already upstream
|
||||||
Patch150: 0001-Add-plexus-default-container-dep.patch
|
Patch150: 0001-Add-plexus-default-container-dep.patch
|
||||||
|
|
||||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
# Patch2XX for non-upstreamable patches
|
||||||
|
Patch200: 0003-Use-custom-resolver.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
BuildRequires: maven2
|
BuildRequires: maven2
|
||||||
@ -75,17 +83,22 @@ Maven is a software project management and comprehension tool. Based on the
|
|||||||
concept of a project object model (POM), Maven can manage a project's build,
|
concept of a project object model (POM), Maven can manage a project's build,
|
||||||
reporting and documentation from a central piece of information.
|
reporting and documentation from a central piece of information.
|
||||||
|
|
||||||
%package javadoc
|
%package javadoc
|
||||||
Summary: API documentation for %{name}
|
Summary: API documentation for %{name}
|
||||||
Group: Documentation
|
Group: Documentation
|
||||||
Requires: jpackage-utils
|
Requires: jpackage-utils
|
||||||
|
|
||||||
%description javadoc
|
%description javadoc
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n apache-%{name}-%{version}
|
%setup -q -n apache-%{name}-%{version}
|
||||||
%patch150 -p1
|
%patch150 -p1
|
||||||
|
%patch200 -p1
|
||||||
|
|
||||||
|
# get custom resolver in place
|
||||||
|
cp %{SOURCE100} maven-core/src/main/java/org/apache/maven/artifact/resolver
|
||||||
|
cp %{SOURCE101} maven-core/src/main/java/org/apache/maven/artifact/repository
|
||||||
|
|
||||||
# not really used during build, but a precaution
|
# not really used during build, but a precaution
|
||||||
rm maven-ant-tasks-*.jar
|
rm maven-ant-tasks-*.jar
|
||||||
@ -126,8 +139,6 @@ chmod -x apache-%{name}-%{version}/conf/settings.xml
|
|||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
export M2_HOME=$(pwd)/m2home/apache-maven-%{version}
|
export M2_HOME=$(pwd)/m2home/apache-maven-%{version}
|
||||||
|
|
||||||
# maven2 directory in /usr/share/java
|
# maven2 directory in /usr/share/java
|
||||||
@ -182,7 +193,7 @@ install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{name}/lib
|
|||||||
plexus/interpolation plexus/plexus-sec-dispatcher plexus/utils \
|
plexus/interpolation plexus/plexus-sec-dispatcher plexus/utils \
|
||||||
sisu/sisu-inject-bean sisu/sisu-inject-plexus maven-wagon/file \
|
sisu/sisu-inject-bean sisu/sisu-inject-plexus maven-wagon/file \
|
||||||
maven-wagon/http-lightweight maven-wagon/http-shared maven-wagon/provider-api \
|
maven-wagon/http-lightweight maven-wagon/http-shared maven-wagon/provider-api \
|
||||||
xbean/xbean-reflect xerces-j2 jdom
|
xbean/xbean-reflect xerces-j2 jdom xml-commons-apis
|
||||||
)
|
)
|
||||||
|
|
||||||
################
|
################
|
||||||
@ -218,6 +229,7 @@ install -dm 755 $RPM_BUILD_ROOT%{_bindir}
|
|||||||
|
|
||||||
# Wrappers
|
# Wrappers
|
||||||
cp -af %{SOURCE200} $RPM_BUILD_ROOT%{_bindir}/mvn3
|
cp -af %{SOURCE200} $RPM_BUILD_ROOT%{_bindir}/mvn3
|
||||||
|
cp -af %{SOURCE201} $RPM_BUILD_ROOT%{_bindir}/mvn3-local
|
||||||
|
|
||||||
###################
|
###################
|
||||||
# Individual jars #
|
# Individual jars #
|
||||||
@ -230,10 +242,8 @@ for module in maven-aether-provider maven-artifact maven-compat \
|
|||||||
maven-settings-builder;do
|
maven-settings-builder;do
|
||||||
|
|
||||||
pushd $module
|
pushd $module
|
||||||
install -m 644 target/$module-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/
|
install -m 644 target/$module-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/$module.jar
|
||||||
ln -s $module-%version.jar $RPM_BUILD_ROOT%{_javadir}/%{name}/$module.jar
|
ln -s %{_javadir}/%{name}/$module.jar $RPM_BUILD_ROOT%{_datadir}/%{name}/lib/$module.jar
|
||||||
ln -s %{_javadir}/%{name}/$module-%{version}.jar \
|
|
||||||
$RPM_BUILD_ROOT%{_datadir}/%{name}/lib/$module-%{version}.jar
|
|
||||||
install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-$module.pom
|
install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-$module.pom
|
||||||
%add_to_maven_depmap org.apache.maven $module %{version} JPP/%{name} $module
|
%add_to_maven_depmap org.apache.maven $module %{version} JPP/%{name} $module
|
||||||
popd
|
popd
|
||||||
@ -243,9 +253,10 @@ done
|
|||||||
install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven.pom
|
install -m 644 pom.xml $RPM_BUILD_ROOT%{_datadir}/%{name}/poms/JPP.%{name}-maven.pom
|
||||||
%add_to_maven_depmap org.apache.maven maven %{version} JPP/%{name} maven
|
%add_to_maven_depmap org.apache.maven maven %{version} JPP/%{name} maven
|
||||||
|
|
||||||
|
# javadocs
|
||||||
|
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{name}
|
||||||
|
cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%update_maven_depmap
|
%update_maven_depmap
|
||||||
@ -258,6 +269,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc LICENSE.txt NOTICE.txt README.txt
|
%doc LICENSE.txt NOTICE.txt README.txt
|
||||||
%attr(0755,root,root) %{_bindir}/mvn3
|
%attr(0755,root,root) %{_bindir}/mvn3
|
||||||
|
%attr(0755,root,root) %{_bindir}/mvn3-local
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_datadir}/%{name}
|
||||||
%dir %{_datadir}/%{name}/bin
|
%dir %{_datadir}/%{name}/bin
|
||||||
%attr(0755,root,root) %{_datadir}/%{name}/bin/mvn
|
%attr(0755,root,root) %{_datadir}/%{name}/bin/mvn
|
||||||
@ -273,9 +285,19 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%config %{_mavendepmapfragdir}/%{name}
|
%config %{_mavendepmapfragdir}/%{name}
|
||||||
%{_javadir}/%{name}
|
%{_javadir}/%{name}
|
||||||
|
|
||||||
|
%files javadoc
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%doc LICENSE.txt
|
||||||
|
%{_javadocdir}/%{name}
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Dec 21 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-4
|
||||||
|
- Add fedora local resolver
|
||||||
|
- Fix quoting of arguments to mvn scripts
|
||||||
|
- Add javadoc subpackage
|
||||||
|
- Make jars versionless and remove unneeded clean section
|
||||||
|
|
||||||
* Wed Dec 1 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-3
|
* Wed Dec 1 2010 Stanislav Ochotnicky <sochotnicky@redhat.com> - 3.0-3
|
||||||
- Remove maven-ant-tasks jar in prep
|
- Remove maven-ant-tasks jar in prep
|
||||||
- Make fragment file as %%config
|
- Make fragment file as %%config
|
||||||
|
Loading…
Reference in New Issue
Block a user