// Copyright 2018 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

apply plugin: ChromiumPlugin

repositories {
    mavenCentral()
    maven {
        url 'https://maven.google.com'
    }
}

dependencies {
    // Note about the configuration names: they are defined in buildSrc/ChromiumPlugin

    // Architecture components
    def archComponentsVersion = '1.0.0'
    compile "android.arch.lifecycle:runtime:${archComponentsVersion}"
    compile "android.arch.lifecycle:common:${archComponentsVersion}"

    // 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
    def gmsVersion = '15.0.1'
    compile "com.google.android.gms:play-services-basement:${gmsVersion}"
    compile "com.google.android.gms:play-services-tasks:${gmsVersion}"
    compile "com.google.android.gms:play-services-base:${gmsVersion}"
    compile "com.google.android.gms:play-services-auth-base:${gmsVersion}"
    compile "com.google.android.gms:play-services-auth-api-phone:${gmsVersion}"
    compile "com.google.android.gms:play-services-auth:${gmsVersion}"
    compile "com.google.android.gms:play-services-cast:16.0.1"
    compile "com.google.android.gms:play-services-cast-framework:16.0.1"
    compile "com.google.android.gms:play-services-iid:${gmsVersion}"
    compile "com.google.android.gms:play-services-instantapps:16.0.0"
    compile "com.google.android.gms:play-services-gcm:${gmsVersion}"
    compile "com.google.android.gms:play-services-location:${gmsVersion}"
    compile "com.google.android.gms:play-services-vision-common:${gmsVersion}"
    compile "com.google.android.gms:play-services-vision:${gmsVersion}"
    compile "com.google.android.gms:play-services-fido:${gmsVersion}"

    // Support v4 libraries
    def supportLibVersion = '27.0.0'
    compile "com.android.support:support-v4:${supportLibVersion}"
    compile "com.android.support:support-compat:${supportLibVersion}"
    compile "com.android.support:support-core-ui:${supportLibVersion}"
    compile "com.android.support:support-core-utils:${supportLibVersion}"

    // Support v7 libraries
    compile "com.android.support:appcompat-v7:${supportLibVersion}"
    compile "com.android.support:gridlayout-v7:${supportLibVersion}"
    compile "com.android.support:mediarouter-v7:${supportLibVersion}"
    compile "com.android.support:recyclerview-v7:${supportLibVersion}"
    compile "com.android.support:cardview-v7:${supportLibVersion}"

    compile "com.android.support:support-v13:${supportLibVersion}"

    compile "com.android.support:preference-leanback-v17:${supportLibVersion}"

    compile "com.android.support:support-annotations:${supportLibVersion}"
    compile "com.android.support:design:${supportLibVersion}"

    compile "com.android.support:multidex:1.0.0"

    compile "javax.inject:javax.inject:1"

    // Dagger
    def daggerVersion = '2.17'
    compile "com.google.dagger:dagger:${daggerVersion}"
    annotationProcessor "com.google.dagger:dagger-compiler:${daggerVersion}"

    // JavaPoet
    // Matches version depended on by Dagger.
    compile "com.squareup:javapoet:1.11.0"

    compile "com.google.protobuf:protobuf-lite:3.0.1"

    // ARCore - needed for WebXR implementation on Android
    compile "com.google.ar:core:1.5.0"

}

task setUpRepository(type: BuildConfigGenerator) {
    // Paths are relative to the chromium source root.
    repositoryPath 'third_party/android_deps'
}

task wrapper(type: Wrapper) {
    gradleVersion = '4.3.1'
}
