Fix strip_prefix flags to strip install paths.
Bug: 235331488 Test: m droid dist Change-Id: I3cd2af5d90e46a4c983728bc9b2d941d6ffda229
This commit is contained in:
@@ -67,7 +67,12 @@ func (s *genNoticeBuildRules) GenerateBuildActions(ctx SingletonContext) {
|
|||||||
if ctx.Failed() {
|
if ctx.Failed() {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
out(ctx, gm.output, ctx.ModuleName(gm), proptools.StringDefault(gm.properties.ArtifactName, defaultName), "", modules...)
|
out(ctx, gm.output, ctx.ModuleName(gm),
|
||||||
|
proptools.StringDefault(gm.properties.ArtifactName, defaultName),
|
||||||
|
[]string{
|
||||||
|
ctx.Config().OutDir() + "/",
|
||||||
|
ctx.Config().SoongOutDir() + "/",
|
||||||
|
}, modules...)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -47,7 +47,9 @@ func modulesLicenseMetadata(ctx BuilderContext, modules ...Module) Paths {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// buildNoticeOutputFromLicenseMetadata writes out a notice file.
|
// buildNoticeOutputFromLicenseMetadata writes out a notice file.
|
||||||
func buildNoticeOutputFromLicenseMetadata(ctx BuilderContext, tool, ruleName string, outputFile WritablePath, libraryName, stripPrefix string, modules ...Module) {
|
func buildNoticeOutputFromLicenseMetadata(
|
||||||
|
ctx BuilderContext, tool, ruleName string, outputFile WritablePath,
|
||||||
|
libraryName string, stripPrefix []string, modules ...Module) {
|
||||||
depsFile := outputFile.ReplaceExtension(ctx, strings.TrimPrefix(outputFile.Ext()+".d", "."))
|
depsFile := outputFile.ReplaceExtension(ctx, strings.TrimPrefix(outputFile.Ext()+".d", "."))
|
||||||
rule := NewRuleBuilder(pctx, ctx)
|
rule := NewRuleBuilder(pctx, ctx)
|
||||||
if len(modules) == 0 {
|
if len(modules) == 0 {
|
||||||
@@ -64,8 +66,8 @@ func buildNoticeOutputFromLicenseMetadata(ctx BuilderContext, tool, ruleName str
|
|||||||
BuiltTool(tool).
|
BuiltTool(tool).
|
||||||
FlagWithOutput("-o ", outputFile).
|
FlagWithOutput("-o ", outputFile).
|
||||||
FlagWithDepFile("-d ", depsFile)
|
FlagWithDepFile("-d ", depsFile)
|
||||||
if stripPrefix != "" {
|
if len(stripPrefix) > 0 {
|
||||||
cmd = cmd.FlagWithArg("--strip_prefix ", stripPrefix)
|
cmd = cmd.FlagForEachArg("--strip_prefix ", stripPrefix)
|
||||||
}
|
}
|
||||||
outputs := modulesOutputDirs(ctx, modules...)
|
outputs := modulesOutputDirs(ctx, modules...)
|
||||||
if len(outputs) > 0 {
|
if len(outputs) > 0 {
|
||||||
@@ -81,20 +83,29 @@ func buildNoticeOutputFromLicenseMetadata(ctx BuilderContext, tool, ruleName str
|
|||||||
// BuildNoticeTextOutputFromLicenseMetadata writes out a notice text file based
|
// BuildNoticeTextOutputFromLicenseMetadata writes out a notice text file based
|
||||||
// on the license metadata files for the input `modules` defaulting to the
|
// on the license metadata files for the input `modules` defaulting to the
|
||||||
// current context module if none given.
|
// current context module if none given.
|
||||||
func BuildNoticeTextOutputFromLicenseMetadata(ctx BuilderContext, outputFile WritablePath, ruleName, libraryName, stripPrefix string, modules ...Module) {
|
func BuildNoticeTextOutputFromLicenseMetadata(
|
||||||
buildNoticeOutputFromLicenseMetadata(ctx, "textnotice", "text_notice_"+ruleName, outputFile, libraryName, stripPrefix, modules...)
|
ctx BuilderContext, outputFile WritablePath, ruleName, libraryName string,
|
||||||
|
stripPrefix []string, modules ...Module) {
|
||||||
|
buildNoticeOutputFromLicenseMetadata(ctx, "textnotice", "text_notice_"+ruleName,
|
||||||
|
outputFile, libraryName, stripPrefix, modules...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildNoticeHtmlOutputFromLicenseMetadata writes out a notice text file based
|
// BuildNoticeHtmlOutputFromLicenseMetadata writes out a notice text file based
|
||||||
// on the license metadata files for the input `modules` defaulting to the
|
// on the license metadata files for the input `modules` defaulting to the
|
||||||
// current context module if none given.
|
// current context module if none given.
|
||||||
func BuildNoticeHtmlOutputFromLicenseMetadata(ctx BuilderContext, outputFile WritablePath, ruleName, libraryName, stripPrefix string, modules ...Module) {
|
func BuildNoticeHtmlOutputFromLicenseMetadata(
|
||||||
buildNoticeOutputFromLicenseMetadata(ctx, "htmlnotice", "html_notice_"+ruleName, outputFile, libraryName, stripPrefix, modules...)
|
ctx BuilderContext, outputFile WritablePath, ruleName, libraryName string,
|
||||||
|
stripPrefix []string, modules ...Module) {
|
||||||
|
buildNoticeOutputFromLicenseMetadata(ctx, "htmlnotice", "html_notice_"+ruleName,
|
||||||
|
outputFile, libraryName, stripPrefix, modules...)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildNoticeXmlOutputFromLicenseMetadata writes out a notice text file based
|
// BuildNoticeXmlOutputFromLicenseMetadata writes out a notice text file based
|
||||||
// on the license metadata files for the input `modules` defaulting to the
|
// on the license metadata files for the input `modules` defaulting to the
|
||||||
// current context module if none given.
|
// current context module if none given.
|
||||||
func BuildNoticeXmlOutputFromLicenseMetadata(ctx BuilderContext, outputFile WritablePath, ruleName, libraryName, stripPrefix string, modules ...Module) {
|
func BuildNoticeXmlOutputFromLicenseMetadata(
|
||||||
buildNoticeOutputFromLicenseMetadata(ctx, "xmlnotice", "xml_notice_"+ruleName, outputFile, libraryName, stripPrefix, modules...)
|
ctx BuilderContext, outputFile WritablePath, ruleName, libraryName string,
|
||||||
|
stripPrefix []string, modules ...Module) {
|
||||||
|
buildNoticeOutputFromLicenseMetadata(ctx, "xmlnotice", "xml_notice_"+ruleName,
|
||||||
|
outputFile, libraryName, stripPrefix, modules...)
|
||||||
}
|
}
|
||||||
|
@@ -124,7 +124,12 @@ func (s *sdkRepoHost) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
s.CopySpecsToDir(ctx, builder, packageSpecs, dir)
|
s.CopySpecsToDir(ctx, builder, packageSpecs, dir)
|
||||||
|
|
||||||
noticeFile := android.PathForModuleOut(ctx, "NOTICES.txt")
|
noticeFile := android.PathForModuleOut(ctx, "NOTICES.txt")
|
||||||
android.BuildNoticeTextOutputFromLicenseMetadata(ctx, noticeFile, "", "", outputZipFile.String())
|
android.BuildNoticeTextOutputFromLicenseMetadata(
|
||||||
|
ctx, noticeFile, "", "",
|
||||||
|
[]string{
|
||||||
|
android.PathForModuleInstall(ctx, "sdk-repo").String() + "/",
|
||||||
|
outputZipFile.String(),
|
||||||
|
})
|
||||||
builder.Command().Text("cp").
|
builder.Command().Text("cp").
|
||||||
Input(noticeFile).
|
Input(noticeFile).
|
||||||
Text(filepath.Join(dir.String(), "NOTICE.txt"))
|
Text(filepath.Join(dir.String(), "NOTICE.txt"))
|
||||||
|
@@ -618,7 +618,12 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
|
|||||||
|
|
||||||
// Create a NOTICE file, and embed it as an asset file in the APEX.
|
// Create a NOTICE file, and embed it as an asset file in the APEX.
|
||||||
a.htmlGzNotice = android.PathForModuleOut(ctx, "NOTICE.html.gz")
|
a.htmlGzNotice = android.PathForModuleOut(ctx, "NOTICE.html.gz")
|
||||||
android.BuildNoticeHtmlOutputFromLicenseMetadata(ctx, a.htmlGzNotice, "", "", unsignedOutputFile.String())
|
android.BuildNoticeHtmlOutputFromLicenseMetadata(
|
||||||
|
ctx, a.htmlGzNotice, "", "",
|
||||||
|
[]string{
|
||||||
|
android.PathForModuleInstall(ctx).String() + "/",
|
||||||
|
android.PathForModuleInPartitionInstall(ctx, "apex").String() + "/",
|
||||||
|
})
|
||||||
noticeAssetPath := android.PathForModuleOut(ctx, "NOTICE", "NOTICE.html.gz")
|
noticeAssetPath := android.PathForModuleOut(ctx, "NOTICE", "NOTICE.html.gz")
|
||||||
builder := android.NewRuleBuilder(pctx, ctx)
|
builder := android.NewRuleBuilder(pctx, ctx)
|
||||||
builder.Command().Text("cp").
|
builder.Command().Text("cp").
|
||||||
|
@@ -656,7 +656,13 @@ func (a *AndroidApp) generateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
|
|
||||||
if Bool(a.appProperties.Embed_notices) || ctx.Config().IsEnvTrue("ALWAYS_EMBED_NOTICES") {
|
if Bool(a.appProperties.Embed_notices) || ctx.Config().IsEnvTrue("ALWAYS_EMBED_NOTICES") {
|
||||||
noticeFile := android.PathForModuleOut(ctx, "NOTICE.html.gz")
|
noticeFile := android.PathForModuleOut(ctx, "NOTICE.html.gz")
|
||||||
android.BuildNoticeHtmlOutputFromLicenseMetadata(ctx, noticeFile, "", "", a.outputFile.String())
|
android.BuildNoticeHtmlOutputFromLicenseMetadata(
|
||||||
|
ctx, noticeFile, "", "",
|
||||||
|
[]string{
|
||||||
|
a.installDir.String() + "/",
|
||||||
|
android.PathForModuleInstall(ctx).String() + "/",
|
||||||
|
a.outputFile.String(),
|
||||||
|
})
|
||||||
noticeAssetPath := android.PathForModuleOut(ctx, "NOTICE", "NOTICE.html.gz")
|
noticeAssetPath := android.PathForModuleOut(ctx, "NOTICE", "NOTICE.html.gz")
|
||||||
builder := android.NewRuleBuilder(pctx, ctx)
|
builder := android.NewRuleBuilder(pctx, ctx)
|
||||||
builder.Command().Text("cp").
|
builder.Command().Text("cp").
|
||||||
|
Reference in New Issue
Block a user