BUILD.gn 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. # Copyright 2020 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. if (is_android) {
  5. import("//build/config/android/config.gni")
  6. import("//build/config/android/rules.gni")
  7. }
  8. if (is_android) {
  9. android_library("internal_java") {
  10. sources = [
  11. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskBroadcastReceiver.java",
  12. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskService.java",
  13. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobService.java",
  14. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java",
  15. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java",
  16. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java",
  17. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java",
  18. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImpl.java",
  19. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java",
  20. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefs.java",
  21. "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerUma.java",
  22. "android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverter.java",
  23. "android/java/src/org/chromium/components/background_task_scheduler/internal/ExtrasToProtoConverter.java",
  24. ]
  25. deps = [
  26. ":proto_java",
  27. "$google_play_services_package:google_play_services_base_java",
  28. "$google_play_services_package:google_play_services_basement_java",
  29. "$google_play_services_package:google_play_services_gcm_java",
  30. "$google_play_services_package:google_play_services_tasks_java",
  31. "//base:base_java",
  32. "//build/android:build_java",
  33. "//components/background_task_scheduler:background_task_scheduler_task_ids_java",
  34. "//components/background_task_scheduler:public_java",
  35. "//content/public/android:content_main_dex_java",
  36. "//third_party/android_deps:chromium_play_services_availability_java",
  37. "//third_party/android_deps:protobuf_lite_runtime_java",
  38. "//third_party/androidx:androidx_annotation_annotation_java",
  39. ]
  40. }
  41. proto_java_library("proto_java") {
  42. proto_path = "proto"
  43. sources = [ "$proto_path/scheduled_task.proto" ]
  44. }
  45. static_library("native_task") {
  46. sources = [
  47. "android/native_task_scheduler.cc",
  48. "android/native_task_scheduler.h",
  49. "android/task_info_bridge.cc",
  50. "android/task_info_bridge.h",
  51. ]
  52. deps = [
  53. ":jni_headers",
  54. "//base",
  55. "//components/background_task_scheduler:public",
  56. ]
  57. }
  58. android_library("native_task_java") {
  59. sources = [
  60. "android/java/src/org/chromium/components/background_task_scheduler/internal/NativeTaskScheduler.java",
  61. "android/java/src/org/chromium/components/background_task_scheduler/internal/TaskInfoBridge.java",
  62. ]
  63. annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
  64. deps = [
  65. "//base:base_java",
  66. "//base:jni_java",
  67. "//components/background_task_scheduler:factory_java",
  68. "//components/background_task_scheduler:public_java",
  69. ]
  70. }
  71. generate_jni("jni_headers") {
  72. visibility = [ ":*" ]
  73. sources = [
  74. "android/java/src/org/chromium/components/background_task_scheduler/internal/NativeTaskScheduler.java",
  75. "android/java/src/org/chromium/components/background_task_scheduler/internal/TaskInfoBridge.java",
  76. ]
  77. }
  78. }