| load("//tools/base/bazel:bazel.bzl", "iml_module") |
| load("//tools/base/bazel:kotlin.bzl", "kotlin_library", "kotlin_test") |
| load("//tools/base/bazel:utils.bzl", "fileset", "merged_properties") |
| load("//tools/base/bazel:gradle.bzl", "gradle_build") |
| load("//tools/base/bazel:maven.bzl", "maven_repository", "maven_library") |
| load("//tools/base/bazel:utils.bzl", "java_jarjar", "merged_zip") |
| load("//tools/base/common:version.bzl", "BUILD_VERSION") |
| |
| exports_files(["databinding.properties"]) |
| |
| # managed by go/iml_to_build |
| iml_module( |
| name = "studio.baseLibrary", |
| srcs = ["baseLibrary/src/main/java"], |
| iml_files = ["baseLibrary/db-baseLibrary.iml"], |
| jvm_target = "8", |
| visibility = ["//visibility:public"], |
| # do not sort: must match IML order |
| deps = [ |
| "//prebuilts/studio/intellij-sdk:studio-sdk", |
| "//prebuilts/tools/common/m2:junit-4.12[test]", |
| "//prebuilts/tools/common/m2:hamcrest-core-1.3[test]", |
| ], |
| ) |
| |
| # managed by go/iml_to_build |
| iml_module( |
| name = "studio.baseLibrarySupport", |
| srcs = ["baseLibrarySupport/src/main/java"], |
| iml_files = ["baseLibrarySupport/db-baseLibrarySupport.iml"], |
| jvm_target = "8", |
| visibility = ["//visibility:public"], |
| # do not sort: must match IML order |
| deps = [ |
| "//prebuilts/studio/intellij-sdk:studio-sdk", |
| "//prebuilts/tools/common/m2:junit-4.12[test]", |
| "//prebuilts/tools/common/m2:hamcrest-core-1.3[test]", |
| ], |
| ) |
| |
| maven_library( |
| name = "tools.baseLibrary", |
| srcs = glob(["baseLibrary/src/main/java/**"]), |
| coordinates = "androidx.databinding:databinding-common:" + BUILD_VERSION, |
| description = "Shared library between Data Binding runtime lib and compiler", |
| javacopts = ["--release 8"], |
| notice = "baseLibrary/NOTICE", |
| resource_strip_prefix = "tools/data-binding/baseLibrary", |
| visibility = ["//visibility:public"], |
| ) |
| |
| maven_library( |
| name = "tools.baseLibrarySupport", |
| srcs = glob(["baseLibrarySupport/src/main/java/**"]), |
| coordinates = "com.android.databinding:baseLibrary:" + BUILD_VERSION, |
| description = "Shared library between Data Binding runtime lib and compiler", |
| javacopts = ["--release 8"], |
| notice = "baseLibrary/NOTICE", |
| resource_strip_prefix = "tools/data-binding/baseLibrary", |
| visibility = ["//visibility:public"], |
| ) |
| |
| java_jarjar( |
| name = "compilerCommon.antlr_runtime.shaded_jar", |
| srcs = [ |
| "//prebuilts/tools/common/m2:antlr4-runtime", |
| ], |
| rules = "jarjar_rules.txt", |
| ) |
| |
| load("//tools/base/bazel:jvm_import.bzl", "jvm_import") |
| |
| # managed by go/iml_to_build |
| jvm_import( |
| name = "compilerCommon.antlr_runtime.shaded", |
| jars = ["//tools/data-binding:compilerCommon.antlr_runtime.shaded_jar.jar"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| java_library( |
| name = "compilerCommon.antlr", |
| srcs = glob([ |
| "compilerCommon/src/main/xml-gen/**/*.java", |
| "compilerCommon/src/main/grammar-gen/**/*.java", |
| ]), |
| deps = [ |
| "//prebuilts/tools/common/m2:antlr4-runtime", |
| ], |
| ) |
| |
| java_jarjar( |
| name = "compilerCommon.antlr.shaded_jar", |
| srcs = [ |
| ":compilerCommon.antlr", |
| ], |
| rules = "jarjar_rules.txt", |
| ) |
| |
| # managed by go/iml_to_build |
| jvm_import( |
| name = "compilerCommon.antlr.shaded", |
| jars = ["//tools/data-binding:compilerCommon.antlr.shaded_jar.jar"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| # managed by go/iml_to_build |
| iml_module( |
| name = "studio.compilerCommon", |
| # do not sort: must match IML order |
| srcs = [ |
| "compilerCommon/src/main/java", |
| "compilerCommon/src/main/kotlin", |
| ], |
| iml_files = ["compilerCommon/db-compilerCommon.iml"], |
| jvm_target = "8", |
| test_srcs = [ |
| "compilerCommon/src/test/java", |
| "compilerCommon/src/test/kotlin", |
| ], |
| visibility = ["//visibility:public"], |
| # 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:compilerCommon.antlr_runtime.shaded", |
| "//tools/data-binding:compilerCommon.antlr.shaded", |
| "//prebuilts/studio/intellij-sdk:studio-sdk", |
| "//tools/data-binding:studio.baseLibrary[module]", |
| "//tools/data-binding:studio.baseLibrarySupport[module]", |
| "//tools/base/annotations:studio.android.sdktools.android-annotations[module]", |
| "//prebuilts/tools/common/m2:juniversalchardet", |
| "//prebuilts/tools/common/m2:javapoet", |
| "//prebuilts/tools/common/m2:jetifier-core", |
| "//tools/adt/idea/.idea/libraries:compile-testing[test]", |
| "//tools/adt/idea/.idea/libraries:truth[test]", |
| ], |
| ) |
| |
| merged_properties( |
| name = "data_binding_version_info", |
| srcs = [ |
| "//tools/buildSrc/base:version.properties", |
| "//tools/data-binding:databinding.properties", |
| ], |
| mappings = [ |
| "buildVersion:extensions", |
| "buildVersion:compiler", |
| "buildVersion:compilerCommon", |
| "buildVersion:baseLibrary", |
| ], |
| ) |
| |
| fileset( |
| name = "tools.compilerCommon.resources", |
| srcs = [ |
| ":data_binding_version_info", |
| ], |
| mappings = { |
| "compilerCommon/": "", |
| }, |
| ) |
| |
| maven_library( |
| name = "tools.compilerCommon", |
| srcs = glob([ |
| "compilerCommon/src/main/java/**/*.java", |
| "compilerCommon/src/main/java/**/*.kt", |
| "compilerCommon/src/main/kotlin/**/*.java", |
| "compilerCommon/src/main/kotlin/**/*.kt", |
| ]), |
| bundled_deps = [ |
| ":compilerCommon.antlr_runtime.shaded", |
| ":compilerCommon.antlr.shaded", |
| ], |
| coordinates = "androidx.databinding:databinding-compiler-common:" + BUILD_VERSION, |
| description = "Common library that can be shared between different build tools", |
| module_name = "databinding-compiler-common", |
| notice = "compilerCommon/NOTICE", |
| resource_strip_prefix = "tools/data-binding", |
| resources = [":tools.compilerCommon.resources"], |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":tools.baseLibrary", |
| ":tools.baseLibrarySupport", |
| "//tools/base/annotations", |
| "@maven//:com.android.tools.build.jetifier.jetifier-core", |
| "@maven//:com.google.code.gson.gson", |
| "@maven//:com.google.guava.guava", |
| "@maven//:com.googlecode.juniversalchardet.juniversalchardet", |
| "@maven//:com.squareup.javapoet", |
| "@maven//:commons-io.commons-io", |
| "@maven//:org.glassfish.jaxb.jaxb-runtime", |
| "@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk8", |
| ], |
| ) |
| |
| kotlin_test( |
| name = "tools.compilerCommon_tests", |
| srcs = glob([ |
| "compilerCommon/src/test/**/*.kt", |
| "compilerCommon/src/test/**/*.java", |
| ]), |
| jvm_flags = ["-Dtest.suite.jar=tests.jar"], |
| test_class = "com.android.testutils.JarTestSuite", |
| runtime_deps = ["//tools/base/testutils:tools.testutils"], |
| deps = [ |
| ":tools.compilerCommon", |
| "//tools/base/bazel:langtools", |
| "@maven//:com.google.testing.compile.compile-testing", |
| "@maven//:com.google.truth.truth", |
| "@maven//:junit.junit", |
| ], |
| ) |
| |
| # managed by go/iml_to_build |
| iml_module( |
| name = "studio.compiler", |
| # do not sort: must match IML order |
| srcs = [ |
| "compiler/src/main/java", |
| "compiler/src/main/kotlin", |
| ], |
| iml_files = ["compiler/db-compiler.iml"], |
| jvm_target = "8", |
| resources = ["compiler/src/main/resources"], |
| test_data = [ |
| "//prebuilts/studio/sdk:platforms/latest", |
| "//prebuilts/studio/sdk:platform-tools", |
| ], |
| test_srcs = ["compiler/src/test/java"], |
| visibility = ["//visibility:public"], |
| # 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:compilerCommon.antlr_runtime.shaded", |
| "//tools/data-binding:compilerCommon.antlr.shaded", |
| "//prebuilts/studio/intellij-sdk:studio-sdk", |
| "//tools/adt/idea/.idea/libraries:kotlin-test[test]", |
| "//tools/data-binding:studio.baseLibrary[module]", |
| "//tools/data-binding:studio.baseLibrarySupport[module]", |
| "//tools/base/annotations:studio.android.sdktools.android-annotations[module]", |
| "//tools/data-binding:studio.compilerCommon[module]", |
| "//prebuilts/tools/common/m2:juniversalchardet", |
| "//prebuilts/tools/common/m2:commons-lang", |
| "//tools/adt/idea/.idea/libraries:mockito[test]", |
| "//prebuilts/tools/common/m2:javapoet", |
| "//prebuilts/tools/common/m2:auto-common", |
| "//tools/adt/idea/.idea/libraries:compile-testing[test]", |
| "//tools/adt/idea/.idea/libraries:truth[test]", |
| ], |
| ) |
| |
| # TODO: Use the right version of kotlin-compiler. |
| maven_library( |
| name = "tools.compiler", |
| srcs = glob([ |
| "compiler/src/main/java/**/*.java", |
| "compiler/src/main/java/**/*.kt", |
| "compiler/src/main/kotlin/**/*.kt", |
| ]), |
| coordinates = "androidx.databinding:databinding-compiler:" + BUILD_VERSION, |
| description = "The annotation processor for Data Binding. Generates binding classes for runtime.", |
| module_name = "databinding-compiler", |
| notice = "compiler/src/main/resources/NOTICE.txt", |
| resource_strip_prefix = "tools/data-binding/compiler/src/main/resources", |
| resources = glob( |
| include = ["compiler/src/main/resources/**"], |
| exclude = ["compiler/src/main/resources/NOTICE.txt"], |
| ), |
| visibility = ["//visibility:public"], |
| deps = [ |
| ":tools.baseLibrary", |
| ":tools.compilerCommon", |
| "//tools/base/annotations", |
| "@maven//:com.google.auto.auto-common", |
| "@maven//:com.google.code.gson.gson", |
| "@maven//:com.google.guava.guava", |
| "@maven//:com.googlecode.juniversalchardet.juniversalchardet", |
| "@maven//:com.squareup.javapoet", |
| "@maven//:commons-codec.commons-codec", |
| "@maven//:commons-io.commons-io", |
| "@maven//:org.glassfish.jaxb.jaxb-runtime", |
| "@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk8", |
| ], |
| ) |
| |
| kotlin_test( |
| name = "tools.compiler_tests", |
| srcs = glob([ |
| "compiler/src/test/**/*.kt", |
| "compiler/src/test/**/*.java", |
| ]), |
| data = [ |
| "//prebuilts/studio/sdk:platform-tools", |
| "//prebuilts/studio/sdk:platforms/latest", |
| ], |
| jvm_flags = ["-Dtest.suite.jar=tests.jar"], |
| test_class = "com.android.testutils.JarTestSuite", |
| runtime_deps = ["//tools/base/testutils:tools.testutils"], |
| deps = [ |
| ":tools.baseLibrary", |
| ":tools.compiler", |
| ":tools.compilerCommon", |
| "//tools/base/bazel:langtools", |
| "@maven//:com.google.testing.compile.compile-testing", |
| "@maven//:com.google.truth.truth", |
| "@maven//:commons-io.commons-io", |
| "@maven//:junit.junit", |
| "@maven//:org.jetbrains.kotlin.kotlin-test", |
| "@maven//:org.mockito.mockito-core", |
| ], |
| ) |
| |
| maven_repository( |
| name = "external_deps", |
| # keep sorted |
| artifacts = [ |
| "@maven//:android.arch.lifecycle.compiler_1.0.0", |
| "@maven//:android.arch.lifecycle.extensions_1.0.0", |
| "@maven//:androidx.appcompat.appcompat_1.0.2", |
| "@maven//:androidx.lifecycle.lifecycle-extensions_2.2.0", |
| "@maven//:androidx.lifecycle.lifecycle-livedata-ktx_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-process_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-runtime-ktx_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-runtime_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-service_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-viewmodel-ktx_2.4.0", |
| "@maven//:com.android.support.appcompat-v7_26.1.0", |
| "@maven//:com.android.support.cardview-v7_26.1.0", |
| "@maven//:com.github.gundy.semver4j_0.16.4", |
| "@maven//:com.google.android.material.material_1.0.0", |
| "@maven//:com.google.code.findbugs.jsr305_1.3.9", |
| "@maven//:com.google.errorprone.error_prone_annotations_2.1.3", |
| "@maven//:de.undercouch.gradle-download-task_4.0.2", |
| "@maven//:org.jetbrains.intellij.deps.trove4j_1.0.20181211", |
| "@maven//:org.jetbrains.kotlinx.kotlinx-coroutines-android_1.4.1", |
| ], |
| ) |
| |
| gradle_build( |
| name = "runtimeLibrariesAndroidX", |
| build_file = "extensions/build.gradle", |
| data = [ |
| "//tools/base/build-system:gradle-distrib", |
| "//prebuilts/studio/sdk:platforms/latest", |
| "//prebuilts/studio/sdk:platform-tools", |
| "//prebuilts/studio/sdk:build-tools/latest", |
| "//tools/buildSrc/base:version.properties", |
| "//tools/buildSrc/base:dependencies.properties", |
| "//tools/data-binding:databinding.properties", |
| ] + glob( |
| ["extensions/**"], |
| exclude = [ |
| "extensions/.gradle/**", |
| "extensions/build/**", |
| "extensions/local.properties", |
| "extensions/**/build", |
| "extensions/gradle/**", |
| "extensions/gradlew", |
| "extensions/gradlew.bat", |
| ], |
| ), |
| max_workers = 1, # b/155772061 |
| output_file = "data_binding_runtime_androidx.zip", |
| output_file_source = "local_repo_zip/dataBindingRuntimeRepo.zip", |
| repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin.zip", |
| ], |
| repos = [ |
| ":external_deps", |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/third_party/kotlin:kotlin-m2repository", |
| ], |
| 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: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", |
| ], |
| ), |
| max_workers = 1, # b/155772061 |
| output_file = "data_binding_runtime_support.zip", |
| output_file_source = "local_repo_zip/dataBindingRuntimeRepo.zip", |
| repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin.zip", |
| ], |
| repos = [ |
| ":external_deps", |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/third_party/kotlin:kotlin-m2repository", |
| ], |
| tasks = ["createArchive"], |
| ) |
| |
| filegroup( |
| name = "integration-test-projects", |
| srcs = glob( |
| ["integration-tests/**"], |
| exclude = [ |
| "**/build/**", |
| "**/.gradle/**", |
| ], |
| ), |
| visibility = ["//visibility:public"], |
| ) |
| |
| filegroup( |
| name = "integration-test-projects-support", |
| srcs = glob( |
| ["integration-tests-support/**"], |
| exclude = [ |
| "**/build/**", |
| "**/.gradle/**", |
| ], |
| ), |
| visibility = ["//visibility:public"], |
| ) |
| |
| merged_zip( |
| name = "data_binding_runtime", |
| srcs = [ |
| "//tools/data-binding:data_binding_runtime_androidx.zip", |
| "//tools/data-binding:data_binding_runtime_support.zip", |
| ], |
| visibility = ["//visibility:public"], |
| ) |
| |
| alias( |
| name = "runtimeLibraries", |
| actual = ":data_binding_runtime", |
| visibility = ["//visibility:public"], |
| ) |