Share EffectiveLicenseFiles for snapshot modules
License files must be captured with the snapshot modules. NoticeFiles does not have the information provided by the `license` module. Reading the `Effective_license_text`, snapshot includes the required license files. Bug: 190690041 Test: build check the NOTICE files built from snapshots Change-Id: I96c4579b4bef484cbb39fc06c707742a02a2b90b
This commit is contained in:
@@ -473,6 +473,7 @@ type Module interface {
|
|||||||
InitRc() Paths
|
InitRc() Paths
|
||||||
VintfFragments() Paths
|
VintfFragments() Paths
|
||||||
NoticeFiles() Paths
|
NoticeFiles() Paths
|
||||||
|
EffectiveLicenseFiles() Paths
|
||||||
|
|
||||||
AddProperties(props ...interface{})
|
AddProperties(props ...interface{})
|
||||||
GetProperties() []interface{}
|
GetProperties() []interface{}
|
||||||
@@ -1505,6 +1506,10 @@ func (m *ModuleBase) ExportedToMake() bool {
|
|||||||
return m.commonProperties.NamespaceExportedToMake
|
return m.commonProperties.NamespaceExportedToMake
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *ModuleBase) EffectiveLicenseFiles() Paths {
|
||||||
|
return m.commonProperties.Effective_license_text
|
||||||
|
}
|
||||||
|
|
||||||
// computeInstallDeps finds the installed paths of all dependencies that have a dependency
|
// computeInstallDeps finds the installed paths of all dependencies that have a dependency
|
||||||
// tag that is annotated as needing installation via the IsInstallDepNeeded method.
|
// tag that is annotated as needing installation via the IsInstallDepNeeded method.
|
||||||
func (m *ModuleBase) computeInstallDeps(ctx ModuleContext) ([]*installPathsDepSet, []*packagingSpecsDepSet) {
|
func (m *ModuleBase) computeInstallDeps(ctx ModuleContext) ([]*installPathsDepSet, []*packagingSpecsDepSet) {
|
||||||
|
@@ -88,6 +88,9 @@ type Snapshottable interface {
|
|||||||
// SnapshotLibrary returns true if this module is a snapshot library.
|
// SnapshotLibrary returns true if this module is a snapshot library.
|
||||||
IsSnapshotLibrary() bool
|
IsSnapshotLibrary() bool
|
||||||
|
|
||||||
|
// EffectiveLicenseFiles returns the list of License files for this module.
|
||||||
|
EffectiveLicenseFiles() android.Paths
|
||||||
|
|
||||||
// SnapshotRuntimeLibs returns a list of libraries needed by this module at runtime but which aren't build dependencies.
|
// SnapshotRuntimeLibs returns a list of libraries needed by this module at runtime but which aren't build dependencies.
|
||||||
SnapshotRuntimeLibs() []string
|
SnapshotRuntimeLibs() []string
|
||||||
|
|
||||||
|
@@ -501,13 +501,13 @@ func (c *snapshotSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
|||||||
headers = append(headers, m.SnapshotHeaders()...)
|
headers = append(headers, m.SnapshotHeaders()...)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(m.NoticeFiles()) > 0 {
|
if len(m.EffectiveLicenseFiles()) > 0 {
|
||||||
noticeName := ctx.ModuleName(m) + ".txt"
|
noticeName := ctx.ModuleName(m) + ".txt"
|
||||||
noticeOut := filepath.Join(noticeDir, noticeName)
|
noticeOut := filepath.Join(noticeDir, noticeName)
|
||||||
// skip already copied notice file
|
// skip already copied notice file
|
||||||
if !installedNotices[noticeOut] {
|
if !installedNotices[noticeOut] {
|
||||||
installedNotices[noticeOut] = true
|
installedNotices[noticeOut] = true
|
||||||
snapshotOutputs = append(snapshotOutputs, combineNoticesRule(ctx, m.NoticeFiles(), noticeOut))
|
snapshotOutputs = append(snapshotOutputs, combineNoticesRule(ctx, m.EffectiveLicenseFiles(), noticeOut))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Reference in New Issue
Block a user