Search in sources :

Example 1 with MavenDependencyResolver

use of org.robolectric.internal.dependency.MavenDependencyResolver in project robolectric by robolectric.

the class RobolectricTestRunner method getJarResolver.

protected DependencyResolver getJarResolver() {
    if (dependencyResolver == null) {
        if (Boolean.getBoolean("robolectric.offline")) {
            String dependencyDir = System.getProperty("robolectric.dependency.dir", ".");
            dependencyResolver = new LocalDependencyResolver(new File(dependencyDir));
        } else {
            File cacheDir = new File(new File(System.getProperty("java.io.tmpdir")), "robolectric");
            if (cacheDir.exists() || cacheDir.mkdir()) {
                Logger.info("Dependency cache location: %s", cacheDir.getAbsolutePath());
                dependencyResolver = new CachedDependencyResolver(new MavenDependencyResolver(), cacheDir, 60 * 60 * 24 * 1000);
            } else {
                dependencyResolver = new MavenDependencyResolver();
            }
        }
        URL buildPathPropertiesUrl = getClass().getClassLoader().getResource("robolectric-deps.properties");
        if (buildPathPropertiesUrl != null) {
            Logger.info("Using Robolectric classes from %s", buildPathPropertiesUrl.getPath());
            FsFile propertiesFile = Fs.fileFromPath(buildPathPropertiesUrl.getFile());
            try {
                dependencyResolver = new PropertiesDependencyResolver(propertiesFile, dependencyResolver);
            } catch (IOException e) {
                throw new RuntimeException("couldn't read " + buildPathPropertiesUrl, e);
            }
        }
    }
    return dependencyResolver;
}
Also used : FsFile(org.robolectric.res.FsFile) LocalDependencyResolver(org.robolectric.internal.dependency.LocalDependencyResolver) CachedDependencyResolver(org.robolectric.internal.dependency.CachedDependencyResolver) PropertiesDependencyResolver(org.robolectric.internal.dependency.PropertiesDependencyResolver) MavenDependencyResolver(org.robolectric.internal.dependency.MavenDependencyResolver) IOException(java.io.IOException) File(java.io.File) FsFile(org.robolectric.res.FsFile) URL(java.net.URL)

Example 2 with MavenDependencyResolver

use of org.robolectric.internal.dependency.MavenDependencyResolver in project robolectric by robolectric.

the class TestUtil method systemResources.

public static ResourcePath systemResources() {
    if (SYSTEM_RESOURCE_PATH == null) {
        SdkConfig sdkConfig = new SdkConfig(SdkConfig.MAX_SDK_VERSION);
        Fs fs = Fs.fromJar(new MavenDependencyResolver().getLocalArtifactUrl(sdkConfig.getAndroidSdkDependency()));
        SYSTEM_RESOURCE_PATH = new ResourcePath(android.R.class, fs.join("res"), fs.join("assets"));
    }
    return SYSTEM_RESOURCE_PATH;
}
Also used : R(org.robolectric.R) ResourcePath(org.robolectric.res.ResourcePath) SdkConfig(org.robolectric.internal.SdkConfig) MavenDependencyResolver(org.robolectric.internal.dependency.MavenDependencyResolver) Fs(org.robolectric.res.Fs)

Aggregations

MavenDependencyResolver (org.robolectric.internal.dependency.MavenDependencyResolver)2 File (java.io.File)1 IOException (java.io.IOException)1 URL (java.net.URL)1 R (org.robolectric.R)1 SdkConfig (org.robolectric.internal.SdkConfig)1 CachedDependencyResolver (org.robolectric.internal.dependency.CachedDependencyResolver)1 LocalDependencyResolver (org.robolectric.internal.dependency.LocalDependencyResolver)1 PropertiesDependencyResolver (org.robolectric.internal.dependency.PropertiesDependencyResolver)1 Fs (org.robolectric.res.Fs)1 FsFile (org.robolectric.res.FsFile)1 ResourcePath (org.robolectric.res.ResourcePath)1