You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ma...@apache.org on 2010/08/09 21:30:35 UTC
svn commit: r983788 - in /ant/ivy/core/trunk/src/java/org/apache/ivy:
ant/IvyMakePom.java plugins/parser/m2/PomModuleDescriptorWriter.java
plugins/parser/m2/PomWriterOptions.java
Author: maartenc
Date: Mon Aug 9 19:30:35 2010
New Revision: 983788
URL: http://svn.apache.org/viewvc?rev=983788&view=rev
Log:
Use dedicated options class to pass configuration options to PomModuleDescriptorWriter.
Added:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java (with props)
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyMakePom.java
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyMakePom.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyMakePom.java?rev=983788&r1=983787&r2=983788&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyMakePom.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyMakePom.java Mon Aug 9 19:30:35 2010
@@ -18,6 +18,7 @@
package org.apache.ivy.ant;
import java.io.File;
+import java.io.IOException;
import java.net.MalformedURLException;
import java.text.ParseException;
import java.util.ArrayList;
@@ -28,6 +29,7 @@ import java.util.Map;
import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorWriter;
+import org.apache.ivy.plugins.parser.m2.PomWriterOptions;
import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorWriter.ConfigurationScopeMapping;
import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParser;
import org.apache.ivy.util.FileUtil;
@@ -113,11 +115,7 @@ public class IvyMakePom extends IvyTask
}
ModuleDescriptor md = XmlModuleDescriptorParser.getInstance().parseDescriptor(
getSettings(), ivyFile.toURI().toURL(), false);
- PomModuleDescriptorWriter.write(md, splitConfs(conf),
- headerFile == null ? null : FileUtil.readEntirely(getHeaderFile()),
- mappings.isEmpty()
- ? PomModuleDescriptorWriter.DEFAULT_MAPPING
- : new ConfigurationScopeMapping(getMappingsMap()), pomFile);
+ PomModuleDescriptorWriter.write(md, pomFile, getPomWriterOptions());
} catch (MalformedURLException e) {
throw new BuildException("unable to convert given ivy file to url: " + ivyFile + ": "
+ e, e);
@@ -129,6 +127,23 @@ public class IvyMakePom extends IvyTask
+ " from=" + ivyFile + " to=" + pomFile, e);
}
}
+
+ private PomWriterOptions getPomWriterOptions() throws IOException {
+ PomWriterOptions options = new PomWriterOptions();
+ options.setConfs(splitConfs(conf));
+
+ if (mappings.isEmpty()) {
+ options.setMapping(PomModuleDescriptorWriter.DEFAULT_MAPPING);
+ } else {
+ options.setMapping(new ConfigurationScopeMapping(getMappingsMap()));
+ }
+
+ if (headerFile != null) {
+ options.setLicenseHeader(FileUtil.readEntirely(getHeaderFile()));
+ }
+
+ return options;
+ }
private Map getMappingsMap() {
Map mappingsMap = new HashMap();
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java?rev=983788&r1=983787&r2=983788&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorWriter.java Mon Aug 9 19:30:35 2010
@@ -48,8 +48,7 @@ public final class PomModuleDescriptorWr
private PomModuleDescriptorWriter() {
}
- public static void write(ModuleDescriptor md, String[] confs,
- String licenseHeader, ConfigurationScopeMapping mapping, File output)
+ public static void write(ModuleDescriptor md, File output, PomWriterOptions options)
throws IOException {
if (output.getParentFile() != null) {
output.getParentFile().mkdirs();
@@ -58,8 +57,8 @@ public final class PomModuleDescriptorWr
"UTF-8"));
try {
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
- if (licenseHeader != null) {
- out.print(licenseHeader);
+ if (options.getLicenseHeader() != null) {
+ out.print(options.getLicenseHeader());
}
out.println("<!--");
out.println(" Apache Maven 2 POM generated by Apache Ivy");
@@ -75,7 +74,7 @@ public final class PomModuleDescriptorWr
+ "http://maven.apache.org/maven-v4_0_0.xsd\">\n");
out.println(" <modelVersion>4.0.0</modelVersion>");
printModuleId(md, out);
- printDependencies(md, confs, mapping, out);
+ printDependencies(md, out, options);
out.println("</project>");
} finally {
out.close();
@@ -121,10 +120,11 @@ public final class PomModuleDescriptorWr
return null;
}
- private static void printDependencies(
- ModuleDescriptor md, String[] confs, ConfigurationScopeMapping mapping, PrintWriter out) {
- DependencyDescriptor[] dds = getDependencies(md, confs);
+ private static void printDependencies(ModuleDescriptor md, PrintWriter out,
+ PomWriterOptions options) {
+ DependencyDescriptor[] dds = getDependencies(md, options);
if (dds.length > 0) {
+ ConfigurationScopeMapping mapping = options.getMapping();
out.println(" <dependencies>");
for (int i = 0; i < dds.length; i++) {
ModuleRevisionId mrid = dds[i].getDependencyRevisionId();
@@ -145,8 +145,9 @@ public final class PomModuleDescriptorWr
}
}
- private static DependencyDescriptor[] getDependencies(ModuleDescriptor md, String[] confs) {
- confs = ConfigurationUtils.replaceWildcards(confs, md);
+ private static DependencyDescriptor[] getDependencies(ModuleDescriptor md,
+ PomWriterOptions options) {
+ String[] confs = ConfigurationUtils.replaceWildcards(options.getConfs(), md);
List result = new ArrayList();
DependencyDescriptor[] dds = md.getDependencies();
Added: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java?rev=983788&view=auto
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java (added)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java Mon Aug 9 19:30:35 2010
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.plugins.parser.m2;
+
+import org.apache.ivy.plugins.parser.m2.PomModuleDescriptorWriter.ConfigurationScopeMapping;
+
+public class PomWriterOptions {
+ private String[] confs;
+
+ private String licenseHeader;
+
+ private ConfigurationScopeMapping mapping;
+
+ public String[] getConfs() {
+ return confs;
+ }
+
+ public PomWriterOptions setConfs(String[] confs) {
+ this.confs = confs;
+ return this;
+ }
+
+ public String getLicenseHeader() {
+ return licenseHeader;
+ }
+
+ public PomWriterOptions setLicenseHeader(String licenseHeader) {
+ this.licenseHeader = licenseHeader;
+ return this;
+ }
+
+ public ConfigurationScopeMapping getMapping() {
+ return mapping;
+ }
+
+ public PomWriterOptions setMapping(ConfigurationScopeMapping mapping) {
+ this.mapping = mapping;
+ return this;
+ }
+
+
+
+}
Propchange: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomWriterOptions.java
------------------------------------------------------------------------------
svn:mime-type = text/plain