普通文本  |  129行  |  3.64 KB

/*
 * Copyright (C) 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.
 */


/*
 * Experimental gradle configuration.  This file may not be up to date.
 */

apply plugin: 'com.android.library'
apply plugin: 'com.google.protobuf'
buildscript {
    repositories {
        mavenCentral()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.6'
    }
}
android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    dexOptions {
        preDexLibraries = false
        additionalParameters = ['--core-library']
        javaMaxHeapSize "6g"
    }

    android {
        defaultConfig {
            resConfigs "en"
        }
    }

    defaultConfig {
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        debug {
            minifyEnabled false
            buildConfigField "boolean", "AOSP", "true"
            buildConfigField "boolean", "ENG", "true"
            buildConfigField "boolean", "NO_JNI_TEST", "false"
        }
        release {
            minifyEnabled true
            buildConfigField "boolean", "AOSP", "true"
            buildConfigField "boolean", "ENG", "false"
            buildConfigField "boolean", "NO_JNI_TEST", "false"
        }
    }
    compileOptions() {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    sourceSets {
        main {
            res.srcDirs = ['res']
            java.srcDirs = ['src']
            manifest.srcFile 'AndroidManifest.xml'
            proto {
                srcDir 'src/com/android/tv/common/compat/internal'
            }
        }
    }
}

repositories {
    mavenCentral()
    google()
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.palette:palette:1.0.0'
    implementation 'androidx.leanback:leanback:1.0.0'
    implementation "androidx.tvprovider:tvprovider:1.0.0"
    implementation "androidx.recyclerview:recyclerview:1.0.0"
    implementation "androidx.recyclerview:recyclerview-selection:1.0.0"
    implementation "androidx.palette:palette:1.0.0"
    implementation 'com.google.guava:guava:26.0-android'
    implementation 'com.google.protobuf:protobuf-java:3.0.0'
    implementation 'com.google.dagger:dagger:2.18'
    implementation 'com.google.dagger:dagger-android:2.18'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.18'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.18'
}
protobuf {
    // Configure the protoc executable
    protoc {
        artifact = 'com.google.protobuf:protoc:3.0.0'

        plugins {
            javalite {
                // The codegen for lite comes as a separate artifact
                artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
            }
        }

        generateProtoTasks {
            all().each {
                task -> task.builtins {
                    remove java
                }
                task.plugins {
                    javalite {}
                }
            }
        }
    }
}