buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0' } } apply plugin: 'com.android.application' apply plugin: 'com.google.protobuf' android { compileSdkVersion 27 buildToolsVersion '27.0.0' defaultConfig { minSdkVersion 21 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { debug { minifyEnabled false } } productFlavors { aosp { applicationId 'com.android.launcher3' testApplicationId 'com.android.launcher3.tests' } l3go { applicationId 'com.android.launcher3' testApplicationId 'com.android.launcher3.tests' } } sourceSets { main { res.srcDirs = ['res'] java.srcDirs = ['src'] manifest.srcFile 'AndroidManifest-common.xml' proto { srcDir 'protos/' srcDir 'proto_overrides/' } } androidTest { res.srcDirs = ['tests/res'] java.srcDirs = ['tests/src'] manifest.srcFile "tests/AndroidManifest-common.xml" } aosp { java.srcDirs = ['src_flags'] manifest.srcFile "AndroidManifest.xml" } aospAndroidTest { manifest.srcFile "tests/AndroidManifest.xml" } l3go { res.srcDirs = ['go/res'] java.srcDirs = ['go/src_flags'] // Note: we are using the Launcher3 manifest here because the gradle manifest-merger uses // different attributes than the build system. manifest.srcFile "AndroidManifest.xml" } l3goAndroidTest { manifest.srcFile "tests/AndroidManifest.xml" } } } repositories { mavenCentral() jcenter() } final String SUPPORT_LIBS_VERSION = '27.0.0-SNAPSHOT' dependencies { compile "com.android.support:support-v4:${SUPPORT_LIBS_VERSION}" compile "com.android.support:support-dynamic-animation:${SUPPORT_LIBS_VERSION}" compile "com.android.support:recyclerview-v7:${SUPPORT_LIBS_VERSION}" compile 'com.google.protobuf.nano:protobuf-javanano:3.0.0-alpha-7' testCompile 'junit:junit:4.12' androidTestCompile "org.mockito:mockito-core:1.9.5" androidTestCompile 'com.google.dexmaker:dexmaker:1.2' androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestCompile 'com.android.support.test:runner:0.5' androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' androidTestCompile "com.android.support:support-annotations:${SUPPORT_LIBS_VERSION}" } protobuf { // Configure the protoc executable protoc { artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3' generateProtoTasks { all().each { task -> task.builtins { remove java javanano { option "java_package=launcher_log_extension.proto|com.android.launcher3.userevent.nano" option "java_package=launcher_log.proto|com.android.launcher3.userevent.nano" option "java_package=launcher_dump.proto|com.android.launcher3.model.nano" option "enum_style=java" } } } } } }