| /* |
| * Copyright 2018 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| import androidx.build.SupportConfig |
| import static androidx.build.dependencies.DependenciesKt.GUAVA |
| |
| buildscript { |
| // TODO: Remove this when this test app no longer depends on 1.0.0 of vectordrawable-animated. |
| // vectordrawable and vectordrawable-animated were accidentally using the same package name |
| // which is no longer valid in namespaced resource world. |
| project.ext['android.uniquePackageNames'] = false |
| } |
| |
| plugins { |
| id("AndroidXPlugin") |
| id("com.android.application") |
| } |
| |
| // replace all tests etc with empty task, so we don't run anything |
| // it is more effective then task.enabled = false, because we avoid executing deps as well |
| def reentrance = false |
| project.tasks.whenTaskAdded { task -> |
| if (task instanceof org.gradle.api.tasks.testing.Test |
| || task.name.startsWith("assemble") |
| || task.name == "lint" |
| || task.name == "transformDexArchiveWithExternalLibsDexMergerForPublicDebug" |
| || task.name == "transformResourcesWithMergeJavaResForPublicDebug" |
| || task.name == "checkPublicDebugDuplicateClasses") { |
| if (!reentrance) { |
| reentrance = true |
| project.tasks.named(task.name) { |
| actions = [] |
| dependsOn = [] |
| } |
| reentrance = false |
| } |
| } |
| } |
| |
| // Also replace some tasks that will have already been created (and not trigger `whenTaskAdded`) |
| project.tasks.named("lint") { |
| actions = [] |
| dependsOn = [] |
| } |
| |
| android { |
| defaultConfig { |
| minSdkVersion SupportConfig.TARGET_SDK_VERSION |
| } |
| |
| sourceSets { |
| main { |
| manifest.srcFile "AndroidManifest.xml" |
| } |
| } |
| flavorDimensions "library-group" |
| } |
| |
| configurations.all { |
| /* |
| * Room uses auto-common which depends on a version of Guava which strictly depends on a |
| * version of checkerframework that is different from the one we specify. This forces the same |
| * resolution strategy for Guava that is used by room and media already so that the compatible |
| * version of checkerframeworks is also used |
| */ |
| resolutionStrategy { |
| force GUAVA |
| } |
| } |
| |