| 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 |
| buildToolsVersion BUILD_TOOLS_VERSION |
| |
| defaultConfig { |
| minSdkVersion 25 |
| 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 |
| } |
| |
| // The flavor dimensions for build variants (e.g. aospWithQuickstep, aospWithoutQuickstep) |
| // See: https://developer.android.com/studio/build/build-variants#flavor-dimensions |
| flavorDimensions "app", "recents" |
| |
| productFlavors { |
| aosp { |
| dimension "app" |
| applicationId 'com.android.launcher3' |
| testApplicationId 'com.android.launcher3.tests' |
| } |
| |
| l3go { |
| dimension "app" |
| applicationId 'com.android.launcher3' |
| testApplicationId 'com.android.launcher3.tests' |
| } |
| |
| withQuickstep { |
| dimension "recents" |
| |
| minSdkVersion 28 |
| } |
| |
| withQuickstepIconRecents { |
| dimension "recents" |
| |
| minSdkVersion 28 |
| } |
| |
| withoutQuickstep { |
| dimension "recents" |
| } |
| } |
| |
| // Disable release builds for now |
| android.variantFilter { variant -> |
| if (variant.buildType.name.endsWith('release')) { |
| variant.setIgnore(true) |
| } |
| |
| // Icon recents is Go only |
| if (name.contains("WithQuickstepIconRecents") && !name.contains("l3go")) { |
| variant.setIgnore(true) |
| } |
| } |
| |
| sourceSets { |
| main { |
| res.srcDirs = ['res'] |
| java.srcDirs = ['src', 'src_plugins'] |
| 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_shortcuts_overrides'] |
| manifest.srcFile "AndroidManifest.xml" |
| } |
| |
| l3go { |
| res.srcDirs = ['go/res'] |
| java.srcDirs = ['go/src'] |
| manifest.srcFile "go/AndroidManifest.xml" |
| } |
| |
| withoutQuickstep { |
| java.srcDirs = ['src_ui_overrides'] |
| } |
| |
| withQuickstep { |
| res.srcDirs = ['quickstep/res', 'quickstep/recents_ui_overrides/res'] |
| java.srcDirs = ['quickstep/src', 'quickstep/recents_ui_overrides/src'] |
| manifest.srcFile "quickstep/AndroidManifest.xml" |
| } |
| |
| withQuickstepIconRecents { |
| res.srcDirs = ['quickstep/res', 'go/quickstep/res'] |
| java.srcDirs = ['quickstep/src', 'go/quickstep/src'] |
| 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 project(':IconLoader') |
| implementation fileTree(dir: "libs", include: 'launcher_protos.jar') |
| |
| // Recents lib dependency |
| withQuickstepImplementation fileTree(dir: "quickstep/libs", include: 'sysui_shared.jar') |
| |
| // Recents lib dependency for Go |
| withQuickstepIconRecentsImplementation fileTree(dir: "quickstep/libs", include: 'sysui_shared.jar') |
| |
| // Required for AOSP to compile. This is already included in the sysui_shared.jar |
| withoutQuickstepImplementation fileTree(dir: "libs", include: 'plugin_core.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" |
| } |
| } |
| } |
| } |
| } |
| } |