diff options
-rw-r--r-- | examples/src/server_licenses.golden | 8 | ||||
-rw-r--r-- | examples/vendor/constant_gen/generated_code_licenses.golden | 4 | ||||
-rw-r--r-- | rules/gather_licenses_info.bzl | 13 | ||||
-rwxr-xr-x | tests/hello_cc_copyrights.golden | 2 | ||||
-rwxr-xr-x | tests/hello_java_copyrights.golden | 2 | ||||
-rw-r--r-- | tools/checker_demo.py | 6 |
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): |