Only in .: .classpath
Only in .: .project
Only in .: bin
diff -ur ./src/java/org/apache/ivy/ant/IvyMakePom.java ../apache-ivy-2.0.0-custom/src/java/org/apache/ivy/ant/IvyMakePom.java
--- ./src/java/org/apache/ivy/ant/IvyMakePom.java 2008-02-23 12:14:12.000000000 -0500
+++ ../apache-ivy-2.0.0-custom/src/java/org/apache/ivy/ant/IvyMakePom.java 2008-03-10 22:04:54.969797200 -0400
@@ -63,11 +63,11 @@
private Collection mappings = new ArrayList();
- public File getPomFile() {
+ public File getTargetDir() {
return pomFile;
}
- public void setPomFile(File file) {
+ public void setTargetDir(File file) {
pomFile = file;
}
@@ -99,15 +99,17 @@
throw new BuildException("source ivy file is required for makepom task");
}
if (pomFile == null) {
- throw new BuildException("destination pom file is required for makepom task");
+ throw new BuildException("destination dir is required for makepom task");
}
ModuleDescriptor md = XmlModuleDescriptorParser.getInstance().parseDescriptor(
getSettings(), ivyFile.toURL(), false);
- PomModuleDescriptorWriter.write(md,
+ int uniqueArtifacts = PomModuleDescriptorWriter.write(md,
headerFile == null ? null : FileUtil.readEntirely(getHeaderFile()),
mappings.isEmpty()
? PomModuleDescriptorWriter.DEFAULT_MAPPING
: new ConfigurationScopeMapping(getMappingsMap()), pomFile);
+ project.setProperty("ivy.pom.descriptor.size",
+ String.valueOf(uniqueArtifacts));
} catch (MalformedURLException e) {
throw new BuildException("unable to convert given ivy file to url: " + ivyFile + ": "
+ e, e);
@@ -116,7 +118,7 @@
throw new BuildException("syntax errors in ivy file " + ivyFile + ": " + e, e);
} catch (Exception e) {
throw new BuildException("impossible convert given ivy file to pom file: " + e
- + " from=" + ivyFile + " to=" + pomFile, e);
+ + " from=" + ivyFile, e);
}
}
diff -ur ./src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java ../apache-ivy-2.0.0-custom/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
--- ./src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java 2008-02-23 12:14:10.000000000 -0500
+++ ../apache-ivy-2.0.0-custom/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java 2008-03-11 12:06:52.230424800 -0400
@@ -26,6 +26,7 @@
import java.util.Map;
import org.apache.ivy.Ivy;
+import org.apache.ivy.core.module.descriptor.Artifact;
import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
import org.apache.ivy.core.module.id.ModuleRevisionId;
@@ -46,14 +47,42 @@
write(md, null, mapping, output);
}
- public static void write(ModuleDescriptor md,
+ public static int write(ModuleDescriptor md,
String licenseHeader, ConfigurationScopeMapping mapping, File output)
throws IOException {
if (output.getParentFile() != null) {
output.getParentFile().mkdirs();
}
- PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream(output),
- "UTF-8"));
+ PrintWriter out = new PrintWriter(new OutputStreamWriter(
+ new FileOutputStream(output + "/" + md.getModuleRevisionId().getName()
+ + ".pom"), "UTF-8"));
+
+ String packaging = null;
+ Map uniqueArtifacts = new HashMap ();
+
+ Artifact[] artifacts = md.getAllArtifacts();
+
+ if (artifacts != null && artifacts.length > 0) {
+ for (int i = 0; i < artifacts.length; i++) {
+ if ((!"ivy".equals(artifacts[i].getType())
+ && !"pom".equals(artifacts[i].getType()))) {
+
+ String artifactKey = artifacts[i].getName();
+ if (!uniqueArtifacts.containsKey(artifacts[i].getName())
+ && !artifactKey.equals(md.getModuleRevisionId().getName())) {
+ uniqueArtifacts.put(artifactKey, artifacts[i]);
+ }
+
+ if (packaging == null) packaging = artifacts[i].getExt();
+ }
+ }
+ artifacts = null;
+
+ if (uniqueArtifacts.size() > 0) {
+ packaging = "pom";
+ }
+ }
+
try {
out.println("");
if (licenseHeader != null) {
@@ -72,19 +101,32 @@
out.println(" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 "
+ "http://maven.apache.org/maven-v4_0_0.xsd\">\n");
out.println(" 4.0.0");
- printModuleId(md, out);
+ printModuleId(md, out, packaging);
printDependencies(md, mapping, out);
+
out.println("");
} finally {
out.close();
}
+
+ int outputValue = uniqueArtifacts.size();
+ if (outputValue > 0) {
+ Artifact[] unique = new Artifact[uniqueArtifacts.size()];
+ uniqueArtifacts.values().toArray(unique);
+ uniqueArtifacts = null;
+
+ handleArtifacts(md, licenseHeader, unique, output);
+ }
+
+ return outputValue;
}
- private static void printModuleId(ModuleDescriptor md, PrintWriter out) {
+ private static void printModuleId(ModuleDescriptor md, PrintWriter out, String packaging) {
ModuleRevisionId mrid = md.getModuleRevisionId();
+
out.println(" " + mrid.getOrganisation() + "");
out.println(" " + mrid.getName() + "");
- out.println(" jar");
+ out.println(" " + packaging + "");
if (mrid.getRevision() != null) {
out.println(" " + mrid.getRevision() + "");
}
@@ -92,7 +134,73 @@
out.println(" " + md.getHomePage() + "");
}
}
-
+
+ private static void handleArtifacts(ModuleDescriptor md, String licenseHeader,
+ Artifact[] artifacts, File output) throws IOException {
+ for (int i = 0; i < artifacts.length; i++) {
+
+ PrintWriter out = new PrintWriter(new OutputStreamWriter(
+ new FileOutputStream(output + "/" + artifacts[i].getName() + ".pom"), "UTF-8"));
+
+ try {
+ out.println("");
+ if (licenseHeader != null) {
+ out.print(licenseHeader);
+ }
+ out.println("");
+ out.println("\n");
+ out.println(" 4.0.0");
+
+ printArtifactId(md, artifacts[i], out);
+ printParent(md, out);
+
+ out.println("");
+ } finally {
+ out.close();
+ }
+ }
+ }
+
+ private static void printParent(ModuleDescriptor md, PrintWriter out) {
+ ModuleRevisionId mrid = md.getModuleRevisionId();
+ out.println("");
+ out.println(" ");
+ out.println(" " + mrid.getOrganisation() + "");
+ out.println(" " + mrid.getName() + "");
+ if (mrid.getRevision() != null) {
+ out.println(" " + mrid.getRevision() + "");
+ }
+ if (md.getHomePage() != null) {
+ out.println(" " + md.getHomePage() + "");
+ }
+ out.println(" ");
+ }
+
+ private static void printArtifactId(ModuleDescriptor md, Artifact artifact,
+ PrintWriter out) {
+ ModuleRevisionId mrid = md.getModuleRevisionId();
+ out.println(" " + mrid.getOrganisation() + "");
+ out.println(" " + artifact.getName() + "");
+ out.println(" " + ((artifact.getExt() != null) ?
+ artifact.getExt() : artifact.getType()) + "");
+ if (mrid.getRevision() != null) {
+ out.println(" " + mrid.getRevision() + "");
+ }
+ if (md.getHomePage() != null) {
+ out.println(" " + md.getHomePage() + "");
+ }
+ }
+
private static void printDependencies(
ModuleDescriptor md, ConfigurationScopeMapping mapping, PrintWriter out) {
DependencyDescriptor[] dds = md.getDependencies();
Only in .: ttv