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++) {