ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maart...@apache.org
Subject svn commit: r744568 - in /ant/ivy/core/trunk: ./ doc/use/ src/java/org/apache/ivy/ant/ src/java/org/apache/ivy/core/deliver/ src/java/org/apache/ivy/plugins/parser/xml/ test/java/org/apache/ivy/ant/
Date Sat, 14 Feb 2009 21:04:19 GMT
Author: maartenc
Date: Sat Feb 14 21:04:19 2009
New Revision: 744568

URL: http://svn.apache.org/viewvc?rev=744568&view=rev
Log:
IMPROVEMENT: Ability to strip revConstraint attribute from delivered Ivy files (IVY-989)

Modified:
    ant/ivy/core/trunk/CHANGES.txt
    ant/ivy/core/trunk/doc/use/deliver.html
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyDeliver.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverEngine.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverOptions.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/UpdateOptions.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyDeliverTest.java

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Sat Feb 14 21:04:19 2009
@@ -85,6 +85,7 @@
 	
    trunk
 =====================================
+- IMPROVEMENT: Ability to strip revConstraint attribute from delivered Ivy files (IVY-989)
 - IMPROVEMENT: enhanced error message when defining an artifact for an unknown configuration.
 - IMPROVEMENT: display the revision of the resolved module in ivy-report.xsl (IVY-1024) (thanks
to Carlton Brown)
 - IMPROVEMENT: resolver attribute for buildnumber task (IVY-1019) (thanks to Martin Eigenbrodt)

Modified: ant/ivy/core/trunk/doc/use/deliver.html
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/use/deliver.html?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/doc/use/deliver.html (original)
+++ ant/ivy/core/trunk/doc/use/deliver.html Sat Feb 14 21:04:19 2009
@@ -97,12 +97,14 @@
         <td>No. No recursive delivery is done by default</td></tr>
     <tr><td>validate</td><td>true to force ivy files validation against
ivy.xsd, false to force no validation</td>
         <td>No. Defaults to default ivy value (as configured in configuration file)</td></tr>
-    <tr><td>replacedynamicrev</td><td>true to replace dynmic revisions
by static ones in the delivered file, false to avoid this replacement <span class="since">since
1.3</span></td>
+    <tr><td>replacedynamicrev</td><td>true to replace dynmic revisions
by static ones in the delivered file, false to avoid this replacement <span class="since">(since
1.3)</span></td>
         <td>No. Defaults to true</td></tr>
 	<tr><td>settingsRef</td><td>A reference to the ivy settings that
must be used by this task <span class="since">(since 2.0)</span></td>
 		<td>No, 'ivy.instance' is taken by default.</td></tr>    
-	<tr><td>conf</td><td>comma-separated list of configurations to include
in the delivered file. Accepts wildcards. <span class="since">since 2.0</span></td>
+	<tr><td>conf</td><td>comma-separated list of configurations to include
in the delivered file. Accepts wildcards. <span class="since">(since 2.0)</span></td>
         <td>No. Defaults to all configurations</td></tr>
+	<tr><td>generateRevConstraint</td><td>true to automatically generate
a 'revConstraint' attribute in the deliverd file (see the [[ivyfile/dependency]] page for
more info about this attribute), false to never generate this attribute <span class="since">(since
2.0.1)</span></td>
+        <td>No. Defaults to true</td></tr>
 </tbody>
 </table>
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyDeliver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyDeliver.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyDeliver.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyDeliver.java Sat Feb 14 21:04:19 2009
@@ -204,6 +204,8 @@
     private String conf;
 
     private String pubBranch;
+    
+    private boolean generateRevConstraint = true;
 
     public void setCache(File cache) {
         cacheAttributeNotSupported();
@@ -305,6 +307,14 @@
         conf = confs;
     }
 
+    public boolean isGenerateRevConstraint() {
+        return generateRevConstraint;
+    }
+
+    public void setGenerateRevConstraint(boolean generateRevConstraint) {
+        this.generateRevConstraint = generateRevConstraint;
+    }
+
     public void doExecute() throws BuildException {
         Ivy ivy = getIvyInstance();
         IvySettings settings = ivy.getSettings();
@@ -383,6 +393,7 @@
             DeliverOptions options = new DeliverOptions(status, pubdate, 
                 drResolver, doValidate(settings), replacedynamicrev, splitConfs(conf))
                 .setResolveId(resolveId)
+                .setGenerateRevConstraint(generateRevConstraint)
                 .setPubBranch(pubBranch);
             if (mrid == null) {
                 ivy.deliver(pubRevision, deliverpattern, options);

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverEngine.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverEngine.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverEngine.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverEngine.java Sat Feb 14
21:04:19 2009
@@ -191,6 +191,7 @@
                         .setRevision(revision)
                         .setBranch(options.getPubBranch())
                         .setPubdate(options.getPubdate())
+                        .setGenerateRevConstraint(options.isGenerateRevConstraint())
                         .setConfsToExclude((String[]) confsToRemove
                             .toArray(new String[confsToRemove.size()])));
         } catch (SAXException ex) {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverOptions.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverOptions.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverOptions.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/deliver/DeliverOptions.java Sat Feb 14
21:04:19 2009
@@ -40,6 +40,13 @@
     private String[] confs;
 
     private String pubBranch;
+    
+    /**
+     * True to indicate that the revConstraint attribute should be generated if
+     * applicable, false to never generate the revConstraint attribute.
+     */
+    private boolean generateRevConstraint = true;
+
 
     /**
      * Returns an instance of DeliverOptions with options corresponding to default values
taken from
@@ -222,6 +229,15 @@
         return this;
     }
     
+    public boolean isGenerateRevConstraint() {
+        return generateRevConstraint;
+    }
+    public DeliverOptions setGenerateRevConstraint(boolean generateRevConstraint) {
+        this.generateRevConstraint = generateRevConstraint;
+        return this;
+    }
+
+    
     public String toString() {
         return "status=" + status + " pubdate=" + pubdate + " validate=" + validate
                 + " resolveDynamicRevisions=" + resolveDynamicRevisions

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/UpdateOptions.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/UpdateOptions.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/UpdateOptions.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/UpdateOptions.java Sat Feb
14 21:04:19 2009
@@ -63,6 +63,11 @@
      */
     private boolean updateBranch = true;
     private String branch;
+    /**
+     * True to indicate that the revConstraint attribute should be generated if
+     * applicable, false to never generate the revConstraint attribute.
+     */
+    private boolean generateRevConstraint = true;
     
     public ParserSettings getSettings() {
         return settings;
@@ -134,4 +139,11 @@
         this.branch = pubBranch;
         return this;
     }
+    public boolean isGenerateRevConstraint() {
+        return generateRevConstraint;
+    }
+    public UpdateOptions setGenerateRevConstraint(boolean generateRevConstraint) {
+        this.generateRevConstraint = generateRevConstraint;
+        return this;
+    }
 }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java
Sat Feb 14 21:04:19 2009
@@ -168,6 +168,8 @@
         private final Namespace ns;
 
         private final boolean replaceInclude;
+        
+        private final boolean generateRevConstraint;
 
         private boolean inHeader = true;
 
@@ -187,6 +189,7 @@
             this.pubdate = options.getPubdate();
             this.ns = options.getNamespace();
             this.replaceInclude = options.isReplaceInclude();
+            this.generateRevConstraint = options.isGenerateRevConstraint();
             this.relativePathCtx = relativePathCtx;
             if (options.getConfsToExclude() != null) {
                 this.confs = Arrays.asList(options.getConfsToExclude());
@@ -390,7 +393,7 @@
                                 && branchConstraint != null) {
                             write(" branchConstraint=\"" + branchConstraint + "\"");
                         }
-                        if (attributes.getIndex("revConstraint") == -1 
+                        if (generateRevConstraint && attributes.getIndex("revConstraint")
== -1
                                 && !rev.equals(systemMrid.getRevision())) {
                             write(" revConstraint=\"" + systemMrid.getRevision() + "\"");
                         }

Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyDeliverTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyDeliverTest.java?rev=744568&r1=744567&r2=744568&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyDeliverTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/ant/IvyDeliverTest.java Sat Feb 14 21:04:19
2009
@@ -112,6 +112,32 @@
             dds[0].getDynamicConstraintDependencyRevisionId());
     }
 
+    public void testNotGenerateRevConstraint() throws Exception {
+        project.setProperty("ivy.dep.file", "test/java/org/apache/ivy/ant/ivy-latest.xml");
+        IvyResolve res = new IvyResolve();
+        res.setProject(project);
+        res.execute();
+
+        deliver.setPubrevision("1.2");
+        deliver.setDeliverpattern("build/test/deliver/ivy-[revision].xml");
+        deliver.setGenerateRevConstraint(false);
+        deliver.execute();
+
+        // should have done the ivy delivering
+        File deliveredIvyFile = new File("build/test/deliver/ivy-1.2.xml");
+        assertTrue(deliveredIvyFile.exists());
+        ModuleDescriptor md = XmlModuleDescriptorParser.getInstance().parseDescriptor(
+            new IvySettings(), deliveredIvyFile.toURL(), true);
+        assertEquals(ModuleRevisionId.newInstance("apache", "resolve-latest", "1.2"), md
+                .getModuleRevisionId());
+        DependencyDescriptor[] dds = md.getDependencies();
+        assertEquals(1, dds.length);
+        assertEquals(ModuleRevisionId.newInstance("org1", "mod1.2", "2.2"), 
+            dds[0].getDependencyRevisionId());
+        assertEquals(ModuleRevisionId.newInstance("org1", "mod1.2", "2.2"), 
+            dds[0].getDynamicConstraintDependencyRevisionId());
+    }
+
     public void testWithResolveId() throws Exception {
         IvyResolve resolve = new IvyResolve();
         resolve.setProject(project);



Mime
View raw message