// Copyright 2018 Google Inc. All rights reserved.
//
// 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.

package {
    default_applicable_licenses: ["external_dokka_license"],
}

// Added automatically by a large-scale-change
//
// large-scale-change included anything that looked like it might be a license
// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
//
// Please consider removing redundant or irrelevant files from 'license_text:'.
// See: http://go/android-license-faq
license {
    name: "external_dokka_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "LICENSE",
        "NOTICE",
    ],
}

java_binary_host {
    name: "dokka",
    srcs: [
        "core/src/main/**/*.kt",
        "runners/cli/**/*.kt",
        "integration/**/*.kt",
        "buildSrc/**/*.groovy"
    ],
    static_libs: [
      "dokka-tools-common-m2-deps",
    ],
    // Pin to Java 8 since dokka doesn't compile with the Java 9 module system
    // (it references packages under com.sun.tools.doclets which are not
    // exported from the jdk.javadoc module) (see b/140097603):
    java_version: "1.8",
    kotlincflags: ["-language-version 1.3 -api-version 1.3 -jvm-target 1.8"],
    use_tools_jar: true,
    java_resource_dirs: ["core/src/main/resources"],
}
