summaryrefslogtreecommitdiff
path: root/BUILD.bazel
diff options
context:
space:
mode:
authorYigit Boyar <yboyar@google.com>2018-03-20 11:08:44 -0700
committerYigit Boyar <yboyar@google.com>2018-03-30 16:13:06 -0700
commit38a2cc526274fa18ea807ca9b807a632a119dd54 (patch)
treecb554719d61439143cbc449fa98187be22326d97 /BUILD.bazel
parentb7bc711dd022e5338d0d58595148cbacc792d9d9 (diff)
downloaddata-binding-38a2cc526274fa18ea807ca9b807a632a119dd54.tar.gz
Data Binding Android X support
This CL adds partial support for Android X. We duplicate baseLibrary and extensions (runtime libs) to have copies that are in the androidX namespace. Gradle picks the right version to include based on shared androidX flag. Right now, we have only 1 test that use androidX (DataBindingIncrementalTest) so all other tests still use the old package. I'll add testing for androidX in a followup CL. Bug: 77166878 Test: existing tests pass Change-Id: I77ec65b872cae0821513ca78ef9b6ab1b0300ed1
Diffstat (limited to 'BUILD.bazel')
-rw-r--r--BUILD.bazel134
1 files changed, 127 insertions, 7 deletions
diff --git a/BUILD.bazel b/BUILD.bazel
index 85215b9e..b2e6463f 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -5,6 +5,7 @@ load("//tools/base/bazel:maven.bzl", "maven_java_library", "maven_pom")
load("//tools/base/bazel:utils.bzl", "merged_properties")
load("//tools/base/bazel:gradle.bzl", "gradle_build")
load("//tools/base/bazel:maven.bzl", "maven_repo")
+load("//tools/base/bazel:merge_archives.bzl", "merge_archives")
exports_files(["databinding.properties"])
@@ -22,6 +23,19 @@ iml_module(
],
)
+iml_module(
+ name = "studio.baseLibrarySupport",
+ srcs = ["baseLibrarySupport/src/main/java"],
+ iml_files = ["baseLibrarySupport/db-baseLibrarySupport.iml"],
+ tags = ["managed"],
+ visibility = ["//visibility:public"],
+ # do not sort: must match IML order
+ deps = [
+ "//prebuilts/tools/common/m2/repository/junit/junit/4.12:jar[test]",
+ "//prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-core/1.3:jar[test]",
+ ],
+)
+
maven_java_library(
name = "tools.baseLibrary",
srcs = glob(["baseLibrary/src/main/java/**"]),
@@ -35,9 +49,29 @@ maven_java_library(
visibility = ["//visibility:public"],
)
+maven_java_library(
+ name = "tools.baseLibrarySupport",
+ srcs = glob(["baseLibrarySupport/src/main/java/**"]),
+ javacopts = [
+ "-source 6",
+ "-target 6",
+ ],
+ pom = ":baseLibrarySupport.pom",
+ resource_strip_prefix = "tools/data-binding/baseLibrary",
+ resources = ["baseLibrary/NOTICE"],
+ visibility = ["//visibility:public"],
+)
+
maven_pom(
name = "baseLibrary.pom",
artifact = "baseLibrary",
+ group = "androidx.databinding",
+ source = "//tools/buildSrc/base:build_version",
+)
+
+maven_pom(
+ name = "baseLibrarySupport.pom",
+ artifact = "baseLibrary",
group = "com.android.databinding",
source = "//tools/buildSrc/base:build_version",
)
@@ -56,10 +90,14 @@ iml_module(
test_srcs = ["compilerCommon/src/test/java"],
visibility = ["//visibility:public"],
# do not sort: must match IML order
- exports = ["//tools/data-binding:studio.baseLibrary"],
+ exports = [
+ "//tools/data-binding:studio.baseLibrary",
+ "//tools/data-binding:studio.baseLibrarySupport",
+ ],
# do not sort: must match IML order
deps = [
"//tools/data-binding:studio.baseLibrary[module]",
+ "//tools/data-binding:studio.baseLibrarySupport[module]",
"//tools/base/annotations:studio.android-annotations[module]",
"//tools/idea/.idea/libraries:juniversalchardet-1.0.3",
"//tools/idea/.idea/libraries:JUnit4[test]",
@@ -68,6 +106,7 @@ iml_module(
"//tools/idea/.idea/libraries:Guava",
"//tools/idea/.idea/libraries:KotlinJavaRuntime",
"//tools/idea/.idea/libraries:javapoet-1.8.0",
+ "//tools/idea/.idea/libraries:jetifier-core",
"//tools/idea/.idea/libraries:gson",
],
)
@@ -111,7 +150,9 @@ kotlin_library(
visibility = ["//visibility:public"],
deps = [
":tools.baseLibrary",
+ ":tools.baseLibrarySupport",
"//tools/base/annotations",
+ "//tools/base/third_party:com.android.tools.build.jetifier_jetifier-core",
"//tools/base/third_party:com.google.code.gson_gson",
"//tools/base/third_party:com.google.guava_guava",
"//tools/base/third_party:com.googlecode.juniversalchardet_juniversalchardet",
@@ -125,7 +166,7 @@ kotlin_library(
maven_pom(
name = "compilerCommon.pom",
artifact = "compilerCommon",
- group = "com.android.databinding",
+ group = "androidx.databinding",
source = "//tools/buildSrc/base:build_version",
)
@@ -160,10 +201,15 @@ iml_module(
],
test_srcs = ["compiler/src/test/java"],
visibility = ["//visibility:public"],
- exports = ["//tools/data-binding:studio.baseLibrary"],
+ # do not sort: must match IML order
+ exports = [
+ "//tools/data-binding:studio.baseLibrary",
+ "//tools/data-binding:studio.baseLibrarySupport",
+ ],
# do not sort: must match IML order
deps = [
"//tools/data-binding:studio.baseLibrary[module]",
+ "//tools/data-binding:studio.baseLibrarySupport[module]",
"//tools/base/annotations:studio.android-annotations[module]",
"//tools/data-binding:studio.compilerCommon[module]",
"//tools/idea/.idea/libraries:antlr4-runtime-4.5.3",
@@ -189,6 +235,7 @@ kotlin_library(
visibility = ["//visibility:public"],
deps = [
":tools.baseLibrary",
+ ":tools.baseLibrarySupport",
":tools.compilerCommon",
"//tools/base/annotations",
"//tools/base/third_party:com.google.guava_guava",
@@ -202,7 +249,7 @@ kotlin_library(
maven_pom(
name = "compiler.pom",
artifact = "compiler",
- group = "com.android.databinding",
+ group = "androidx.databinding",
source = "//tools/buildSrc/base:build_version",
)
@@ -216,6 +263,38 @@ maven_repo(
"//prebuilts/tools/common/m2/repository/android/arch/lifecycle/compiler/1.0.0:jar",
"//prebuilts/tools/common/m2/repository/android/arch/lifecycle/extensions/1.0.0:aar",
"//prebuilts/tools/common/m2/repository/android/arch/lifecycle/runtime/1.0.3:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/annotation/annotation/1.0.0-alpha1:jar",
+ "//prebuilts/tools/common/m2/repository/androidx/appcompat/appcompat/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/arch/core/core-common/2.0.0-alpha1:jar",
+ "//prebuilts/tools/common/m2/repository/androidx/arch/core/core-runtime/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/asynclayoutinflater/asynclayoutinflater/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/cardview/cardview/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/collection/collection/1.0.0-alpha1:jar",
+ "//prebuilts/tools/common/m2/repository/androidx/coordinatorlayout/coordinatorlayout/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/core/core/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/cursoradapter/cursoradapter/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/customview/customview/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/documentfile/documentfile/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/drawerlayout/drawerlayout/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/fragment/fragment/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/interpolator/interpolator/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/legacy/legacy-support-core-ui/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/legacy/legacy-support-core-utils/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-common/2.0.0-alpha1:jar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-compiler/2.0.0-alpha1:jar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-extensions/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-livedata-core/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-livedata/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-runtime/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-viewmodel/2.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/loader/loader/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/print/print/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/slidingpanelayout/slidingpanelayout/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/swiperefreshlayout/swiperefreshlayout/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/vectordrawable/vectordrawable-animated/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/vectordrawable/vectordrawable/1.0.0-alpha1:aar",
+ "//prebuilts/tools/common/m2/repository/androidx/viewpager/viewpager/1.0.0-alpha1:aar",
"//prebuilts/tools/common/m2/repository/com/android/support/animated-vector-drawable/26.1.0:aar",
"//prebuilts/tools/common/m2/repository/com/android/support/appcompat-v7/26.1.0:aar",
"//prebuilts/tools/common/m2/repository/com/android/support/cardview-v7/26.1.0:aar",
@@ -232,7 +311,7 @@ maven_repo(
)
gradle_build(
- name = "runtimeLibraries",
+ name = "runtimeLibrariesAndroidX",
build_file = "extensions/build.gradle",
data = [
"//tools/base/build-system:gradle-distrib",
@@ -254,14 +333,45 @@ gradle_build(
"extensions/gradlew.bat",
],
),
- output_file = "data_binding_runtime.zip",
+ output_file = "data_binding_runtime_androidx.zip",
+ output_file_source = "local_repo_zip/dataBindingRuntimeRepo.zip",
+ repos = [
+ "//tools/base/build-system:gradle_plugin_repo.zip",
+ ":external_deps.zip",
+ ],
+ tasks = ["createArchive"],
+)
+
+gradle_build(
+ name = "runtimeLibrariesSupport",
+ build_file = "extensions-support/build.gradle", #TODO rename to extensionSupport
+ data = [
+ "//tools/base/build-system:gradle-distrib",
+ "//prebuilts/studio/sdk:platforms/latest",
+ "//prebuilts/studio/sdk:support_latest",
+ "//prebuilts/studio/sdk:platform-tools",
+ "//prebuilts/studio/sdk:build-tools/latest",
+ "//tools/buildSrc/base:version.properties",
+ "//tools/data-binding:databinding.properties",
+ ] + glob(
+ ["extensions-support/**"],
+ exclude = [
+ "extensions-support/.gradle/**",
+ "extensions-support/build/**",
+ "extensions-support/local.properties",
+ "extensions-support/**/build",
+ "extensions-support/gradle/**",
+ "extensions-support/gradlew",
+ "extensions-support/gradlew.bat",
+ ],
+ ),
+ output_file = "data_binding_runtime_support.zip",
output_file_source = "local_repo_zip/dataBindingRuntimeRepo.zip",
repos = [
"//tools/base/build-system:gradle_plugin_repo.zip",
":external_deps.zip",
],
tasks = ["createArchive"],
- visibility = ["//visibility:public"],
)
filegroup(
@@ -276,3 +386,13 @@ filegroup(
),
visibility = ["//visibility:public"],
)
+
+merge_archives(
+ name = "runtimeLibraries",
+ output_file = "data_binding_runtime.zip",
+ visibility = ["//visibility:public"],
+ zips = [
+ "//tools/data-binding:data_binding_runtime_support.zip",
+ "//tools/data-binding:data_binding_runtime_androidx.zip",
+ ],
+)