// 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",
    "annotated_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,
    errorprone: {
        javacflags: [
            "-Xep:MissingOverride:OFF",  // Ignore missing @Override.
        ],
    },
}

//
// 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",
    ],
    openjdk9: {
        srcs: ["luni/src/module/java/module-info.java"],
        javacflags: ["--patch-module=java.base=."],
    },
    java_resource_dirs: core_resource_dirs,
    java_resources: [":android_icu4j_resources"],

    required: [
        "tzdata",
        "tzlookup.xml",
    ],

    system_modules: "none",

    installable: false,
}

java_system_modules {
    name: "core-all-system-modules",
    libs: ["core-all"],
}

java_library {
    name: "core-oj",
    defaults: ["libcore_java_defaults"],
    hostdex: true,

    srcs: [":openjdk_java_files"],
    java_resource_dirs: core_resource_dirs,
    libs: ["core-all"],
    system_modules: "core-all-system-modules",
    openjdk9: {
        javacflags: ["--patch-module=java.base=."],
    },

    notice: "ojluni/NOTICE",

    required: [
        "tzdata",
        "tzlookup.xml",
    ],

}

// Definitions to make the core library.
java_library {
    name: "core-libart",
    defaults: ["libcore_java_defaults"],
    hostdex: true,

    srcs: [
        ":non_openjdk_java_files",
        ":android_icu4j_src_files",
    ],
    java_resources: [":android_icu4j_resources"],

    libs: ["core-all"],
    system_modules: "core-all-system-modules",
    openjdk9: {
        javacflags: ["--patch-module=java.base=."],
    },

    required: [
        "tzdata",
        "tzlookup.xml",
    ],
}

// A guaranteed unstripped version of core-oj and core-libart.
// The build system may or may not strip the core-oj and core-libart jars,
// but these will not be stripped. See b/24535627.
java_library {
    name: "core-oj-testdex",
    static_libs: ["core-oj"],
    no_standard_libs: true,
    libs: ["core-all"],
    system_modules: "core-all-system-modules",
    dxflags: ["--core-library"],
    dex_preopt: {
        enabled: false,
    },
    notice: "ojluni/NOTICE",
    required: [
        "tzdata",
        "tzlookup.xml",
    ],
}

java_library {
    name: "core-libart-testdex",
    static_libs: ["core-libart"],
    no_standard_libs: true,
    libs: ["core-all"],
    system_modules: "core-all-system-modules",
    dxflags: ["--core-library"],
    dex_preopt: {
        enabled: false,
    },
    notice: "ojluni/NOTICE",
    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"],
    system_modules: "core-all-system-modules",
    openjdk9: {
        javacflags: ["--patch-module=java.base=."],
    },

    notice: "ojluni/NOTICE",

    installable: false,
    include_srcs: true,
}

java_system_modules {
    name: "core-system-modules",
    libs: [
        "core-oj",
        "core-libart",
        "core-lambda-stubs",
    ],
}

// Build libcore test rules
java_library_static {
    name: "core-test-rules",
    hostdex: true,
    no_framework_libs: true,
    srcs: [
        "dalvik/test-rules/src/main/**/*.java",
        "test-rules/src/main/**/*.java",
    ],
    static_libs: ["junit"],
}

// Make the core-tests-support library.
java_library_static {
    name: "core-tests-support",
    hostdex: true,
    no_framework_libs: true,
    srcs: ["support/src/test/java/**/*.java"],
    libs: [
        "junit",
        "bouncycastle",
    ],
    static_libs: [
        "bouncycastle-bcpkix",
        "bouncycastle-ocsp",
    ],
}

// Make the jsr166-tests library.
java_library_static {
    name: "jsr166-tests",
    srcs: ["jsr166-tests/src/test/java/**/*.java"],
    no_framework_libs: true,
    libs: [
        "junit",
    ],
}

genrule {
    name: "gen-ojluni-jaif-annotated-srcs",
    tools: [
        "gen-annotated-java-files-bp",
        "soong_zip",
    ],
    tool_files: [
        ":insert-annotations-to-source",
        "annotations/ojluni.jaif",
    ],
    srcs: [
        ":annotated_ojluni_files",
    ],
    cmd: "($(location gen-annotated-java-files-bp) $(location annotations/ojluni.jaif) > $(genDir)/annotated_java_files.bp.tmp) && " +
         "(diff -u `pwd`/libcore/annotated_java_files.bp $(genDir)/annotated_java_files.bp.tmp || " +
         "(echo -e \"********************\" >&2; " +
         " echo -e \"annotated_java_files.bp needs regenerating. Please run:\" >&2; " +
         " echo -e \"libcore/annotations/generate_annotated_java_files.py libcore/annotations/ojluni.jaif > libcore/annotated_java_files.bp\" >&2; " +
         " echo -e \"********************\" >&2; exit 1) ) && " +
         "(rm $(genDir)/annotated_java_files.bp.tmp) && " +
         "(external/annotation-tools/annotation-file-utilities/scripts/insert-annotations-to-source -d $(genDir) $(location annotations/ojluni.jaif) $(in)) && " +
         "($(location soong_zip) -o $(out) -C $(genDir) -D $(genDir))",
    out: [
        "ojluni_jaif_annotated_srcs.srcjar",
    ],
}

//
// Local droiddoc for faster libcore testing
//
// Run with:
//     mm -j32 core-docs
//
// Main output:
//     ../out/soong/.intermediates/libcore/core-docs/android_common/docs/out/reference/packages.html
//
// All text for proofreading (or running tools over):
//     ../out/soong/.intermediates/libcore/core-docs/android_common/core-docs-proofread.txt
//
// TODO list of missing javadoc, etc:
//     ../out/soong/.intermediates/libcore/core-docs/android_common/docs/out/core-docs-todo.html
//
droiddoc {
    name: "core-docs",
    srcs: [
        ":openjdk_javadoc_files",
        ":non_openjdk_javadoc_files",
        ":android_icu4j_src_files_for_docs",
        ":gen-ojluni-jaif-annotated-srcs",
    ],
    exclude_srcs: [
        ":annotated_ojluni_files",
    ],
    custom_template: "droiddoc-templates-sdk",
    hdf: [
        "android.whichdoc offline",
    ],
    knowntags: [
        "known_oj_tags.txt",
    ],
    proofread_file: "core-docs-proofread.txt",
    todo_file: "core-docs-todo.html",
    args: "-offlinemode -title \"libcore\"",
}

filegroup {
    name: "known-oj-tags",
    srcs: [
        "known_oj_tags.txt",
    ],
}

droiddoc {
    name: "core-current-stubs-gen-docs",
    srcs: [
        ":openjdk_javadoc_files",
        ":non_openjdk_javadoc_files",
        ":android_icu4j_src_files_for_docs",
        ":gen-ojluni-jaif-annotated-srcs",
    ],
    exclude_srcs: [
        ":annotated_ojluni_files",
    ],
    custom_template: "droiddoc-templates-sdk",
    installable: false,
    no_framework_libs: true,
    args: "-nodocs",
}

java_library_static {
    name: "core.current.stubs",
    srcs: [
        ":core-current-stubs-gen-docs",
    ],
    errorprone: {
        javacflags: [
            "-Xep:MissingOverride:OFF",
        ],
    },
    no_standard_libs: true,
    system_modules: "none",
}
