Author: maartenc
Date: Mon Feb 26 15:15:05 2007
New Revision: 512068

URL: http://svn.apache.org/viewvc?view=rev&rev=512068
Log:
Use the cache specified in the options instead of the default cache.

Modified:
    incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy14.java
    
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
    
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java
URL: 
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java?view=diff&rev=512068&r1=512067&r2=512068
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy.java Mon Feb 26 
15:15:05 2007
@@ -318,7 +318,7 @@
     /////////////////////////////////////////////////////////////////////////
     
     public ResolvedModuleRevision findModule(ModuleRevisionId mrid) {
-       return _resolveEngine.findModule(mrid);
+       return _resolveEngine.findModule(mrid, 
CacheManager.getInstance(_settings));
     }
     
        public ModuleEntry[] listModuleEntries(OrganisationEntry org) {

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy14.java
URL: 
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy14.java?view=diff&rev=512068&r1=512067&r2=512068
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy14.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/Ivy14.java Mon Feb 26 
15:15:05 2007
@@ -134,7 +134,7 @@
        }
 
        public ResolvedModuleRevision findModule(ModuleRevisionId id) {
-               return _ivy.getResolveEngine().findModule(id);
+               return _ivy.getResolveEngine().findModule(id, 
CacheManager.getInstance(_ivy.getSettings()));
        }
 
        public IvyNode[] getDependencies(ModuleDescriptor md, String[] confs, 
File cache, Date date, ResolveReport report, boolean validate, boolean 
transitive) {

Modified: 
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
URL: 
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java?view=diff&rev=512068&r1=512067&r2=512068
==============================================================================
--- 
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
 (original)
+++ 
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/resolve/ResolveEngine.java
 Mon Feb 26 15:15:05 2007
@@ -105,7 +105,7 @@
                DefaultModuleDescriptor md;
                String[] confs = options.getConfs();
                if (confs.length == 1 && confs[0].equals("*")) {
-                       ResolvedModuleRevision rmr = findModule(mrid);
+                       ResolvedModuleRevision rmr = findModule(mrid, 
options.getCache());
                        if (rmr == null) {
                                md = 
DefaultModuleDescriptor.newCallerInstance(mrid, confs, options.isTransitive(), 
changing);
                                return new ResolveReport(md){
@@ -736,7 +736,7 @@
         return false;
     }
 
-       public ResolvedModuleRevision findModule(ModuleRevisionId id) {
+       public ResolvedModuleRevision findModule(ModuleRevisionId id, 
CacheManager cache) {
                DependencyResolver r = _settings.getResolver(id.getModuleId());
                if (r == null) {
                        throw new IllegalStateException("no resolver found for 
"+id.getModuleId());
@@ -749,8 +749,8 @@
                                                        this, 
                                                        new ResolveOptions()
                                                                
.setValidate(false)
-                                                               
.setCache(CacheManager.getInstance(_settings)), 
-                                                       new 
ConfigurationResolveReport(this, md, "default", null, 
_settings.getDefaultCache())));
+                                                               
.setCache(cache), 
+                                                       new 
ConfigurationResolveReport(this, md, "default", null, cache.getCache())));
                } catch (ParseException e) {
                        throw new RuntimeException("problem while parsing 
repository module descriptor for "+id+": "+e, e);
                }

Modified: 
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java
URL: 
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java?view=diff&rev=512068&r1=512067&r2=512068
==============================================================================
--- 
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java 
(original)
+++ 
incubator/ivy/core/trunk/test/java/org/apache/ivy/core/resolve/ResolveTest.java 
Mon Feb 26 15:15:05 2007
@@ -2688,6 +2688,38 @@
         assertTrue(getArchiveFileInCache("apache", "C", "3.0", "C", "jar", 
"jar").exists());        
     }
 
+    public void testResolveWithSpecifiedCache() throws Exception {
+       File cache2 = new File("build/cache2");
+       try {
+               _ivy.getSettings().setDefaultCache(_cache);
+               
+               // the module to resolve
+               ModuleRevisionId module = ModuleRevisionId.newInstance("org1", 
"mod1.1", "1.0");
+               
+               // use a non-default cache
+               ResolveOptions options = getResolveOptions(new String[] {"*"});
+               options.setTransitive(false);
+               options.setUseOrigin(true);
+               options.setCache(CacheManager.getInstance(_ivy.getSettings(), 
cache2));
+               ResolveReport report = _ivy.getResolveEngine().resolve(module, 
options, false);
+               
+               // the resolved module
+               ModuleRevisionId resolvedModule = 
report.getModuleDescriptor().getResolvedModuleRevisionId();
+               
+               // verify that the module in the default cache doesn't exist
+               assertEquals("Default cache is not empty", 
_cache.list().length, 0);
+               
+               // verify the artifact does exist in the non-default cache.
+               CacheManager nonDefaultManager = _ivy.getCacheManager(cache2);
+               assertTrue(TestHelper.getArchiveFileInCache(nonDefaultManager, 
"org1", "mod1.1", "1.0", "mod1.1", "jar", "jar").exists());
+               
assertTrue(nonDefaultManager.getResolvedIvyFileInCache(resolvedModule).exists());
+               
assertTrue(nonDefaultManager.getResolvedIvyPropertiesInCache(resolvedModule).exists());
+               
assertNotNull(nonDefaultManager.getSavedArtifactOrigin((Artifact) 
report.getArtifacts().get(0)));
+       } finally {
+               // delete the non-default cache
+                       cache2.delete();
+       }
+    }
 
     ////////////////////////////////////////////////////////////
     // helper methods to ease the tests


Reply via email to