//
// Copyright (C) 2021 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: ["Android-Apache-2.0"],
}

blueprint_go_binary {
    name: "compliance_checkshare",
    srcs: ["cmd/checkshare/checkshare.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/checkshare/checkshare_test.go"],
}

blueprint_go_binary {
    name: "compliancenotice_bom",
    srcs: ["cmd/bom/bom.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/bom/bom_test.go"],
}

blueprint_go_binary {
    name: "compliancenotice_shippedlibs",
    srcs: ["cmd/shippedlibs/shippedlibs.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/shippedlibs/shippedlibs_test.go"],
}

blueprint_go_binary {
    name: "compliance_listshare",
    srcs: ["cmd/listshare/listshare.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/listshare/listshare_test.go"],
}

blueprint_go_binary {
    name: "compliance_dumpgraph",
    srcs: ["cmd/dumpgraph/dumpgraph.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/dumpgraph/dumpgraph_test.go"],
}

blueprint_go_binary {
    name: "compliance_dumpresolutions",
    srcs: ["cmd/dumpresolutions/dumpresolutions.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/dumpresolutions/dumpresolutions_test.go"],
}

blueprint_go_binary {
    name: "htmlnotice",
    srcs: ["cmd/htmlnotice/htmlnotice.go"],
    deps: [
        "compliance-module",
        "blueprint-deptools",
        "soong-response",
    ],
    testSrcs: ["cmd/htmlnotice/htmlnotice_test.go"],
}

blueprint_go_binary {
    name: "compliance_rtrace",
    srcs: ["cmd/rtrace/rtrace.go"],
    deps: [
        "compliance-module",
        "soong-response",
    ],
    testSrcs: ["cmd/rtrace/rtrace_test.go"],
}

blueprint_go_binary {
    name: "textnotice",
    srcs: ["cmd/textnotice/textnotice.go"],
    deps: [
        "compliance-module",
        "blueprint-deptools",
        "soong-response",
    ],
    testSrcs: ["cmd/textnotice/textnotice_test.go"],
}

blueprint_go_binary {
    name: "xmlnotice",
    srcs: ["cmd/xmlnotice/xmlnotice.go"],
    deps: [
        "compliance-module",
        "blueprint-deptools",
        "soong-response",
    ],
    testSrcs: ["cmd/xmlnotice/xmlnotice_test.go"],
}

bootstrap_go_package {
    name: "compliance-module",
    srcs: [
        "condition.go",
        "conditionset.go",
        "doc.go",
        "graph.go",
        "noticeindex.go",
        "policy_policy.go",
        "policy_resolve.go",
        "policy_resolvenotices.go",
        "policy_resolveshare.go",
        "policy_resolveprivacy.go",
        "policy_shareprivacyconflicts.go",
        "policy_shipped.go",
        "policy_walk.go",
        "readgraph.go",
        "resolution.go",
        "resolutionset.go",
    ],
    testSrcs: [
        "condition_test.go",
        "conditionset_test.go",
        "readgraph_test.go",
        "policy_policy_test.go",
        "policy_resolve_test.go",
        "policy_resolvenotices_test.go",
        "policy_resolveshare_test.go",
        "policy_resolveprivacy_test.go",
        "policy_shareprivacyconflicts_test.go",
        "policy_shipped_test.go",
        "policy_walk_test.go",
        "resolutionset_test.go",
        "test_util.go",
    ],
    deps: [
        "golang-protobuf-proto",
        "golang-protobuf-encoding-prototext",
        "license_metadata_proto",
    ],
    pkgPath: "android/soong/tools/compliance",
}
