| // Copyright 2018 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| apply plugin: ChromiumPlugin |
| |
| buildscript { |
| repositories { |
| maven { |
| url 'https://plugins.gradle.org/m2/' |
| } |
| } |
| dependencies { |
| classpath 'org.owasp:dependency-check-gradle:6+' |
| } |
| } |
| |
| apply plugin: 'org.owasp.dependencycheck' |
| |
| repositories { |
| google() |
| mavenCentral() |
| } |
| |
| dependencyCheck { |
| // Any known vulnerability of any severity will cause the build to fail. |
| failBuildOnCVSS = 0 |
| suppressionFile = file('vulnerability_supressions.xml') |
| // Libraries used in these configurations aren't shipped in Chrome. |
| // They are only used to aid in compiling or testing. |
| skipConfigurations = [ |
| 'buildCompile', |
| 'buildCompileNoDeps', |
| 'androidTestCompile', |
| 'testCompile' |
| ] |
| } |
| |
| // See https://github.com/google/guava/releases/tag/v32.1.0 |
| dependencies.constraints { |
| compile("com.google.guava:guava:32.1.3-android") { |
| attributes { |
| attribute( |
| TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, |
| objects.named(TargetJvmEnvironment, TargetJvmEnvironment.ANDROID)) |
| } |
| } |
| buildCompile("com.google.guava:guava:32.1.3-jre") { |
| attributes { |
| attribute( |
| TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, |
| objects.named(TargetJvmEnvironment, TargetJvmEnvironment.STANDARD_JVM)) |
| } |
| } |
| } |
| |
| dependencies { |
| // Note about the configuration names: they are defined in buildSrc/ChromiumPlugin |
| |
| compile 'com.google.android.material:material:1.11.0-beta01' |
| |
| compile 'com.google.android.play:feature-delivery:2.0.1' |
| |
| // Play services libraries |
| // See https://developers.google.com/android/guides/releases for updates |
| // Starting from 15.0.0 these libraries are allowed to update independently |
| String baseGmsVersion = '18.0.1' |
| // GCM is old and deprecated - nothing newer is available. |
| String gcmGmsVersion = '17.0.0' |
| // Attemped to roll cast with everything else, but it caused a missing class error, and we had |
| // no other versions available on CIPD - see crbug.com/1310799. |
| String castGmsVersion = '17.0.0' |
| compile "com.google.android.gms:play-services-basement:${baseGmsVersion}" |
| compile "com.google.android.gms:play-services-tasks:${baseGmsVersion}" |
| compile "com.google.android.gms:play-services-base:${baseGmsVersion}" |
| compile 'com.google.android.gms:play-services-auth-base:18.0.2' |
| compile "com.google.android.gms:play-services-auth-api-phone:${baseGmsVersion}" |
| compile 'com.google.android.gms:play-services-auth:20.1.0' |
| compile "com.google.android.gms:play-services-cast:${castGmsVersion}" |
| compile "com.google.android.gms:play-services-cast-framework:${castGmsVersion}" |
| compile "com.google.android.gms:play-services-iid:${gcmGmsVersion}" |
| compile "com.google.android.gms:play-services-instantapps:${baseGmsVersion}" |
| compile "com.google.android.gms:play-services-gcm:${gcmGmsVersion}" |
| compile 'com.google.android.gms:play-services-location:21.0.1' |
| compile 'com.google.android.gms:play-services-vision-common:19.1.3' |
| compile 'com.google.android.gms:play-services-vision:20.1.3' |
| |
| // TODO (bjoyce): Remove after androidx migration crbug.com/896775 |
| // Support v4 libraries |
| String supportLibVersion = '28.0.0' |
| compile "com.android.support:drawerlayout:${supportLibVersion}" |
| compile "com.android.support:support-annotations:${supportLibVersion}" |
| compile "com.android.support:support-compat:${supportLibVersion}" |
| compile "com.android.support:support-core-ui:${supportLibVersion}" |
| |
| compile 'com.google.code.findbugs:jsr305:3.0.2' |
| compile 'com.google.firebase:firebase-iid:21.0.1' |
| compile 'com.google.firebase:firebase-messaging:21.0.1' |
| compile 'com.google.j2objc:j2objc-annotations:2.8' |
| // buildCompile needed because we add a custom dep of onto this from guava |
| // to fix "unknown enum constant ReflectionSupport$Level.FULL". |
| buildCompile 'com.google.j2objc:j2objc-annotations:2.8' |
| compile 'com.google.protobuf:protobuf-javalite:3.19.3' |
| compile 'javax.annotation:javax.annotation-api:1.3.2' |
| compile 'javax.annotation:jsr250-api:1.0' |
| compile 'javax.inject:javax.inject:1' |
| |
| compile 'io.grpc:grpc-binder:1.49.0' |
| compile 'io.grpc:grpc-context:1.49.0' |
| compile 'io.grpc:grpc-protobuf-lite:1.49.0' |
| compile 'io.grpc:grpc-stub:1.49.0' |
| compile 'io.grpc:grpc-api:1.49.0' |
| |
| // Needed by androidx and by doubledown targets. |
| // Note: These have version overrides set in ChromiumDepGraph.groovy. |
| compile "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4" |
| compile "org.jetbrains.kotlinx:atomicfu-jvm:0.23.2" |
| compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20" |
| compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20" |
| compile "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4" |
| compile "org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.6.4" |
| compile "org.jetbrains.kotlin:kotlin-parcelize-runtime:1.9.22" |
| |
| // Needed by androidx.macrobenchmarks |
| androidTestCompile "com.squareup.wire:wire-runtime-jvm:4.4.3" |
| // Needed by androidx.benchmark |
| androidTestCompile "com.squareup.moshi:moshi-adapters:1.15.0" |
| |
| // There is an -jre flavor of guava as well, but it requires Android O+ (for MethodHandle). |
| // The -android version is missing symbols (e.g. ImmutableList stream APIs). |
| // Thus, we need both for now, but we should be able to consolidate once O is our minSdkVersion. |
| // https://github.com/google/guava/wiki/Compatibility |
| compile "com.google.guava:guava:32.1.3-android" |
| buildCompile "com.google.guava:guava:32.1.3-jre" |
| |
| String daggerVersion = '2.30' |
| compile "com.google.dagger:dagger:${daggerVersion}" |
| buildCompile "com.google.dagger:dagger-compiler:${daggerVersion}" |
| |
| // Matches version depended on by Dagger. |
| buildCompile 'com.squareup:javapoet:1.13.0' |
| |
| String errorproneVersion = '2.11.0' |
| |
| // Provides annotations used to opt into checks. |
| compile "com.google.errorprone:error_prone_annotations:2.23.0" |
| compile 'org.checkerframework:checker-compat-qual:2.5.5' |
| compile "org.checkerframework:checker-qual:3.25.0" |
| compile 'org.checkerframework:checker-util:3.25.0' |
| compile 'org.codehaus.mojo:animal-sniffer-annotations:1.17' |
| |
| buildCompile "com.google.errorprone:error_prone_core:${errorproneVersion}" |
| buildCompile "com.google.errorprone:error_prone_check_api:${errorproneVersion}" |
| // Provides annotations needed when writing custom checks. |
| buildCompile "com.google.errorprone:error_prone_annotation:${errorproneVersion}" |
| buildCompile 'com.google.errorprone:javac:9+181-r4173-1' |
| |
| buildCompile 'com.google.auto.service:auto-service:1.0-rc6' |
| buildCompile 'com.google.auto.service:auto-service-annotations:1.0-rc6' |
| buildCompile 'com.google.code.gson:gson:2.8.0' |
| buildCompile 'org.ow2.asm:asm:7.0' |
| buildCompile 'org.ow2.asm:asm-commons:7.0' |
| buildCompile 'org.ow2.asm:asm-tree:7.0' |
| buildCompile 'org.ow2.asm:asm-util:7.0' |
| |
| // Used by resource shrinking. |
| // buildCompileNoDeps targets do not bring in any of their dependencies, |
| // this list of targets is carefully curated for the use of the resources |
| // shrinker. If these are needed for something other than the resources |
| // shrinker, use buildCompile instead. |
| String androidToolsVersion = '30.2.0-beta01' |
| buildCompileNoDeps "com.android.tools:sdk-common:${androidToolsVersion}" |
| buildCompileNoDeps "com.android.tools:common:${androidToolsVersion}" |
| buildCompileNoDeps "com.android.tools.layoutlib:layoutlib-api:${androidToolsVersion}" |
| buildCompile 'org.jetbrains.kotlin:kotlin-stdlib:1.8.0' |
| |
| androidTestCompile 'com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:4.0.0' |
| // accessibility-test-framework:3.1.2 depends on jsoup 1.12, which has a security |
| // vulnerability, so grab a later version. |
| androidTestCompile 'org.jsoup:jsoup:1.14.3' |
| androidTestCompile 'com.googlecode.java-diff-utils:diffutils:1.3.0' |
| // Version 1.2 is needed by espresso-web, but we'll newer 1.2.1. |
| androidTestCompile 'org.ccil.cowan.tagsoup:tagsoup:1.2.1' |
| |
| // accessibility-test-framework has a phantom dependency on the really old |
| // protobuf runtime which trips our asserts. Manually add dep here but |
| // exclude it in ChromiumDepGraph. |
| androidTestCompile 'com.google.protobuf:protobuf-lite:3.0.0' |
| |
| String mockitoVersion = '5.11.0' |
| androidTestCompile "org.mockito:mockito-android:${mockitoVersion}" |
| androidTestCompile "org.mockito:mockito-core:${mockitoVersion}" |
| androidTestCompile "org.mockito:mockito-subclass:${mockitoVersion}" |
| |
| // Used by //third_party/byte_buddy |
| androidTestCompile "net.bytebuddy:byte-buddy:1.14.5" |
| |
| // Use testCompile to have is_robolectric = true set on targets. |
| testCompile "org.robolectric:robolectric:4.12.1" |
| } |
| |
| task setUpRepository(type: BuildConfigGenerator) { |
| // Paths are relative to the chromium source root. |
| repositoryPath 'third_party/android_deps' |
| chromiumSourceRoot '../..' |
| cipdBucket 'chromium' |
| internalTargetVisibility = [ ':*', '//third_party/androidx:*' ] |
| } |