aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Ruiz <alruiz@google.com>2013-10-10 19:18:47 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-10-10 19:18:48 +0000
commitfadbd7b5cc59107a2d511426c440f6d033a31059 (patch)
treecb593e22e6f7ef55d0c43212cec47bdc94a0ee2f
parent23ac2e1148d1863bb4b9781379d1e286e5ed5d44 (diff)
parent7472d12db00e2f8325633efa96d2e0982382fda6 (diff)
downloadbuild-fadbd7b5cc59107a2d511426c440f6d033a31059.tar.gz
Merge "Added more options for dependency resolution."
-rw-r--r--gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy21
1 files changed, 17 insertions, 4 deletions
diff --git a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
index 000b418..dc66176 100644
--- a/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
+++ b/gradle/src/main/groovy/com/android/build/gradle/BasePlugin.groovy
@@ -1514,13 +1514,26 @@ public abstract class BasePlugin {
static def collectArtifacts(Configuration configuration, Map<ModuleVersionIdentifier,
List<ResolvedArtifact>> artifacts) {
- boolean buildModelOnly = Boolean.getBoolean(AndroidProject.BUILD_MODEL_ONLY_SYSTEM_PROPERTY);
+ // This property indicates how dependencies should be resolved:
+ // 1. null: Resolve dependencies and fail if some dependency cannot be resolved
+ // 2. true: Do not resolve dependencies
+ // 3. false: Resolve dependencies and do not fail if some dependency cannot be resolved
+ // Option #1 is used when building a project either on the command line or from Android Studio.
+ // Option #2 and #3 are used for importing a project into Android Studio.
+ def buildModelOnlyProperty = System.getProperty(AndroidProject.BUILD_MODEL_ONLY_SYSTEM_PROPERTY)
def allArtifacts
- if (buildModelOnly) {
- allArtifacts = configuration.resolvedConfiguration.lenientConfiguration.getArtifacts(Specs.satisfyAll())
- } else {
+ if (buildModelOnlyProperty == null) {
allArtifacts = configuration.resolvedConfiguration.resolvedArtifacts
}
+ else {
+ boolean buildModelOnly = Boolean.parseBoolean(buildModelOnlyProperty)
+ if (buildModelOnly) {
+ allArtifacts = Collections.emptySet()
+ }
+ else {
+ allArtifacts = configuration.resolvedConfiguration.lenientConfiguration.getArtifacts(Specs.satisfyAll())
+ }
+ }
allArtifacts.each { ResolvedArtifact artifact ->
def id = artifact.moduleVersion.id