aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--examples/src/server_licenses.golden8
-rw-r--r--examples/vendor/constant_gen/generated_code_licenses.golden4
-rw-r--r--rules/gather_licenses_info.bzl13
-rwxr-xr-xtests/hello_cc_copyrights.golden2
-rwxr-xr-xtests/hello_java_copyrights.golden2
-rw-r--r--tools/checker_demo.py6
6 files changed, 21 insertions, 14 deletions
diff --git a/examples/src/server_licenses.golden b/examples/src/server_licenses.golden
index f33c852..57df1b3 100644
--- a/examples/src/server_licenses.golden
+++ b/examples/src/server_licenses.golden
@@ -10,8 +10,8 @@
],
"copyright_notice": "",
"package_name": "Trivial Code Generator Output",
- "package_url": "<unknown>",
- "package_version": "<unknown>",
+ "package_url": null,
+ "package_version": null,
"license_text": "examples/vendor/constant_gen/LICENSE"
},
{
@@ -25,8 +25,8 @@
],
"copyright_notice": "",
"package_name": "",
- "package_url": "<unknown>",
- "package_version": "<unknown>",
+ "package_url": null,
+ "package_version": null,
"license_text": "examples/vendor/libhhgttg/LICENSE"
}
]
diff --git a/examples/vendor/constant_gen/generated_code_licenses.golden b/examples/vendor/constant_gen/generated_code_licenses.golden
index 5df6c87..6aef78a 100644
--- a/examples/vendor/constant_gen/generated_code_licenses.golden
+++ b/examples/vendor/constant_gen/generated_code_licenses.golden
@@ -10,8 +10,8 @@
],
"copyright_notice": "",
"package_name": "Trivial Code Generator Output",
- "package_url": "<unknown>",
- "package_version": "<unknown>",
+ "package_url": null,
+ "package_version": null,
"license_text": "examples/vendor/constant_gen/LICENSE"
}
]
diff --git a/rules/gather_licenses_info.bzl b/rules/gather_licenses_info.bzl
index 1b95b45..bd8c210 100644
--- a/rules/gather_licenses_info.bzl
+++ b/rules/gather_licenses_info.bzl
@@ -57,6 +57,11 @@ gather_licenses_info = aspect(
apply_to_generating_rules = True,
)
+def _quotes_or_null(s):
+ if not s:
+ return "null"
+ return '"%s"' % s
+
def write_licenses_info(ctx, deps, json_out):
"""Writes LicensesInfo providers for a set of targets as JSON.
@@ -93,8 +98,8 @@ def write_licenses_info(ctx, deps, json_out):
],
"copyright_notice": "{copyright_notice}",
"package_name": "{package_name}",
- "package_url": "{package_url}",
- "package_version": "{package_version}",
+ "package_url": {package_url},
+ "package_version": {package_version},
"license_text": "{license_text}"\n }}"""
kind_template = """
@@ -120,8 +125,8 @@ def write_licenses_info(ctx, deps, json_out):
rule = license.rule,
copyright_notice = license.copyright_notice,
package_name = license.package_name,
- package_url = license.package_url or "<unknown>",
- package_version = license.package_version or "<unknown>",
+ package_url = _quotes_or_null(license.package_url),
+ package_version = _quotes_or_null(license.package_version),
license_text = license.license_text.path,
kinds = ",\n".join(kinds),
))
diff --git a/tests/hello_cc_copyrights.golden b/tests/hello_cc_copyrights.golden
index 8dc3985..ac28bab 100755
--- a/tests/hello_cc_copyrights.golden
+++ b/tests/hello_cc_copyrights.golden
@@ -1 +1 @@
-package(A test case package), copyright(Copyright © 2019 Uncle Toasty)
+package(A test case package/0.0.4), copyright(Copyright © 2019 Uncle Toasty)
diff --git a/tests/hello_java_copyrights.golden b/tests/hello_java_copyrights.golden
index 9df37e5..0ba7362 100755
--- a/tests/hello_java_copyrights.golden
+++ b/tests/hello_java_copyrights.golden
@@ -1,2 +1,2 @@
-package(A test case package), copyright(Copyright © 2019 Uncle Toasty)
+package(A test case package/0.0.4), copyright(Copyright © 2019 Uncle Toasty)
package(A test case package), copyright()
diff --git a/tools/checker_demo.py b/tools/checker_demo.py
index 32ec5f9..73042aa 100644
--- a/tools/checker_demo.py
+++ b/tools/checker_demo.py
@@ -78,9 +78,11 @@ def _check_conditions(out, licenses, allowed_conditions):
def _do_copyright_notices(out, licenses):
for l in licenses:
+ name = l.get('package_name') or '<unknown>'
+ if l.get('package_version'):
+ name = name + "/" + l['package_version']
# IGNORE_COPYRIGHT: Not a copyright notice. It is a variable holding one.
- out.write('package(%s), copyright(%s)\n' % (l.get('package_name') or '<unknown>',
- l['copyright_notice']))
+ out.write('package(%s), copyright(%s)\n' % (name, l['copyright_notice']))
def _do_licenses(out, licenses):