6dd0035e04
package to read, consume, and analyze license metadata and dependency graph. Includes the below command-line tools: listshare outputs csv of projects to share to meet restricted and reciprocal license requirements with one project per line. The first field is the path to the project, and subsequent fields identify the license resolutions as colon-separated target:annotations tuples. checkshare outputs error messages to stderr for any targets where policy dictates both sharing and not sharing the source-code, and PASS or FAIL to stdout. exit status indicates success 0 or conflict found 1 Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Test: m systemlicense Test: m listshare; out/soong/host/linux-x86/bin/listshare ... Test: m checkshare; out/soong/host/linux-x86/bin/checkshare ... Test: m dumpgraph; out/soong/host/linux-x86/dumpgraph ... Test: m dumpresolutions; out/soong/host/linux-x86/dumpresolutions ... where ... is the path to the .meta_lic file for the system image. In my case if $ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD) ... can be expressed as: ${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic Change-Id: I4ff3f98848f7e6d03a35734300d763ef5f245d53
88 lines
2.4 KiB
Text
88 lines
2.4 KiB
Text
//
|
|
// 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: "checkshare",
|
|
srcs: ["cmd/checkshare.go"],
|
|
deps: ["compliance-module"],
|
|
testSrcs: ["cmd/checkshare_test.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "listshare",
|
|
srcs: ["cmd/listshare.go"],
|
|
deps: ["compliance-module"],
|
|
testSrcs: ["cmd/listshare_test.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "dumpgraph",
|
|
srcs: ["cmd/dumpgraph.go"],
|
|
deps: ["compliance-module"],
|
|
testSrcs: ["cmd/dumpgraph_test.go"],
|
|
}
|
|
|
|
blueprint_go_binary {
|
|
name: "dumpresolutions",
|
|
srcs: ["cmd/dumpresolutions.go"],
|
|
deps: ["compliance-module"],
|
|
testSrcs: ["cmd/dumpresolutions_test.go"],
|
|
}
|
|
|
|
bootstrap_go_package {
|
|
name: "compliance-module",
|
|
srcs: [
|
|
"actionset.go",
|
|
"condition.go",
|
|
"conditionset.go",
|
|
"graph.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: "compliance",
|
|
}
|