buildscript { repositories { mavenCentral() google() } dependencies { classpath GRADLE_CLASS_PATH classpath PROTOBUF_CLASS_PATH } } apply plugin: 'com.android.application' apply plugin: 'com.google.protobuf' android { compileSdkVersion COMPILE_SDK.toInteger() buildToolsVersion BUILD_TOOLS_VERSION defaultConfig { minSdkVersion 21 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } buildTypes { debug { minifyEnabled false } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } flavorDimensions "default" productFlavors { aosp { dimension "default" applicationId 'com.android.launcher3' testApplicationId 'com.android.launcher3.tests' } l3go { dimension "default" applicationId 'com.android.launcher3' testApplicationId 'com.android.launcher3.tests' } quickstep { dimension "default" applicationId 'com.android.launcher3' testApplicationId 'com.android.launcher3.tests' minSdkVersion 28 } } // Disable release builds for now android.variantFilter { variant -> if (variant.buildType.name.endsWith('release')) { variant.setIgnore(true); } } sourceSets { main { res.srcDirs = ['res'] java.srcDirs = ['src'] manifest.srcFile 'AndroidManifest-common.xml' proto { srcDir 'protos/' srcDir 'proto_overrides/' } } debug { manifest.srcFile "AndroidManifest.xml" } androidTest { res.srcDirs = ['tests/res'] java.srcDirs = ['tests/src', 'tests/tapl'] manifest.srcFile "tests/AndroidManifest-common.xml" } androidTestDebug { manifest.srcFile "tests/AndroidManifest.xml" } aosp { java.srcDirs = ['src_flags', "src_ui_overrides", 'src_shortcuts_overrides'] } l3go { res.srcDirs = ['go/res'] java.srcDirs = ['go/src', "src_ui_overrides"] manifest.srcFile "go/AndroidManifest.xml" } quickstep { res.srcDirs = ['quickstep/res'] java.srcDirs = ['src_flags', 'quickstep/src', 'src_shortcuts_overrides'] manifest.srcFile "quickstep/AndroidManifest.xml" } } } repositories { maven { url "../../../prebuilts/fullsdk-darwin/extras/android/m2repository" } maven { url "../../../prebuilts/fullsdk-linux/extras/android/m2repository" } mavenCentral() google() } dependencies { implementation "androidx.dynamicanimation:dynamicanimation:${ANDROID_X_VERSION}" implementation "androidx.recyclerview:recyclerview:${ANDROID_X_VERSION}" implementation "androidx.preference:preference:${ANDROID_X_VERSION}" implementation PROTOBUF_DEPENDENCY implementation project(':IconLoader') // This is already included in sysui_shared aospImplementation fileTree(dir: "libs", include: 'plugin_core.jar') l3goImplementation fileTree(dir: "libs", include: 'plugin_core.jar') quickstepImplementation fileTree(dir: "quickstep/libs", include: 'sysui_shared.jar') testImplementation 'junit:junit:4.12' androidTestImplementation "org.mockito:mockito-core:1.9.5" androidTestImplementation 'com.google.dexmaker:dexmaker:1.2' androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' androidTestImplementation 'com.android.support.test:runner:1.0.0' androidTestImplementation 'com.android.support.test:rules:1.0.0' androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' androidTestImplementation "androidx.annotation:annotation:${ANDROID_X_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" } } } } } }