@@ -194,7 +194,7 @@ def generate_common_android_bp(self):
194
194
bpfile .write (self ._gen_license_package ())
195
195
for module in self ._modules_with_notice :
196
196
bpfile .write ('\n ' )
197
- bpfile .write (self ._gen_notice_filegroup (module ))
197
+ bpfile .write (self ._gen_notice_license (module ))
198
198
199
199
def generate_android_bp (self ):
200
200
"""Autogenerates Android.bp."""
@@ -301,10 +301,10 @@ def _gen_license_package(self):
301
301
ind = self .INDENT ,
302
302
version = self ._vndk_version ))
303
303
304
- def _get_license_kinds (self ):
304
+ def _get_license_kinds (self , license_text = '' ):
305
305
""" Returns a set of license kinds """
306
306
license_collector = collect_licenses .LicenseCollector (self ._install_dir )
307
- license_collector .run ()
307
+ license_collector .run (license_text )
308
308
return license_collector .license_kinds
309
309
310
310
def _gen_license (self ):
@@ -444,28 +444,39 @@ def _gen_prebuilt_library_shared(self, prebuilt_lib_info):
444
444
'}}\n ' .format (ind = self .INDENT ))
445
445
return cc_prebuilt_libraries
446
446
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.
449
449
450
450
Args:
451
451
notice: string, module name
452
452
"""
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 '
456
466
'}}\n ' .format (
457
467
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 ,
459
470
module = module ,
460
471
notice_dir = utils .NOTICE_FILES_DIR_NAME ))
461
472
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.
464
475
465
476
Args:
466
477
notice: string, module name.
467
478
"""
468
- return 'vndk-v{ver}-{module}-notice ' .format (
479
+ return 'vndk-v{ver}-{module}-license ' .format (
469
480
ver = self ._vndk_version , module = module )
470
481
471
482
def _gen_vndk_shared_prebuilts (self ,
@@ -544,9 +555,9 @@ def get_notice_file(prebuilts):
544
555
notice = ''
545
556
for prebuilt in prebuilts :
546
557
if prebuilt in self ._modules_with_notice :
547
- notice = '{ind}notice: ":{notice_filegroup}" ,\n ' .format (
558
+ notice = '{ind}licenses: ["{notice_license}"] ,\n ' .format (
548
559
ind = self .INDENT ,
549
- notice_filegroup = self ._get_notice_filegroup_name (prebuilt ))
560
+ notice_license = self ._get_notice_license_name (prebuilt ))
550
561
break
551
562
return notice
552
563
0 commit comments