Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 1 | buildscript { |
| 2 | repositories { |
| 3 | mavenCentral() |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 4 | google() |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 5 | } |
| 6 | dependencies { |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 7 | classpath GRADLE_CLASS_PATH |
| 8 | classpath PROTOBUF_CLASS_PATH |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 9 | } |
| 10 | } |
| 11 | |
Kevin | ddb9fe1 | 2019-03-15 13:39:00 -0700 | [diff] [blame] | 12 | final String ANDROID_TOP = "${rootDir}/../../.." |
| 13 | final String FRAMEWORK_PREBUILTS_DIR = "${ANDROID_TOP}/prebuilts/framework_intermediates/" |
| 14 | |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 15 | apply plugin: 'com.android.application' |
| 16 | apply plugin: 'com.google.protobuf' |
| 17 | |
| 18 | android { |
Sunny Goyal | a5de7c7 | 2019-01-30 11:40:38 -0800 | [diff] [blame] | 19 | compileSdkVersion COMPILE_SDK |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 20 | buildToolsVersion BUILD_TOOLS_VERSION |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 21 | |
| 22 | defaultConfig { |
Sunny Goyal | 8c48d8b | 2019-01-25 15:10:18 -0800 | [diff] [blame] | 23 | minSdkVersion 25 |
Sunny Goyal | e1ebc08 | 2018-01-26 12:24:10 -0800 | [diff] [blame] | 24 | targetSdkVersion 28 |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 25 | versionCode 1 |
| 26 | versionName "1.0" |
Sunny Goyal | 3d1c0ff | 2015-10-16 17:18:54 -0700 | [diff] [blame] | 27 | |
Vadim Tryshev | a3fd1e5 | 2018-08-24 17:48:25 -0700 | [diff] [blame] | 28 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 29 | vectorDrawables.useSupportLibrary = true |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 30 | } |
| 31 | buildTypes { |
| 32 | debug { |
| 33 | minifyEnabled false |
| 34 | } |
| 35 | } |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 36 | |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 37 | compileOptions { |
| 38 | sourceCompatibility JavaVersion.VERSION_1_8 |
| 39 | targetCompatibility JavaVersion.VERSION_1_8 |
| 40 | } |
| 41 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 42 | // The flavor dimensions for build variants (e.g. aospWithQuickstep, aospWithoutQuickstep) |
| 43 | // See: https://developer.android.com/studio/build/build-variants#flavor-dimensions |
| 44 | flavorDimensions "app", "recents" |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 45 | |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 46 | productFlavors { |
| 47 | aosp { |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 48 | dimension "app" |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 49 | applicationId 'com.android.launcher3' |
| 50 | testApplicationId 'com.android.launcher3.tests' |
| 51 | } |
Sunny Goyal | 64a75aa | 2017-07-03 13:50:52 -0700 | [diff] [blame] | 52 | |
| 53 | l3go { |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 54 | dimension "app" |
Sunny Goyal | 64a75aa | 2017-07-03 13:50:52 -0700 | [diff] [blame] | 55 | applicationId 'com.android.launcher3' |
| 56 | testApplicationId 'com.android.launcher3.tests' |
| 57 | } |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 58 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 59 | withQuickstep { |
| 60 | dimension "recents" |
Sunny Goyal | d230307 | 2018-08-14 15:21:45 -0700 | [diff] [blame] | 61 | |
| 62 | minSdkVersion 28 |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 63 | } |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 64 | |
Kevin | 2857871 | 2019-01-04 17:54:51 -0800 | [diff] [blame] | 65 | withQuickstepIconRecents { |
| 66 | dimension "recents" |
| 67 | |
| 68 | minSdkVersion 28 |
| 69 | } |
| 70 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 71 | withoutQuickstep { |
| 72 | dimension "recents" |
| 73 | } |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 74 | } |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 75 | |
| 76 | // Disable release builds for now |
| 77 | android.variantFilter { variant -> |
| 78 | if (variant.buildType.name.endsWith('release')) { |
Kevin | 2857871 | 2019-01-04 17:54:51 -0800 | [diff] [blame] | 79 | variant.setIgnore(true) |
| 80 | } |
| 81 | |
| 82 | // Icon recents is Go only |
| 83 | if (name.contains("WithQuickstepIconRecents") && !name.contains("l3go")) { |
| 84 | variant.setIgnore(true) |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 85 | } |
| 86 | } |
| 87 | |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 88 | sourceSets { |
| 89 | main { |
Sunny Goyal | bd82250 | 2016-02-18 15:09:21 -0800 | [diff] [blame] | 90 | res.srcDirs = ['res'] |
Kevin | ab87400 | 2019-01-04 15:55:42 -0800 | [diff] [blame] | 91 | java.srcDirs = ['src', 'src_plugins'] |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 92 | manifest.srcFile 'AndroidManifest-common.xml' |
Sunny Goyal | 2385ebe | 2017-07-19 01:24:07 -0700 | [diff] [blame] | 93 | proto { |
| 94 | srcDir 'protos/' |
| 95 | srcDir 'proto_overrides/' |
| 96 | } |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 97 | } |
Sunny Goyal | 3d1c0ff | 2015-10-16 17:18:54 -0700 | [diff] [blame] | 98 | |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 99 | debug { |
| 100 | manifest.srcFile "AndroidManifest.xml" |
| 101 | } |
| 102 | |
Sunny Goyal | 3d1c0ff | 2015-10-16 17:18:54 -0700 | [diff] [blame] | 103 | androidTest { |
Sunny Goyal | f0ba8b7 | 2016-09-09 15:47:55 -0700 | [diff] [blame] | 104 | res.srcDirs = ['tests/res'] |
Sunny Goyal | d230307 | 2018-08-14 15:21:45 -0700 | [diff] [blame] | 105 | java.srcDirs = ['tests/src', 'tests/tapl'] |
Sunny Goyal | 658058b | 2017-01-21 01:33:02 -0800 | [diff] [blame] | 106 | manifest.srcFile "tests/AndroidManifest-common.xml" |
Sunny Goyal | 3d1c0ff | 2015-10-16 17:18:54 -0700 | [diff] [blame] | 107 | } |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 108 | |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 109 | androidTestDebug { |
| 110 | manifest.srcFile "tests/AndroidManifest.xml" |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 111 | } |
Sunny Goyal | 658058b | 2017-01-21 01:33:02 -0800 | [diff] [blame] | 112 | |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 113 | aosp { |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 114 | java.srcDirs = ['src_flags', 'src_shortcuts_overrides'] |
| 115 | manifest.srcFile "AndroidManifest.xml" |
Sunny Goyal | 658058b | 2017-01-21 01:33:02 -0800 | [diff] [blame] | 116 | } |
Sunny Goyal | 64a75aa | 2017-07-03 13:50:52 -0700 | [diff] [blame] | 117 | |
| 118 | l3go { |
| 119 | res.srcDirs = ['go/res'] |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 120 | java.srcDirs = ['go/src'] |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 121 | manifest.srcFile "go/AndroidManifest.xml" |
Sunny Goyal | 64a75aa | 2017-07-03 13:50:52 -0700 | [diff] [blame] | 122 | } |
| 123 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 124 | withoutQuickstep { |
| 125 | java.srcDirs = ['src_ui_overrides'] |
| 126 | } |
| 127 | |
| 128 | withQuickstep { |
Kevin | 2857871 | 2019-01-04 17:54:51 -0800 | [diff] [blame] | 129 | res.srcDirs = ['quickstep/res', 'quickstep/recents_ui_overrides/res'] |
| 130 | java.srcDirs = ['quickstep/src', 'quickstep/recents_ui_overrides/src'] |
| 131 | manifest.srcFile "quickstep/AndroidManifest.xml" |
| 132 | } |
| 133 | |
| 134 | withQuickstepIconRecents { |
| 135 | res.srcDirs = ['quickstep/res', 'go/quickstep/res'] |
| 136 | java.srcDirs = ['quickstep/src', 'go/quickstep/src'] |
Sunny Goyal | 9d34196 | 2017-10-30 10:03:34 -0700 | [diff] [blame] | 137 | manifest.srcFile "quickstep/AndroidManifest.xml" |
Sunny Goyal | 64a75aa | 2017-07-03 13:50:52 -0700 | [diff] [blame] | 138 | } |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 139 | } |
| 140 | } |
| 141 | |
| 142 | repositories { |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 143 | maven { url "../../../prebuilts/fullsdk-darwin/extras/android/m2repository" } |
| 144 | maven { url "../../../prebuilts/fullsdk-linux/extras/android/m2repository" } |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 145 | mavenCentral() |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 146 | google() |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 147 | } |
| 148 | |
| 149 | dependencies { |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 150 | implementation "androidx.dynamicanimation:dynamicanimation:${ANDROID_X_VERSION}" |
| 151 | implementation "androidx.recyclerview:recyclerview:${ANDROID_X_VERSION}" |
| 152 | implementation "androidx.preference:preference:${ANDROID_X_VERSION}" |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 153 | implementation project(':IconLoader') |
Kevin | ddb9fe1 | 2019-03-15 13:39:00 -0700 | [diff] [blame] | 154 | implementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'launcher_protos.jar') |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 155 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 156 | // Recents lib dependency |
Kevin | ddb9fe1 | 2019-03-15 13:39:00 -0700 | [diff] [blame] | 157 | withQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/quickstep/libs", include: 'sysui_shared.jar') |
Sunny Goyal | 3d1c0ff | 2015-10-16 17:18:54 -0700 | [diff] [blame] | 158 | |
Kevin | 2857871 | 2019-01-04 17:54:51 -0800 | [diff] [blame] | 159 | // Recents lib dependency for Go |
Kevin | ddb9fe1 | 2019-03-15 13:39:00 -0700 | [diff] [blame] | 160 | withQuickstepIconRecentsImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/quickstep/libs", include: 'sysui_shared.jar') |
Kevin | 2857871 | 2019-01-04 17:54:51 -0800 | [diff] [blame] | 161 | |
Kevin | 61ad301 | 2019-01-04 16:30:24 -0800 | [diff] [blame] | 162 | // Required for AOSP to compile. This is already included in the sysui_shared.jar |
Kevin | ddb9fe1 | 2019-03-15 13:39:00 -0700 | [diff] [blame] | 163 | withoutQuickstepImplementation fileTree(dir: "${FRAMEWORK_PREBUILTS_DIR}/libs", include: 'plugin_core.jar') |
Sunny Goyal | 7313339 | 2017-11-02 11:04:49 -0700 | [diff] [blame] | 164 | |
Sunny Goyal | 4213783 | 2018-04-23 14:03:04 -0700 | [diff] [blame] | 165 | testImplementation 'junit:junit:4.12' |
| 166 | androidTestImplementation "org.mockito:mockito-core:1.9.5" |
| 167 | androidTestImplementation 'com.google.dexmaker:dexmaker:1.2' |
| 168 | androidTestImplementation 'com.google.dexmaker:dexmaker-mockito:1.2' |
| 169 | androidTestImplementation 'com.android.support.test:runner:1.0.0' |
| 170 | androidTestImplementation 'com.android.support.test:rules:1.0.0' |
| 171 | androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' |
Hyunyoung Song | 719eee2 | 2018-11-01 23:12:54 -0700 | [diff] [blame] | 172 | androidTestImplementation "androidx.annotation:annotation:${ANDROID_X_VERSION}" |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 173 | } |
| 174 | |
| 175 | protobuf { |
| 176 | // Configure the protoc executable |
| 177 | protoc { |
| 178 | artifact = 'com.google.protobuf:protoc:3.0.0-alpha-3' |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 179 | |
| 180 | generateProtoTasks { |
| 181 | all().each { task -> |
| 182 | task.builtins { |
| 183 | remove java |
| 184 | javanano { |
Sunny Goyal | 2385ebe | 2017-07-19 01:24:07 -0700 | [diff] [blame] | 185 | option "java_package=launcher_log_extension.proto|com.android.launcher3.userevent.nano" |
Sunny Goyal | 58bcd5a | 2016-11-09 16:24:30 -0800 | [diff] [blame] | 186 | option "java_package=launcher_log.proto|com.android.launcher3.userevent.nano" |
Sunny Goyal | b26d8b6 | 2017-03-07 09:10:06 -0800 | [diff] [blame] | 187 | option "java_package=launcher_dump.proto|com.android.launcher3.model.nano" |
Sunny Goyal | 6c46a6d | 2016-11-23 02:24:32 +0530 | [diff] [blame] | 188 | option "enum_style=java" |
Sunny Goyal | 4a4b49f | 2016-08-25 22:21:40 -0700 | [diff] [blame] | 189 | } |
| 190 | } |
| 191 | } |
| 192 | } |
Sunny Goyal | edf329a | 2015-08-29 23:16:27 -0700 | [diff] [blame] | 193 | } |
| 194 | } |