[java-sig-commits] [maven] Process fragments directly instead of maven2-depmap.xml

Stanislav Ochotnicky sochotni at fedoraproject.org
Fri Jun 10 08:46:04 UTC 2011


commit bdbc16d2c10552f943177d5c6f7f7d285ab7ba8d
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Fri Jun 10 10:33:20 2011 +0200

    Process fragments directly instead of maven2-depmap.xml
    
    Fragments are also expected in /usr/share/maven-fragments where they
    should be moved (backward compat preserved for now).
    
    Big changes are due to reformatting to use spaces (sorry, cleaner
    log/diff in separate resolver repo)

 JavadirWorkspaceReader.java |   60 +++---
 MavenJPackageDepmap.java    |  480 +++++++++++++++++++++++++------------------
 maven.spec                  |    5 +-
 3 files changed, 319 insertions(+), 226 deletions(-)
---
diff --git a/JavadirWorkspaceReader.java b/JavadirWorkspaceReader.java
index 8efd7e0..22033cb 100644
--- a/JavadirWorkspaceReader.java
+++ b/JavadirWorkspaceReader.java
@@ -11,16 +11,12 @@ import org.sonatype.aether.repository.WorkspaceReader;
 import org.sonatype.aether.repository.WorkspaceRepository;
 import org.sonatype.aether.artifact.Artifact;
 
-
-public class JavadirWorkspaceReader
-    implements WorkspaceReader
-{
+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");
     }
@@ -29,8 +25,9 @@ public class JavadirWorkspaceReader
         return workspaceRepository;
     }
 
-    public File findArtifact( Artifact artifact ) {
-    	MavenJPackageDepmap.debug("=============JAVADIRREADER-FIND_ARTIFACT: " + artifact.getArtifactId());
+    public File findArtifact(Artifact artifact) {
+        MavenJPackageDepmap.debug("=============JAVADIRREADER-FIND_ARTIFACT: "
+                + artifact.getArtifactId());
         StringBuffer path = new StringBuffer();
 
         String artifactId = artifact.getArtifactId();
@@ -42,7 +39,8 @@ public class JavadirWorkspaceReader
 
         if (!groupId.startsWith("JPP")) {
             MavenJPackageDepmap map = MavenJPackageDepmap.getInstance();
-            Hashtable<String,String> newInfo = map.getMappedInfo(groupId, artifactId, version);
+            Hashtable<String, String> newInfo = map.getMappedInfo(groupId,
+                    artifactId, version);
 
             groupId = (String) newInfo.get("group");
             artifactId = (String) newInfo.get("artifact");
@@ -54,32 +52,33 @@ public class JavadirWorkspaceReader
             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" );
+            path.append(groupId).append('/');
+            path.append(artifactId).append(".signature");
         } else if (artifact.getExtension().equals("zip")) {
             path.append("/usr/share/maven/repository/");
-            path.append( groupId ).append( '/' );
-            path.append( artifactId ).append( ".zip" );
+            path.append(groupId).append('/');
+            path.append(artifactId).append(".zip");
         } else {
-        	path.append("/usr/share/maven/repository/");
-            path.append( groupId ).append( '/' );
-            path.append( artifactId ).append( ".jar" );
+            path.append("/usr/share/maven/repository/");
+            path.append(groupId).append('/');
+            path.append(artifactId).append(".jar");
         }
 
         MavenJPackageDepmap.debug("Returning " + path.toString());
         File ret = new File(path.toString());
         // if file doesn't exist return null to delegate to other
         // resolvers (reactor/local repo)
-        if ( ret.isFile() ) {
+        if (ret.isFile()) {
             MavenJPackageDepmap.debug("Returning " + path.toString());
             return ret;
         } else {
-            MavenJPackageDepmap.debug("Returning null for gid:aid =>" + groupId + ":" + artifactId);
+            MavenJPackageDepmap.debug("Returning null for gid:aid =>" + groupId
+                    + ":" + artifactId);
             return null;
         }
     }
 
-    public List<String> findVersions( Artifact artifact ) {
+    public List<String> findVersions(Artifact artifact) {
         List<String> ret = new LinkedList<String>();
         ret.add("latest");
         return ret;
@@ -87,25 +86,30 @@ public class JavadirWorkspaceReader
 
     private StringBuffer getPOMPath(String groupId, String artifactId) {
 
-        String fName = groupId.replace(PATH_SEPARATOR, GROUP_SEPARATOR) + "-" + artifactId + ".pom";
-        String m2path = System.getProperty("maven2.local.pom.path", "JPP/maven2/poms") + "/" + fName;
-        String m3path = System.getProperty("maven.local.pom.path", "JPP/maven/poms") + "/" + fName;
+        String fName = groupId.replace(PATH_SEPARATOR, GROUP_SEPARATOR) + "-"
+                + artifactId + ".pom";
+        String m2path = System.getProperty("maven2.local.pom.path",
+                "JPP/maven2/poms") + "/" + fName;
+        String m3path = System.getProperty("maven.local.pom.path",
+                "JPP/maven/poms") + "/" + fName;
         File f;
 
         // let's try maven 2 repo first
-        f = new File(System.getProperty("maven2.local.default.repo", "/usr/share/maven2/repository") + "/" + m2path);
-        if ( f.exists() ) {
+        f = new File(System.getProperty("maven2.local.default.repo",
+                "/usr/share/maven2/repository") + "/" + m2path);
+        if (f.exists()) {
             return new StringBuffer(f.getPath());
         }
 
-        f = new File(System.getProperty("maven.local.default.repo", "/usr/share/maven/repository") + "/" + m3path);
-        if ( f.exists() ) {
+        f = new File(System.getProperty("maven.local.default.repo",
+                "/usr/share/maven/repository") + "/" + m3path);
+        if (f.exists()) {
             return new StringBuffer(f.getPath());
         }
 
         // final fallback to m2 default poms
-        return new StringBuffer("/usr/share/maven2/repository/" +
-                                System.getProperty("maven.local.default.repo", "JPP/maven2/default_poms") +
-                                "/" + fName);
+        return new StringBuffer("/usr/share/maven2/repository/"
+                + System.getProperty("maven.local.default.repo",
+                        "JPP/maven2/default_poms") + "/" + fName);
     }
 }
diff --git a/MavenJPackageDepmap.java b/MavenJPackageDepmap.java
index 8cd1651..7fdc2ab 100644
--- a/MavenJPackageDepmap.java
+++ b/MavenJPackageDepmap.java
@@ -1,8 +1,10 @@
 package org.apache.maven.artifact.repository;
 
-
+import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
 import java.util.Hashtable;
 import java.util.StringTokenizer;
 
@@ -10,204 +12,288 @@ import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
-
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
 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.local.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.local.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.local.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.local.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.local.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.local.debug") != null)
-			System.err.println(msg);
-	}
+    private static class ArtifactDefinition {
+        String groupId = null;
+        String artifactId = null;
+        String version = null;
+    }
+
+    /**
+     * 
+     * @author Stanislav Ochotnicky <sochotnicky at redhat.com>
+     * 
+     *         This class is used to wrap around fragments that are mapping
+     *         artifacts to jar files in our _javadir. These used to be
+     *         processed in a macro after every package installation. Fragments
+     *         themselves are not proper xml files (they have no root element)
+     *         so we have to fix them by wrapping them in one root element.
+     */
+    private static class WrapFragmentStream extends InputStream {
+        String startTag = "<deps>";
+        String endTag = "</deps>";
+        byte fragmentContent[];
+        int position;
+
+        WrapFragmentStream(String fragmentPath) throws IOException {
+            FileInputStream fin = new FileInputStream(fragmentPath);
+            int nBytes = fin.available();
+            byte tmpContent[] = new byte[nBytes];
+            fin.read(tmpContent);
+            fin.close();
+            byte startBytes[] = startTag.getBytes();
+            byte endBytes[] = endTag.getBytes();
+            fragmentContent = new byte[nBytes + startBytes.length
+                    + endBytes.length];
+            System.arraycopy(startBytes, 0, fragmentContent, 0,
+                    startBytes.length);
+            System.arraycopy(tmpContent, 0, fragmentContent, startBytes.length,
+                    tmpContent.length);
+            System.arraycopy(endBytes, 0, fragmentContent, startBytes.length
+                    + tmpContent.length, endBytes.length);
+            position = 0;
+        }
+
+        public int read() throws IOException {
+            if (position < fragmentContent.length) {
+                return fragmentContent[position++];
+            } else {
+                return -1;
+            }
+        }
+    }
+
+    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.local.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.local.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.local.mode") != null) {
+            debug("Processing file: /usr/share/java-utils/xml/maven2-versionless-depmap.xml");
+            processDepmapFile("/etc/maven/maven2-versionless-depmap.xml");
+        }
+
+        // process fragments in etc
+        File fragmentDir = new File("/etc/maven/fragments");
+        String flist[] = fragmentDir.list();
+        if (flist != null)
+            for (String fragFilename : flist)
+                processDepmapFile("/etc/maven/fragments/" + fragFilename);
+
+        // process fragments is usr. Once packages are rebuilt, we can skip
+        // fragments in /etc
+        fragmentDir = new File("/usr/share/maven-fragments");
+        flist = fragmentDir.list();
+        if (flist != null)
+            for (String fragFilename : flist)
+                processDepmapFile("/usr/share/maven-fragments/" + fragFilename);
+
+        String customFileName = System.getProperty("maven.local.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();
+            // we can wrap even old depmaps, no harm done
+            WrapFragmentStream wfs = new WrapFragmentStream(fileName);
+            mapDocument = builder.parse(wfs);
+            wfs.close();
+        } 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.local.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.local.debug") != null)
+            System.err.println(msg);
+    }
 }
diff --git a/maven.spec b/maven.spec
index 4c0c1e0..5b7f202 100644
--- a/maven.spec
+++ b/maven.spec
@@ -1,7 +1,7 @@
 
 Name:           maven
 Version:        3.0.3
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        Java project management and project comprehension tool
 
 Group:          Development/Tools
@@ -308,6 +308,9 @@ cp -pr target/site/apidocs/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}
 
 
 %changelog
+* Fri Jun 10 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.0.3-5
+- Process fragments directly instead of maven2-depmap.xml
+
 * Mon Jun  6 2011 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.0.3-4
 - Add help to mvn-rpmbuild and mvn-local (rhbz#710448)
 


More information about the java-sig-commits mailing list