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