summaryrefslogtreecommitdiff
path: root/JavaLibrary.bp
diff options
context:
space:
mode:
Diffstat (limited to 'JavaLibrary.bp')
-rw-r--r--JavaLibrary.bp142
1 files changed, 142 insertions, 0 deletions
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
new file mode 100644
index 0000000000..3b65442ea4
--- /dev/null
+++ b/JavaLibrary.bp
@@ -0,0 +1,142 @@
+// Copyright (C) 2007 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//
+// Definitions for building the Java library and associated tests.
+//
+
+// libcore is divided into modules.
+//
+// The structure of each module is:
+//
+// src/
+// main/ # To be shipped on every device.
+// java/ # Java source for library code.
+// native/ # C++ source for library code.
+// resources/ # Support files.
+// test/ # Built only on demand, for testing.
+// java/ # Java source for tests.
+// native/ # C++ source for tests (rare).
+// resources/ # Support files.
+//
+// All subdirectories are optional
+
+build = [
+ "openjdk_java_files.bp",
+ "non_openjdk_java_files.bp",
+]
+
+// The Java files and their associated resources.
+core_resource_dirs = [
+ "luni/src/main/java",
+ "ojluni/src/main/resources/",
+]
+
+java_defaults {
+ name: "libcore_java_defaults",
+ javacflags: [
+ //"-Xlint:all",
+ //"-Xlint:-serial,-deprecation,-unchecked",
+ ],
+ dxflags: ["--core-library"],
+ no_standard_libs: true,
+
+ // For user / userdebug builds, strip the local variable table and the local variable
+ // type table. This has no bearing on stack traces, but will leave less information
+ // available via JDWP.
+ //
+ // TODO: Should this be conditioned on a PRODUCT_ flag or should we just turn this
+ // on for all builds. Also, name of the flag TBD.
+ // TODO(ccross): PRODUCT_MINIMIZE_JAVA_DEBUG_INFO
+ // local_javac_flags += ["-g:source,lines"]
+}
+
+//
+// Build for the target (device).
+//
+
+java_library {
+ name: "core-all",
+ defaults: ["libcore_java_defaults"],
+
+ srcs: [
+ ":openjdk_java_files",
+ ":non_openjdk_java_files",
+ ":android_icu4j_src_files",
+ ":openjdk_lambda_stub_files",
+ ],
+ java_resource_dirs: core_resource_dirs,
+ static_libs: ["android_icu4j_res"],
+
+ required: [
+ "tzdata",
+ "tzlookup.xml",
+ ],
+
+ installable: false,
+}
+
+java_library {
+ name: "core-oj",
+ defaults: ["libcore_java_defaults"],
+
+ srcs: [":openjdk_java_files"],
+ java_resource_dirs: core_resource_dirs,
+ libs: ["core-all"],
+
+ notice: "ojluni/NOTICE",
+
+ required: [
+ "tzdata",
+ "tzlookup.xml",
+ ],
+}
+
+// Definitions to make the core library.
+java_library {
+ name: "core-libart",
+ defaults: ["libcore_java_defaults"],
+
+ srcs: [
+ ":non_openjdk_java_files",
+ ":android_icu4j_src_files",
+ ],
+ static_libs: ["android_icu4j_res"],
+
+ libs: ["core-all"],
+
+ required: [
+ "tzdata",
+ "tzlookup.xml",
+ ],
+}
+
+// A library that exists to satisfy javac when
+// compiling source code that contains lambdas.
+java_library {
+ name: "core-lambda-stubs",
+ defaults: ["libcore_java_defaults"],
+
+ srcs: [
+ ":openjdk_lambda_stub_files",
+ ":openjdk_lambda_duplicate_stub_files",
+ ],
+
+ libs: ["core-all"],
+
+ notice: "ojluni/NOTICE",
+
+ installable: false,
+ include_srcs: true,
+}