blob: ba97928413f1990c8a5cdb65ae51f1ffea145f25 [file] [log] [blame]
Colin Cross6e18e292018-09-11 16:41:13 -07001//
2// Copyright (C) 2014 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17java_defaults {
18 name: "icu4j-defaults",
19 host_supported: true,
20 hostdex: true,
21
22 // Use the same Java language version in the Android build configuration as used
23 // in main/shared/build/common.properties for the ICU4J build configuration.
Victor Changfdd2c3a2018-09-17 10:57:01 +010024 java_version: "1.7",
Colin Cross6e18e292018-09-11 16:41:13 -070025}
26
27java_library {
28 name: "icu4j",
29 defaults: ["icu4j-defaults"],
30
31 srcs: ["main/classes/**/*.java"],
32 java_resource_dirs: ["main/classes/*/src"],
33
34 // User-supplied locale service providers (using the java.text.spi or
35 // java.util.spi mechanisms) are not supported in Android:
36 //
37 // http://developer.android.com/reference/java/util/Locale.html
38 exclude_srcs: ["main/classes/localespi/**/*.java"],
39 exclude_java_resource_dirs: ["main/classes/localespi/src"],
40
Victor Chang58cfed02018-11-14 16:44:33 +000041 static_libs: [
42 "icu4j-icudata",
43 "icu4j-icutzdata",
44 ],
Colin Cross6e18e292018-09-11 16:41:13 -070045}
46
47java_test {
48 name: "icu4j-tests",
49 defaults: ["icu4j-defaults"],
50
51 srcs: ["main/tests/**/*.java"],
52 java_resource_dirs: ["main/tests/*/src"],
53
54 exclude_srcs: ["main/tests/localespi/**/*.java"],
55 exclude_java_resource_dirs: ["main/tests/localespi/src"],
56
57 static_libs: [
58 "icu4j",
59 "icu4j-testdata",
60 "junit-params",
61 ],
62}
63
64java_import {
65 name: "icu4j-icudata",
66 host_supported: true,
67 jars: ["main/shared/data/icudata.jar"],
68}
69
70java_import {
71 name: "icu4j-icutzdata",
72 host_supported: true,
73 jars: ["main/shared/data/icutzdata.jar"],
74}
75
76java_import {
77 name: "icu4j-testdata",
78 host_supported: true,
79 jars: ["main/shared/data/testdata.jar"],
80}
81
82// LayoutLib (frameworks/layoutlib) needs JarJar'd versions of the
83// icudata and icutzdata, so add rules for it.
84java_library_static {
85 name: "icu4j-icudata-jarjar",
86 defaults: ["icu4j-defaults"],
87 static_libs: ["icu4j-icudata"],
88 jarjar_rules: "liblayout-jarjar-rules.txt",
89}
90
91java_library_static {
92 name: "icu4j-icutzdata-jarjar",
93 defaults: ["icu4j-defaults"],
94 static_libs: ["icu4j-icutzdata"],
95 jarjar_rules: "liblayout-jarjar-rules.txt",
96}
97
98// Compatibility alias until references to icu4j-host are removed
99java_library_host {
100 name: "icu4j-host",
101 static_libs: ["icu4j"],
102}
Victor Change9935982018-09-21 14:55:40 +0100103
104// Rules to generate android_icu4j files during build time
105// The following rules are used in the downstream branches master-icu-dev only,
106// but NOT used in AOSP.
107generate_script_srcs = [
108 "main/**/*",
109 "samples/**/*",
110]
111generate_script_tools = [
112 "android_icu4j_srcgen_binary",
113 "soong_zip",
114]
115generate_script_tool_files = [
116 ":generate_android_icu4j_script",
117]
118// ANDROID_BUILD_TOP is needed to be set for generate_android_icu4j.sh
119generate_script_common_cmd = "export ANDROID_BUILD_TOP=$$(pwd) && " +
Colin Crossd4025ce2018-10-05 12:35:15 -0700120 "$(location :generate_android_icu4j_script) " +
Victor Change9935982018-09-21 14:55:40 +0100121 "--no-doc-patch " +
122 "--gen $(genDir) " +
123 "--srcgen-tool $(location android_icu4j_srcgen_binary)"
124
125genrule {
126 name: "generated_android_icu4j_src_files",
Victor Changc25296f2019-03-22 22:48:10 +0000127 enabled: false, // http://b/117312606
Victor Change9935982018-09-21 14:55:40 +0100128 srcs: generate_script_srcs,
129 tools: generate_script_tools,
130 tool_files: generate_script_tool_files,
131 out: ["generated_android_icu4j.srcjar"],
132 cmd: generate_script_common_cmd +
133 "&& $(location soong_zip) -o $(out) -C $(genDir)/android_icu4j/src/main/java " +
134 "-D $(genDir)/android_icu4j/src/main/java",
135}
136
137java_genrule {
138 name: "generated_android_icu4j_resources",
Victor Changc25296f2019-03-22 22:48:10 +0000139 enabled: false, // http://b/117312606
Victor Change9935982018-09-21 14:55:40 +0100140 host_supported: true,
141 srcs: generate_script_srcs,
142 tools: generate_script_tools,
143 tool_files: generate_script_tool_files,
144 out: ["generated_android_icu4j_resources.jar"],
145 cmd: generate_script_common_cmd +
146 "&& $(location soong_zip) -o $(out) -C $(genDir)/android_icu4j/resources " +
147 "-D $(genDir)/android_icu4j/resources",
148}
149
150genrule {
151 name: "generated_android_icu4j_test_files",
Victor Changc25296f2019-03-22 22:48:10 +0000152 enabled: false, // http://b/117312606
Victor Change9935982018-09-21 14:55:40 +0100153 srcs: generate_script_srcs,
154 tools: generate_script_tools,
155 tool_files: generate_script_tool_files,
156 out: ["generated_android_icu4j_test.srcjar"],
157 cmd: generate_script_common_cmd +
158 "&& find $(genDir)/android_icu4j/src/main/tests -type f -not -name \"*.java\" -exec rm {} \\; " +
159 "&& $(location soong_zip) -o $(out) -C $(genDir)/android_icu4j/src/main/tests " +
160 "-D $(genDir)/android_icu4j/src/main/tests",
161}
162
163java_genrule {
164 name: "generated_android_icu4j_test_resources",
Victor Changc25296f2019-03-22 22:48:10 +0000165 enabled: false, // http://b/117312606
Victor Change9935982018-09-21 14:55:40 +0100166 host_supported: true,
167 srcs: generate_script_srcs,
168 tools: generate_script_tools,
169 tool_files: generate_script_tool_files,
170 out: ["generated_android_icu4j_test_resources.jar"],
171 cmd: generate_script_common_cmd +
172 "&& find $(genDir)/android_icu4j/src/main/tests -type f -name \"*.java\" -exec rm {} \\; " +
173 "&& $(location soong_zip) -o $(out) -C $(genDir)/android_icu4j/src/main/tests " +
174 "-D $(genDir)/android_icu4j/src/main/tests",
175}