BUILD.gn 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. # Copyright 2017 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. java_group("background_task_scheduler_java") {
  10. deps = [
  11. "//components/background_task_scheduler:factory_java",
  12. "//components/background_task_scheduler:public_java",
  13. "//components/background_task_scheduler/internal:native_task_java",
  14. ]
  15. }
  16. }
  17. group("background_task_scheduler") {
  18. public_deps = [
  19. ":factory",
  20. ":public",
  21. ]
  22. }
  23. static_library("public") {
  24. sources = [
  25. "background_task.h",
  26. "background_task_scheduler.h",
  27. "task_ids.h",
  28. "task_info.cc",
  29. "task_info.h",
  30. "task_parameters.cc",
  31. "task_parameters.h",
  32. ]
  33. public_deps = [
  34. "//base",
  35. "//components/keyed_service/core",
  36. ]
  37. }
  38. static_library("factory") {
  39. sources = [
  40. "background_task_scheduler_factory.cc",
  41. "background_task_scheduler_factory.h",
  42. ]
  43. deps = [ ":public" ]
  44. if (is_android) {
  45. deps += [ "internal:native_task" ]
  46. }
  47. }
  48. if (is_android) {
  49. # This is shared between WebView and Chrome. We do not want to add GCM
  50. # related permissions for WebView while still wanting to avoid collision
  51. # between WebView and Chrome.
  52. android_library("background_task_scheduler_task_ids_java") {
  53. srcjar_deps = [ ":jni_enums" ]
  54. deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
  55. }
  56. java_cpp_enum("jni_enums") {
  57. visibility = [ "*" ]
  58. sources = [ "task_ids.h" ]
  59. }
  60. android_library("public_java") {
  61. sources = [
  62. "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTask.java",
  63. "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskFactory.java",
  64. "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskScheduler.java",
  65. "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerExternalUma.java",
  66. "android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTask.java",
  67. "android/java/src/org/chromium/components/background_task_scheduler/NativeBackgroundTaskDelegate.java",
  68. "android/java/src/org/chromium/components/background_task_scheduler/TaskInfo.java",
  69. "android/java/src/org/chromium/components/background_task_scheduler/TaskParameters.java",
  70. ]
  71. deps = [
  72. ":background_task_scheduler_task_ids_java",
  73. "//base:base_java",
  74. "//content/public/android:content_main_dex_java",
  75. "//third_party/androidx:androidx_annotation_annotation_java",
  76. ]
  77. }
  78. android_library("factory_java") {
  79. sources = [ "android/java/src/org/chromium/components/background_task_scheduler/BackgroundTaskSchedulerFactory.java" ]
  80. deps = [
  81. ":public_java",
  82. "internal:internal_java",
  83. "//third_party/androidx:androidx_annotation_annotation_java",
  84. ]
  85. }
  86. robolectric_library("components_background_task_scheduler_junit_tests") {
  87. include_android_sdk = false
  88. sources = [
  89. "internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImplWithMockTest.java",
  90. "internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobServiceTest.java",
  91. "internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BundleToPersistableBundleConverterTest.java",
  92. "internal/android/java/src/org/chromium/components/background_task_scheduler/internal/MockBackgroundTaskSchedulerDelegate.java",
  93. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskServiceTest.java",
  94. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobServiceTest.java",
  95. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManagerTest.java",
  96. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManagerTest.java",
  97. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImplTest.java",
  98. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefsTest.java",
  99. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerUmaTest.java",
  100. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BroadcastReceiverRobolectricTest.java",
  101. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/ExtrasToProtoConverterTest.java",
  102. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/ShadowGcmNetworkManager.java",
  103. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/TaskInfoTest.java",
  104. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/TestBackgroundTask.java",
  105. "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/TestBackgroundTaskFactory.java",
  106. ]
  107. deps = [
  108. ":background_task_scheduler_task_ids_java",
  109. "$google_play_services_package:google_play_services_auth_base_java",
  110. "$google_play_services_package:google_play_services_base_java",
  111. "$google_play_services_package:google_play_services_basement_java",
  112. "$google_play_services_package:google_play_services_gcm_java",
  113. "$google_play_services_package:google_play_services_tasks_java",
  114. "internal:internal_java",
  115. "internal:proto_java",
  116. "//base:base_java",
  117. "//base:base_java_test_support",
  118. "//base:base_junit_test_support",
  119. "//components/background_task_scheduler:public_java",
  120. "//content/public/test/android:content_java_test_support",
  121. "//third_party/android_deps:chromium_play_services_availability_shadows_java",
  122. "//third_party/junit",
  123. "//third_party/mockito:mockito_java",
  124. ]
  125. }
  126. }