Class MavenDependencyResolver
java.lang.Object
org.robolectric.internal.dependency.MavenDependencyResolver
- All Implemented Interfaces:
org.robolectric.internal.dependency.DependencyResolver
public class MavenDependencyResolver
extends Object
implements org.robolectric.internal.dependency.DependencyResolver
This class is mainly responsible for fetching Android framework JAR dependencies from
MavenCentral. Initially the fetching was being done with maven-ant-tasks, but that dependency
become outdated and unmaintained and had security vulnerabilities.
There was an initial attempt to use maven-resolver for this, but that depends on a newer version of Apache Http Client that is not compatible with the one expected to be on the classpath for Android 16-18.
This uses only basic HttpURLConnection for fetching. In general using an HTTP
client library here could create conflicts with the ones in the Android system.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ExecutorServiceprotected Fileprotected MavenArtifactFetchercreateMavenFetcher(String repositoryUrl, String repositoryUserName, String repositoryPassword, String proxyHost, int proxyPort, File localRepositoryDir, ExecutorService executorService) getLocalArtifactUrl(org.robolectric.internal.dependency.DependencyJar dependency) URL[]getLocalArtifactUrls(org.robolectric.internal.dependency.DependencyJar... dependencies) Get an array of local artifact URLs for the given dependencies.protected FileLocates the local maven repo.
-
Constructor Details
-
MavenDependencyResolver
public MavenDependencyResolver() -
MavenDependencyResolver
-
-
Method Details
-
getLocalArtifactUrls
public URL[] getLocalArtifactUrls(org.robolectric.internal.dependency.DependencyJar... dependencies) 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]. -
createLockFile
-
getLocalArtifactUrl
- Specified by:
getLocalArtifactUrlin interfaceorg.robolectric.internal.dependency.DependencyResolver
-
getLocalRepositoryDir
Locates the local maven repo. -
createMavenFetcher
protected MavenArtifactFetcher createMavenFetcher(String repositoryUrl, String repositoryUserName, String repositoryPassword, String proxyHost, int proxyPort, File localRepositoryDir, ExecutorService executorService) -
createExecutorService
-