Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit b30de65

Browse files
bbadourGerrit Code Review
authored and
Gerrit Code Review
committed
Merge "Replace obsolete notice property with licenses"
2 parents 4b914d2 + 4669788 commit b30de65

File tree

2 files changed

+33
-18
lines changed

2 files changed

+33
-18
lines changed

vndk/snapshot/collect_licenses.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,16 @@ def read_and_check_dir_for_licenses(self, path):
9595
if self.read_and_check_licenses(file_string, RESTRICTED_LICENSE_KEYWORDS):
9696
self.restricted.add(f)
9797

98-
def run(self):
98+
def run(self, license_text=''):
9999
""" search licenses in vndk snapshots
100100
"""
101-
for path in self._paths_to_check:
102-
logging.info('Reading {}'.format(path))
103-
self.read_and_check_dir_for_licenses(path)
101+
if license_text == '':
102+
for path in self._paths_to_check:
103+
logging.info('Reading {}'.format(path))
104+
self.read_and_check_dir_for_licenses(path)
105+
else:
106+
logging.info('Reading {}'.format(license_text))
107+
self.read_and_check_dir_for_licenses(license_text)
104108
self.license_kinds.update(LICENSE_INCLUDE)
105109

106110
def get_args():

vndk/snapshot/gen_buildfiles.py

+25-14
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ def generate_common_android_bp(self):
194194
bpfile.write(self._gen_license_package())
195195
for module in self._modules_with_notice:
196196
bpfile.write('\n')
197-
bpfile.write(self._gen_notice_filegroup(module))
197+
bpfile.write(self._gen_notice_license(module))
198198

199199
def generate_android_bp(self):
200200
"""Autogenerates Android.bp."""
@@ -301,10 +301,10 @@ def _gen_license_package(self):
301301
ind=self.INDENT,
302302
version=self._vndk_version))
303303

304-
def _get_license_kinds(self):
304+
def _get_license_kinds(self, license_text=''):
305305
""" Returns a set of license kinds """
306306
license_collector = collect_licenses.LicenseCollector(self._install_dir)
307-
license_collector.run()
307+
license_collector.run(license_text)
308308
return license_collector.license_kinds
309309

310310
def _gen_license(self):
@@ -444,28 +444,39 @@ def _gen_prebuilt_library_shared(self, prebuilt_lib_info):
444444
'}}\n'.format(ind=self.INDENT))
445445
return cc_prebuilt_libraries
446446

447-
def _gen_notice_filegroup(self, module):
448-
"""Generates a notice filegroup build rule for a given module.
447+
def _gen_notice_license(self, module):
448+
"""Generates a notice license build rule for a given module.
449449
450450
Args:
451451
notice: string, module name
452452
"""
453-
return ('filegroup {{\n'
454-
'{ind}name: "{filegroup_name}",\n'
455-
'{ind}srcs: ["{notice_dir}/{module}.txt"],\n'
453+
license_kinds = self._get_license_kinds('{notice_dir}/{module}.txt'.format(
454+
notice_dir=utils.NOTICE_FILES_DIR_NAME,
455+
module=module))
456+
license_kinds_string = ''
457+
for license_kind in sorted(license_kinds):
458+
license_kinds_string += '{ind}{ind}"{license_kind}",\n'.format(
459+
ind=self.INDENT, license_kind=license_kind)
460+
return ('license {{\n'
461+
'{ind}name: "{license_name}",\n'
462+
'{ind}license_kinds: [\n'
463+
'{license_kinds}'
464+
'{ind}],\n'
465+
'{ind}license_text: ["{notice_dir}/{module}.txt"],\n'
456466
'}}\n'.format(
457467
ind=self.INDENT,
458-
filegroup_name=self._get_notice_filegroup_name(module),
468+
license_name=self._get_notice_license_name(module),
469+
license_kinds=license_kinds_string,
459470
module=module,
460471
notice_dir=utils.NOTICE_FILES_DIR_NAME))
461472

462-
def _get_notice_filegroup_name(self, module):
463-
""" Gets a notice filegroup module name for a given module.
473+
def _get_notice_license_name(self, module):
474+
""" Gets a notice license module name for a given module.
464475
465476
Args:
466477
notice: string, module name.
467478
"""
468-
return 'vndk-v{ver}-{module}-notice'.format(
479+
return 'vndk-v{ver}-{module}-license'.format(
469480
ver=self._vndk_version, module=module)
470481

471482
def _gen_vndk_shared_prebuilts(self,
@@ -544,9 +555,9 @@ def get_notice_file(prebuilts):
544555
notice = ''
545556
for prebuilt in prebuilts:
546557
if prebuilt in self._modules_with_notice:
547-
notice = '{ind}notice: ":{notice_filegroup}",\n'.format(
558+
notice = '{ind}licenses: ["{notice_license}"],\n'.format(
548559
ind=self.INDENT,
549-
notice_filegroup=self._get_notice_filegroup_name(prebuilt))
560+
notice_license=self._get_notice_license_name(prebuilt))
550561
break
551562
return notice
552563

0 commit comments

Comments
 (0)