Remove DependencyResolver.getLocalArtifactUrls() since we only load a single dependency this way now (just Framework Jar, not shadows core jar)
diff --git a/robolectric/src/main/java/org/robolectric/internal/dependency/CachedDependencyResolver.java b/robolectric/src/main/java/org/robolectric/internal/dependency/CachedDependencyResolver.java
index 1e861f6..9239cfc 100644
--- a/robolectric/src/main/java/org/robolectric/internal/dependency/CachedDependencyResolver.java
+++ b/robolectric/src/main/java/org/robolectric/internal/dependency/CachedDependencyResolver.java
@@ -12,8 +12,7 @@
import java.util.zip.CRC32;
public class CachedDependencyResolver implements DependencyResolver {
- private final static String CACHE_PREFIX_1 = "localArtifactUrls";
- private final static String CACHE_PREFIX_2 = "localArtifactUrl";
+ private final static String CACHE_PREFIX = "localArtifactUrl";
private final DependencyResolver dependencyResolver;
private final CacheNamingStrategy cacheNamingStrategy;
@@ -32,22 +31,8 @@
}
@Override
- public URL[] getLocalArtifactUrls(DependencyJar... dependencies) {
- final String cacheName = cacheNamingStrategy.getName(CACHE_PREFIX_1, dependencies);
- final URL[] urlsFromCache = cache.load(cacheName, URL[].class);
-
- if (urlsFromCache != null && cacheValidationStrategy.isValid(urlsFromCache)) {
- return urlsFromCache;
- }
-
- final URL[] urls = dependencyResolver.getLocalArtifactUrls(dependencies);
- cache.write(cacheName, urls);
- return urls;
- }
-
- @Override
public URL getLocalArtifactUrl(DependencyJar dependency) {
- final String cacheName = cacheNamingStrategy.getName(CACHE_PREFIX_2, dependency);
+ final String cacheName = cacheNamingStrategy.getName(CACHE_PREFIX, dependency);
final URL urlFromCache = cache.load(cacheName, URL.class);
if (urlFromCache != null && cacheValidationStrategy.isValid(urlFromCache)) {
diff --git a/robolectric/src/main/java/org/robolectric/internal/dependency/DependencyResolver.java b/robolectric/src/main/java/org/robolectric/internal/dependency/DependencyResolver.java
index 1ef6d0d..b46c3c8 100644
--- a/robolectric/src/main/java/org/robolectric/internal/dependency/DependencyResolver.java
+++ b/robolectric/src/main/java/org/robolectric/internal/dependency/DependencyResolver.java
@@ -3,6 +3,5 @@
import java.net.URL;
public interface DependencyResolver {
- URL[] getLocalArtifactUrls(DependencyJar... dependencies);
URL getLocalArtifactUrl(DependencyJar dependency);
}
diff --git a/robolectric/src/main/java/org/robolectric/internal/dependency/LocalDependencyResolver.java b/robolectric/src/main/java/org/robolectric/internal/dependency/LocalDependencyResolver.java
index 7bbeebc..199bbe0 100644
--- a/robolectric/src/main/java/org/robolectric/internal/dependency/LocalDependencyResolver.java
+++ b/robolectric/src/main/java/org/robolectric/internal/dependency/LocalDependencyResolver.java
@@ -32,17 +32,6 @@
return fileToUrl(validateFile(new File(offlineJarDir, filenameBuilder.toString())));
}
- @Override
- public URL[] getLocalArtifactUrls(DependencyJar... dependencies) {
- URL[] urls = new URL[dependencies.length];
-
- for (int i=0; i<dependencies.length; i++) {
- urls[i] = getLocalArtifactUrl(dependencies[i]);
- }
-
- return urls;
- }
-
/**
* Validates {@code file} is an existing file that is readable.
*
diff --git a/robolectric/src/main/java/org/robolectric/internal/dependency/MavenDependencyResolver.java b/robolectric/src/main/java/org/robolectric/internal/dependency/MavenDependencyResolver.java
index 3d94596..e06ed7e 100644
--- a/robolectric/src/main/java/org/robolectric/internal/dependency/MavenDependencyResolver.java
+++ b/robolectric/src/main/java/org/robolectric/internal/dependency/MavenDependencyResolver.java
@@ -29,7 +29,6 @@
* Get an array of local artifact URLs for the given dependencies. The order of the URLs is guaranteed to be the
* same as the input order of dependencies, i.e., urls[i] is the local artifact URL for dependencies[i].
*/
- @Override
public URL[] getLocalArtifactUrls(DependencyJar... dependencies) {
DependenciesTask dependenciesTask = createDependenciesTask();
configureMaven(dependenciesTask);
diff --git a/robolectric/src/main/java/org/robolectric/internal/dependency/PropertiesDependencyResolver.java b/robolectric/src/main/java/org/robolectric/internal/dependency/PropertiesDependencyResolver.java
index 72cb18e..43cb465 100644
--- a/robolectric/src/main/java/org/robolectric/internal/dependency/PropertiesDependencyResolver.java
+++ b/robolectric/src/main/java/org/robolectric/internal/dependency/PropertiesDependencyResolver.java
@@ -1,6 +1,5 @@
package org.robolectric.internal.dependency;
-import org.robolectric.res.FileFsFile;
import org.robolectric.res.FsFile;
import java.io.File;
@@ -8,8 +7,6 @@
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Properties;
public class PropertiesDependencyResolver implements DependencyResolver {
@@ -32,52 +29,25 @@
}
@Override
- public URL[] getLocalArtifactUrls(DependencyJar... dependencies) {
- List<URL> urls = new ArrayList<>();
- for (DependencyJar dependency : dependencies) {
- urls.addAll(getUrlsForDependency(dependency));
- }
- return urls.toArray(new URL[urls.size()]);
- }
-
- @Override
public URL getLocalArtifactUrl(DependencyJar dependency) {
- List<URL> urls = getUrlsForDependency(dependency);
- if (urls.size() != 1) {
- throw new RuntimeException("should be exactly one URL for " + dependency + " but got " + urls);
- } else {
- return urls.get(0);
- }
- }
-
- private List<URL> getUrlsForDependency(DependencyJar dependency) {
- List<URL> urls = new ArrayList<>();
String depShortName = dependency.getShortName();
String path = properties.getProperty(depShortName);
if (path != null) {
- for (String pathPart : path.split(":")) {
- File pathFile = new File(pathPart);
- if (!pathFile.isAbsolute()) {
- pathFile = new File(baseDir.getPath(), pathPart);
- }
- try {
- URL url = pathFile.toURI().toURL();
- urls.add(url);
- } catch (MalformedURLException e) {
- throw new RuntimeException(e);
- }
+ File pathFile = new File(path);
+ if (!pathFile.isAbsolute()) {
+ pathFile = new File(baseDir.getPath(), path);
+ }
+ try {
+ return pathFile.toURI().toURL();
+ } catch (MalformedURLException e) {
+ throw new RuntimeException(e);
}
} else {
if (delegate != null) {
- urls.add(delegate.getLocalArtifactUrl(dependency));
+ return delegate.getLocalArtifactUrl(dependency);
}
}
- if (urls.isEmpty()) {
- throw new RuntimeException("no artifacts found for " + dependency);
- }
-
- return urls;
+ throw new RuntimeException("no artifacts found for " + dependency);
}
-
}
diff --git a/robolectric/src/test/java/org/robolectric/internal/dependency/CachedDependencyResolverTest.java b/robolectric/src/test/java/org/robolectric/internal/dependency/CachedDependencyResolverTest.java
index a289d2d..3ba4d9e 100644
--- a/robolectric/src/test/java/org/robolectric/internal/dependency/CachedDependencyResolverTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/dependency/CachedDependencyResolverTest.java
@@ -56,43 +56,6 @@
}
@Test
- public void getLocalArtifactUrls_shouldWriteLocalArtifactsUrlsWhenCacheMiss() throws Exception {
- DependencyResolver res = createResolver();
-
- when(internalResolver.getLocalArtifactUrls(dependencies)).thenReturn(urls);
-
- URL[] urls = res.getLocalArtifactUrls(dependencies);
-
- assertArrayEquals(this.urls, urls);
- assertCacheContents(urls);
- }
-
- @Test
- public void getLocalArtifactUrls_shouldReadLocalArtifactUrlsFromCacheIfExists() throws Exception {
- DependencyResolver res = createResolver();
- cache.write(CACHE_NAME, urls);
-
- URL[] urls = res.getLocalArtifactUrls(dependencies);
-
- verify(internalResolver, never()).getLocalArtifactUrls(dependencies);
-
- assertArrayEquals(this.urls, urls);
- }
-
- @Test
- public void getLocalArtifactUrls_whenCacheInvalid_shouldFetchDependencyInformation() {
- CacheValidationStrategy failStrategy = mock(CacheValidationStrategy.class);
- when(failStrategy.isValid(any(URL[].class))).thenReturn(false);
-
- DependencyResolver res = new CachedDependencyResolver(internalResolver, cache, cacheNamingStrategy, failStrategy);
- cache.write(CACHE_NAME, this.urls);
-
- res.getLocalArtifactUrls(dependencies);
-
- verify(internalResolver).getLocalArtifactUrls(dependencies);
- }
-
- @Test
public void getLocalArtifactUrl_shouldWriteLocalArtifactUrlWhenCacheMiss() throws Exception{
DependencyResolver res = createResolver();
diff --git a/robolectric/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.java b/robolectric/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.java
index e87844d..2f718d5 100644
--- a/robolectric/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/dependency/MavenDependencyResolverTest.java
@@ -106,39 +106,6 @@
assertEquals("file:/path3", url.toExternalForm());
}
- @Test
- public void getLocalArtifactUrls_shouldReturnEmptyArrayIfNoDependencyJarProvided() {
- DependencyResolver dependencyResolver = createResolver();
-
- URL[] urls = dependencyResolver.getLocalArtifactUrls();
-
- assertEquals(0, urls.length);
- }
-
- @Test
- public void getLocalArtifactUrls_shouldReturnURLsForEachDependencyJar() {
- DependencyResolver dependencyResolver = createResolver();
- DependencyJar dependencyJar1 = new DependencyJar("group1", "artifact1", "", null);
- DependencyJar dependencyJar2 = new DependencyJar("group2", "artifact2", "", null);
-
- URL[] urls = dependencyResolver.getLocalArtifactUrls(dependencyJar1, dependencyJar2);
-
- assertEquals(2, urls.length);
- assertEquals("file:/path1", urls[0].toExternalForm());
- assertEquals("file:/path2", urls[1].toExternalForm());
- }
-
- @Test
- public void getLocalArtifactUrls_shouldAddEachDependencyToDependenciesTask() {
- DependencyResolver dependencyResolver = createResolver();
- DependencyJar dependencyJar1 = new DependencyJar("group1", "artifact1", "", null);
- DependencyJar dependencyJar2 = new DependencyJar("group2", "artifact2", "", null);
-
- dependencyResolver.getLocalArtifactUrls(dependencyJar1, dependencyJar2);
-
- verify(dependenciesTask, times(2)).addDependency(any(Dependency.class));
- }
-
private DependencyResolver createResolver() {
return new MavenDependencyResolver(REPOSITORY_URL, REPOSITORY_ID) {
@Override
diff --git a/robolectric/src/test/java/org/robolectric/internal/dependency/PropertiesDependencyResolverTest.java b/robolectric/src/test/java/org/robolectric/internal/dependency/PropertiesDependencyResolverTest.java
index 99d4714..e158b03 100644
--- a/robolectric/src/test/java/org/robolectric/internal/dependency/PropertiesDependencyResolverTest.java
+++ b/robolectric/src/test/java/org/robolectric/internal/dependency/PropertiesDependencyResolverTest.java
@@ -26,28 +26,21 @@
}
@Test
- public void whenAbsolutePathIsProvidedInProperties_shouldReturnFileUrls() throws Exception {
+ public void whenAbsolutePathIsProvidedInProperties_shouldReturnFileUrl() throws Exception {
DependencyResolver resolver = new PropertiesDependencyResolver(
- propsFile("com.group\\:example\\:1.3: /path/1:/path/2\n"), mock);
+ propsFile("com.group\\:example\\:1.3: /path/1\n"), mock);
- URL[] urls = resolver.getLocalArtifactUrls(new DependencyJar("com.group", "example", "1.3", null));
- assertThat(urls).containsExactly(
- new URL("file:///path/1"),
- new URL("file:///path/2")
- );
+ URL url = resolver.getLocalArtifactUrl(new DependencyJar("com.group", "example", "1.3", null));
+ assertThat(url).isEqualTo(new URL("file:///path/1"));
}
@Test
- public void whenRelativePathIsProvidedInProperties_shouldReturnFileUrls() throws Exception {
+ public void whenRelativePathIsProvidedInProperties_shouldReturnFileUrl() throws Exception {
DependencyResolver resolver = new PropertiesDependencyResolver(
- propsFile("com.group\\:example\\:1.3: path/1:/path/2:path/3\n"), mock);
+ propsFile("com.group\\:example\\:1.3: path/1\n"), mock);
- URL[] urls = resolver.getLocalArtifactUrls(new DependencyJar("com.group", "example", "1.3", null));
- assertThat(urls).containsExactly(
- new URL("file://" + temporaryFolder.getRoot() + "/path/1"),
- new URL("file:///path/2"),
- new URL("file://" + temporaryFolder.getRoot() + "/path/3")
- );
+ URL url = resolver.getLocalArtifactUrl(new DependencyJar("com.group", "example", "1.3", null));
+ assertThat(url).isEqualTo(new URL("file://" + temporaryFolder.getRoot() + "/path/1"));
}
@Test
@@ -57,9 +50,8 @@
DependencyJar dependencyJar = new DependencyJar("com.group", "example", "1.3", null);
when(mock.getLocalArtifactUrl(dependencyJar)).thenReturn(new URL("file:///path/3"));
- URL[] urls = resolver.getLocalArtifactUrls(dependencyJar);
- assertThat(urls).containsExactly(
- new URL("file:///path/3")
+ URL url = resolver.getLocalArtifactUrl(dependencyJar);
+ assertThat(url).isEqualTo(new URL("file:///path/3")
);
}
@@ -70,7 +62,7 @@
DependencyJar dependencyJar = new DependencyJar("com.group", "example", "1.3", null);
try {
- resolver.getLocalArtifactUrls(dependencyJar);
+ resolver.getLocalArtifactUrl(dependencyJar);
fail("should have failed");
} catch (Exception e) {
assertThat(e.getMessage()).contains("no artifacts found for " + dependencyJar);