You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by jv...@apache.org on 2002/03/25 02:56:08 UTC
cvs commit: jakarta-turbine-maven/src/java/org/apache/maven PackageProjectMap.java ProjectResolver.java
jvanzyl 02/03/24 17:56:08
Modified: src/descriptors build.xml
src/java/org/apache/maven PackageProjectMap.java
ProjectResolver.java
Log:
Fixing up the project resolver to make sure that projects with
no an empty <package> element don't get through. According to the
project resolver maven has the following direct deps :-)
jakarta-ant
jakarta-velocity
commons-lang
jakarta-bcel
jakarta-oro
Revision Changes Path
1.5 +1 -0 jakarta-turbine-maven/src/descriptors/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/descriptors/build.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- build.xml 24 Mar 2002 21:09:07 -0000 1.4
+++ build.xml 25 Mar 2002 01:56:08 -0000 1.5
@@ -138,6 +138,7 @@
<delete file="${basedir}/p3/xml-stylebook.xml"/>
<delete file="${basedir}/p3/xml-xalan2-smoketest-tools.xml"/>
<delete file="${basedir}/p3/xml-xalan2-smoketest.xml"/>
+ <delete file="${basedir}/p3/mx4j-release.xml"/>
<delete>
<fileset dir="${basedir}/project">
1.2 +4 -2 jakarta-turbine-maven/src/java/org/apache/maven/PackageProjectMap.java
Index: PackageProjectMap.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/PackageProjectMap.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PackageProjectMap.java 24 Mar 2002 21:09:07 -0000 1.1
+++ PackageProjectMap.java 25 Mar 2002 01:56:08 -0000 1.2
@@ -70,7 +70,7 @@
* references.
*
* @author <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>
- * @version $Id: PackageProjectMap.java,v 1.1 2002/03/24 21:09:07 jvanzyl Exp $
+ * @version $Id: PackageProjectMap.java,v 1.2 2002/03/25 01:56:08 jvanzyl Exp $
*/
public class PackageProjectMap
extends AbstractExecutor
@@ -157,7 +157,9 @@
String projectId = p.getId();
// Some of the projects may not have packages.
- if (projectPackage != null && projectId != null)
+ if (projectPackage != null &&
+ projectPackage.trim().length() > 0 &&
+ projectId != null)
{
m.put(projectPackage, projectId);
}
1.9 +61 -9 jakarta-turbine-maven/src/java/org/apache/maven/ProjectResolver.java
Index: ProjectResolver.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/ProjectResolver.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ProjectResolver.java 24 Mar 2002 23:34:07 -0000 1.8
+++ ProjectResolver.java 25 Mar 2002 01:56:08 -0000 1.9
@@ -55,6 +55,7 @@
*/
import java.io.File;
+import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;
@@ -64,6 +65,8 @@
import java.util.jar.JarEntry;
import java.util.Map;
import java.util.StringTokenizer;
+import java.util.Properties;
+import java.util.HashMap;
import org.apache.maven.util.JarUtil;
import org.apache.maven.importscrubber.ClassParserWrapper;
@@ -77,7 +80,7 @@
* in a project descriptor.
*
* @author <a href="mailto:jason@zenplex.com">Jason van Zyl</a>
- * @version $Id: ProjectResolver.java,v 1.8 2002/03/24 23:34:07 jvanzyl Exp $
+ * @version $Id: ProjectResolver.java,v 1.9 2002/03/25 01:56:08 jvanzyl Exp $
*/
public class ProjectResolver
{
@@ -107,7 +110,12 @@
/**
* Package -> Project map.
*/
- private File map;
+ private File mapFile;
+
+ /**
+ * Project references.
+ */
+ private List projectReferences;
/**
* Default constructor.
@@ -117,6 +125,7 @@
packageReferences = new LinkedList();
packageExcludes = new LinkedList();
treeMapListener = new TreeMapListener();
+ projectReferences = new LinkedList();
}
/**
@@ -154,9 +163,9 @@
*
* @param map Location of the package -> project map.
*/
- public void setMap(File map)
+ public void setMapFile(File mapFile)
{
- this.map = map;
+ this.mapFile = mapFile;
}
/**
@@ -171,6 +180,17 @@
}
/**
+ * Get the projects referenced determined by the resolution
+ * process.
+ *
+ * @return List The list of project references found.
+ */
+ public List getProjectReferences()
+ {
+ return projectReferences;
+ }
+
+ /**
* Resolve the package dependencies from the set of JARs
* and classes used as the input.
*/
@@ -202,6 +222,38 @@
{
processJAR(base.getAbsolutePath());
}
+
+ Properties map = new Properties();
+
+ try
+ {
+ map.load(new FileInputStream(mapFile));
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ HashMap projects = new HashMap();
+
+ List packageReferences = getPackageReferences();
+ for (Iterator i = packageReferences.iterator(); i.hasNext();)
+ {
+ String classReference = (String) i.next();
+
+ for (Iterator j = map.keySet().iterator(); j.hasNext();)
+ {
+ String packageKey = (String) j.next();
+
+ if (classReference.indexOf(packageKey) == 0)
+ {
+ Object o = map.get(packageKey);
+ projects.put(o,o);
+ }
+ }
+ }
+
+ projectReferences.addAll(projects.values());
}
/**
@@ -246,8 +298,7 @@
*/
private void processClassReference(String classReference)
{
- // Don't care about internal classes or classes
- // that don't belong to a real package.
+ // Don't care about inner classes.
if (classReference.indexOf("$") < 0 && classReference.startsWith("[") == false)
{
boolean includePackage = true;
@@ -278,12 +329,13 @@
ProjectResolver bdr = new ProjectResolver();
bdr.setBase(new File(args[0]));
bdr.setPackageExcludes(args[1]);
+ bdr.setMapFile(new File(args[2]));
bdr.resolveDependencies();
- List packageReferences = bdr.getPackageReferences();
- for (Iterator i = packageReferences.iterator(); i.hasNext();)
+ List projectReferences = bdr.getProjectReferences();
+ for (Iterator i = projectReferences.iterator(); i.hasNext();)
{
System.out.println(i.next());
- }
+ }
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>