// Copyright (C) 2022 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.

package {
    default_applicable_licenses: ["external_gson_license"],
}

license {
    name: "external_gson_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "LICENSE",
    ],
}

java_library {
    name: "gson",
    host_supported: true,
    srcs: [
        "gson/src/main/java/com/google/gson/**/*.java",
        ":GsonBuildConfig.java",
    ],
    sdk_version: "current",
}

python_binary_host {
    name: "gson_version_generator",
    main: "version_generator.py",
    srcs: ["version_generator.py"],
}

genrule {
    name: "GsonBuildConfig.java",
    srcs: [
        "gson/src/main/java-templates/com/google/gson/internal/GsonBuildConfig.java",
        "pom.xml",
    ],
    out: ["com/google/gson/internal/GsonBuildConfig.java"],
    cmd: "$(location gson_version_generator) $(in) > $(out)",
    tools: ["gson_version_generator"],
}
