diff --git a/ivy/Ivy.scala b/ivy/Ivy.scala index f612effb6..b5043f8dd 100644 --- a/ivy/Ivy.scala +++ b/ivy/Ivy.scala @@ -14,7 +14,7 @@ import CS.singleton import org.apache.ivy.{core, plugins, util, Ivy} import core.{IvyPatternHelper, LogOptions} -import core.cache.{CacheMetadataOptions, DefaultRepositoryCacheManager} +import core.cache.{CacheMetadataOptions, DefaultRepositoryCacheManager, ModuleDescriptorWriter} import core.module.descriptor.{Artifact => IArtifact, DefaultArtifact, DefaultDependencyArtifactDescriptor, MDArtifact} import core.module.descriptor.{DefaultDependencyDescriptor, DefaultModuleDescriptor, DependencyDescriptor, ModuleDescriptor, License} import core.module.descriptor.{OverrideDependencyDescriptorMediator} @@ -352,6 +352,9 @@ private object IvySbt } rmr } + // ignore the original resolver wherever possible to avoid issues like #704 + override def saveResolvers(descriptor: ModuleDescriptor, metadataResolverName: String, artifactResolverName: String) {} + def isChanging(dd: DependencyDescriptor, requestedRevisionId: ModuleRevisionId): Boolean = !localOnly && (dd.isChanging || requestedRevisionId.getRevision.contains("-SNAPSHOT")) } diff --git a/launch/Update.scala b/launch/Update.scala index c219eb4b6..594349ec1 100644 --- a/launch/Update.scala +++ b/launch/Update.scala @@ -291,8 +291,9 @@ final class Update(config: UpdateConfiguration) { val cacheDir = settings.getDefaultRepositoryCacheBasedir() val manager = new DefaultRepositoryCacheManager("default-cache", settings, cacheDir) { + // ignore resolvers wherever possible- not ideal, but avoids issues like #704 + override def saveResolvers(descriptor: ModuleDescriptor, metadataResolverName: String, artifactResolverName: String) {} override def findModuleInCache(dd: DependencyDescriptor, revId: ModuleRevisionId, options: CacheMetadataOptions, r: String) = { - // ignore the resolver- not ideal, but avoids thrashing. super.findModuleInCache(dd,revId,options,null) } }