You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/03/02 10:30:41 UTC

svn commit: r513694 - in /incubator/ivy/core/trunk: ./ src/java/org/apache/ivy/core/module/id/ src/java/org/apache/ivy/core/resolve/ src/java/org/apache/ivy/core/settings/ src/java/org/apache/ivy/plugins/report/

Author: xavier
Date: Fri Mar  2 02:30:41 2007
New Revision: 513694

URL: http://svn.apache.org/viewvc?view=rev&rev=513694
Log:
IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)

Modified:
    incubator/ivy/core/trunk/CHANGES.txt
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleId.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties
    incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java

Modified: incubator/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/CHANGES.txt?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/CHANGES.txt (original)
+++ incubator/ivy/core/trunk/CHANGES.txt Fri Mar  2 02:30:41 2007
@@ -12,6 +12,7 @@
 - IMPROVE: Ability to have multiple roots in the <ivy:buildfilelist> task (IVY-340) (thanks to Matt Inger)
 - IMPROVE: Refactoring / documentation / test of matcher package (IVY-375) (thanks to Stephane Baillez)
 - IMPROVE: Add a unit test to verify that latest.integration accepts released modules (IVY-394) (thanks to Gilles Scokart)
+- IMPROVE: New "modules in use" section in console report at the end of resolve (IVY-373) (thanks to John Wiliams)
 
 - FIX: latest-time conflict manager not working properly (IVY-407)
 - FIX: LatestRevisionStrategy do not consider all dynamic revisions properly (IVY-383) (thanks to John Williams for the unit test)

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleId.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleId.java?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleId.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/module/id/ModuleId.java Fri Mar  2 02:30:41 2007
@@ -22,7 +22,7 @@
  * @author x.hanin
  *
  */
-public class ModuleId {
+public class ModuleId implements Comparable {
     static final String ENCODE_SEPARATOR = ":#@#:";
     private String _organisation;
     private String _name;
@@ -62,6 +62,15 @@
     }
     public String toString() {
         return "[ "+_organisation+" | "+_name+" ]";
+    }
+
+    public int compareTo(Object obj) {
+        ModuleId that = (ModuleId)obj;
+        int result = _organisation.compareTo(that._organisation);
+        if (result == 0) {
+            result = _name.compareTo(that._name);
+        }
+        return result;
     }
 
     public String encodeToString() {

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/IvyNode.java Fri Mar  2 02:30:41 2007
@@ -56,7 +56,7 @@
 import org.apache.ivy.util.filter.FilterHelper;
 
 
-public class IvyNode {
+public class IvyNode implements Comparable {
     private static final Pattern FALLBACK_CONF_PATTERN = Pattern.compile("(.+)\\((.*)\\)");
 
     private static final class NodeConf {
@@ -1081,6 +1081,11 @@
         }
         IvyNode node = (IvyNode)obj;
         return node.getId().equals(getId());
+    }
+
+    public int compareTo(Object obj) {
+        IvyNode that = (IvyNode)obj;
+        return this.getModuleId().compareTo(that.getModuleId());
     }
     
     public int hashCode() {

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java Fri Mar  2 02:30:41 2007
@@ -939,6 +939,11 @@
         }
         _variables = variables;
     }
+    public boolean logModulesInUse() {
+        String var = getVariable("ivy.log.modules.in.use");
+        return var == null || Boolean.valueOf(var).booleanValue();
+    }
+
     public boolean logModuleWhenFound() {
         String var = getVariable("ivy.log.module.when.found");
         return var == null || Boolean.valueOf(var).booleanValue();

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/ivy.properties Fri Mar  2 02:30:41 2007
@@ -20,3 +20,5 @@
 ivy.buildlist.ivyfilepath = ivy.xml
 
 ivy.checksums=sha1,md5
+
+ivy.log.modules.in.use=false

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java?view=diff&rev=513694&r1=513693&r2=513694
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/LogReportOutputter.java Fri Mar  2 02:30:41 2007
@@ -18,14 +18,19 @@
 package org.apache.ivy.plugins.report;
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 
+import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.report.ArtifactDownloadReport;
 import org.apache.ivy.core.report.ConfigurationResolveReport;
 import org.apache.ivy.core.report.ResolveReport;
 import org.apache.ivy.core.resolve.IvyNode;
 import org.apache.ivy.core.resolve.IvyNodeEviction.EvictionData;
+import org.apache.ivy.core.settings.IvySettings;
 import org.apache.ivy.util.Message;
 
 
@@ -40,7 +45,32 @@
    }
 
     public void output(ResolveReport report, File destDir) {
+    	IvySettings settings = IvyContext.getContext().getSettings();
+    	if (settings.logModulesInUse()) {
+    		Message.info("\t:: modules in use:");
+    		List dependencies = new ArrayList(report.getDependencies());
+    		Collections.sort(dependencies);
+    		if (dependencies.size() > 0) {
+    			String[] confs = report.getConfigurations();
+    			for (int i = 0; i < dependencies.size(); i++) {
+    				IvyNode node = (IvyNode)dependencies.get(i);
+    				if (node.isCompletelyEvicted()) {
+    					continue;
+    				}
+    				List nodeConfs = new ArrayList(confs.length);
+    				for (int j = 0; j < confs.length; j++) {
+    					String conf = confs[j];
+    					if (report.getConfigurationReport(conf).getModuleRevisionIds().contains(node.getResolvedId())) {
+    						nodeConfs.add(conf);
+    					}
+    				}
+    				Message.info("\t"+node+" from "+node.getModuleRevision().getResolver().getName()+" in "+nodeConfs);
+    			}
+    		}
+    	}
+
         IvyNode[] evicted = report.getEvictedNodes();
+
         if (evicted.length > 0) {
             Message.info("\t:: evicted modules:");
             for (int i = 0; i < evicted.length; i++) {