summaryrefslogtreecommitdiff
path: root/chromium/components/policy/android/BUILD.gn
blob: 8447a8bec367f86761263f0af820b2e9f74078d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/android/rules.gni")

_jni_sources = [
  "java/src/org/chromium/components/policy/CombinedPolicyProvider.java",
  "java/src/org/chromium/components/policy/PolicyCacheUpdater.java",
  "java/src/org/chromium/components/policy/PolicyConverter.java",
  "java/src/org/chromium/components/policy/PolicyMap.java",
  "java/src/org/chromium/components/policy/PolicyService.java",
]

java_cpp_strings("java_switches_srcjar") {
  # External code should depend on ":policy_java" instead.
  visibility = [ ":*" ]
  sources = [ "//components/policy/core/common/policy_switches.cc" ]
  template = "java_templates/PolicySwitches.java.tmpl"
}

android_library("policy_java") {
  deps = [
    "//base:base_java",
    "//base:jni_java",
    "//build/android:build_java",
    "//third_party/androidx:androidx_annotation_annotation_java",
  ]
  srcjar_deps = [ ":java_switches_srcjar" ]
  annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]

  sources = _jni_sources + [
              "java/src/org/chromium/components/policy/AbstractAppRestrictionsProvider.java",
              "java/src/org/chromium/components/policy/AppRestrictionsProvider.java",
              "java/src/org/chromium/components/policy/PolicyCache.java",
              "java/src/org/chromium/components/policy/PolicyCacheProvider.java",
              "java/src/org/chromium/components/policy/PolicyProvider.java",
            ]
}

android_library("policy_java_test_support") {
  testonly = true
  deps = [
    ":policy_java",
    "//base:base_java",
    "//base:base_java_test_support",
    "//content/public/test/android:content_java_test_support",
    "//third_party/androidx:androidx_annotation_annotation_java",
    "//third_party/junit",
  ]
  sources = [
    "javatests/src/org/chromium/components/policy/test/PolicyData.java",
    "javatests/src/org/chromium/components/policy/test/annotations/Policies.java",
  ]
}

generate_jni("jni_headers") {
  visibility = [ "//components/policy/*" ]
  sources = _jni_sources
}

java_library("components_policy_junit_tests") {
  # Platform checks are broken for Robolectric. See https://crbug.com/1071638.
  bypass_platform_checks = true
  testonly = true
  sources = [
    "junit/src/org/chromium/components/policy/AbstractAppRestrictionsProviderTest.java",
    "junit/src/org/chromium/components/policy/CombinedPolicyProviderTest.java",
    "junit/src/org/chromium/components/policy/PolicyCacheProviderTest.java",
    "junit/src/org/chromium/components/policy/PolicyCacheTest.java",
    "junit/src/org/chromium/components/policy/PolicyConverterTest.java",
    "junit/src/org/chromium/components/policy/test/annotations/PoliciesTest.java",
  ]
  deps = [
    ":policy_java",
    ":policy_java_test_support",
    "//base:base_java",
    "//base:base_java_test_support",
    "//base:base_junit_test_support",
    "//build/android:build_java",
    "//third_party/android_deps:robolectric_all_java",
    "//third_party/androidx:androidx_test_core_java",
    "//third_party/hamcrest:hamcrest_java",
    "//third_party/junit",
    "//third_party/mockito:mockito_java",
  ]
}

_test_jni_sources = [
  "javatests/src/org/chromium/components/policy/test/PolicyCacheUpdaterTestSupporter.java",
  "javatests/src/org/chromium/components/policy/test/PolicyMapTestSupporter.java",
  "javatests/src/org/chromium/components/policy/test/PolicyServiceTestSupporter.java",
]

android_library("native_test_support_java") {
  testonly = true
  deps = [
    ":policy_java",
    "//base:jni_java",
    "//third_party/junit",
    "//third_party/mockito:mockito_java",
  ]
  annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]

  sources = _test_jni_sources
}

generate_jni("test_jni_headers") {
  testonly = true
  visibility = [ "//components/policy/*" ]
  sources = _test_jni_sources
}