You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by xa...@apache.org on 2009/01/24 15:05:24 UTC
svn commit: r737358 - in /ant/ivy/core/trunk:
src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
test/java/org/apache/ivy/plugins/resolver/MockResolver.java
Author: xavier
Date: Sat Jan 24 14:05:24 2009
New Revision: 737358
URL: http://svn.apache.org/viewvc?rev=737358&view=rev
Log:
fix problems introduced with IVY-1012
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java?rev=737358&r1=737357&r2=737358&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/resolver/AbstractResolver.java Sat Jan 24 14:05:24 2009
@@ -58,6 +58,7 @@
import org.apache.ivy.plugins.resolver.ChainResolver.ResolvedModuleRevisionArtifactInfo;
import org.apache.ivy.plugins.resolver.util.HasLatestStrategy;
import org.apache.ivy.plugins.resolver.util.ResolvedResource;
+import org.apache.ivy.util.Checks;
import org.apache.ivy.util.Message;
/**
@@ -337,9 +338,19 @@
protected ResolvedModuleRevision findModuleInCache(
DependencyDescriptor dd, ResolveData data, boolean anyResolver) {
- return getRepositoryCacheManager().findModuleInCache(
- dd, dd.getDependencyRevisionId(),
- getCacheOptions(data), anyResolver ? null : getName());
+ ResolvedModuleRevision rmr = getRepositoryCacheManager().findModuleInCache(
+ dd, dd.getDependencyRevisionId(),
+ getCacheOptions(data), anyResolver ? null : getName());
+ if (rmr == null) {
+ return null;
+ }
+ if (data.getReport() != null
+ && data.isBlacklisted(data.getReport().getConfiguration(), rmr.getId())) {
+ Message.verbose("\t" + getName() + ": found revision in cache: "
+ + rmr.getId() + " for " + dd + ", but it is blacklisted");
+ return null;
+ }
+ return rmr;
}
public void setChangingMatcher(String changingMatcherName) {
@@ -496,25 +507,25 @@
DependencyDescriptor dd,
ResolvedModuleRevision newModuleFound,
ResolveData data) {
+ Checks.checkNotNull(dd, "dd");
+ Checks.checkNotNull(data, "data");
+
// check if latest is asked and compare to return the most recent
ResolvedModuleRevision previousModuleFound = data.getCurrentResolvedModuleRevision();
String newModuleDesc = describe(newModuleFound);
Message.debug("\tchecking " + newModuleDesc + " against " + describe(previousModuleFound));
if (previousModuleFound == null) {
Message.debug("\tmodule revision kept as first found: " + newModuleDesc);
- getRepositoryCacheManager().saveResolvedRevision(
- dd.getDependencyRevisionId(), newModuleFound.getId().getRevision());
+ saveModuleRevisionIfNeeded(dd, newModuleFound);
return newModuleFound;
} else if (isAfter(newModuleFound, previousModuleFound, data.getDate())) {
Message.debug("\tmodule revision kept as younger: " + newModuleDesc);
- getRepositoryCacheManager().saveResolvedRevision(
- dd.getDependencyRevisionId(), newModuleFound.getId().getRevision());
+ saveModuleRevisionIfNeeded(dd, newModuleFound);
return newModuleFound;
} else if (!newModuleFound.getDescriptor().isDefault()
&& previousModuleFound.getDescriptor().isDefault()) {
Message.debug("\tmodule revision kept as better (not default): " + newModuleDesc);
- getRepositoryCacheManager().saveResolvedRevision(
- dd.getDependencyRevisionId(), newModuleFound.getId().getRevision());
+ saveModuleRevisionIfNeeded(dd, newModuleFound);
return newModuleFound;
} else {
Message.debug("\tmodule revision discarded as older: " + newModuleDesc);
@@ -522,6 +533,15 @@
}
}
+ protected void saveModuleRevisionIfNeeded(DependencyDescriptor dd,
+ ResolvedModuleRevision newModuleFound) {
+ if (newModuleFound != null
+ && getSettings().getVersionMatcher().isDynamic(dd.getDependencyRevisionId())) {
+ getRepositoryCacheManager().saveResolvedRevision(
+ dd.getDependencyRevisionId(), newModuleFound.getId().getRevision());
+ }
+ }
+
private String describe(ResolvedModuleRevision rmr) {
if (rmr == null) {
return "[none]";
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java?rev=737358&r1=737357&r2=737358&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/resolver/MockResolver.java Sat Jan 24 14:05:24 2009
@@ -111,4 +111,7 @@
return null;
}
+ protected void saveModuleRevisionIfNeeded(DependencyDescriptor dd,
+ ResolvedModuleRevision newModuleFound) {
+ }
}