/* * 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() jcenter() } 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() jcenter() } dependencies { implementation 'com.google.android.exoplayer:exoplayer-core:2.9.0' implementation 'com.google.android.exoplayer:exoplayer:r1.5.16' implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.palette:palette:1.0.0' implementation 'androidx.annotation:annotation:1.0.2' 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 'com.google.guava:guava:26.0-android' implementation 'com.google.protobuf:protobuf-java:3.0.0' /*Not building with latest one (1.6.2)*/ annotationProcessor 'com.google.auto.value:auto-value:1.5.2' implementation 'com.google.auto.value:auto-value:1.5.2' 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 {} } } } } }