Add support for a product name as well as title.

Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m all
Test: m systemlicense
Test: m htmlnotice; out/soong/host/linux-x85/htmlnotice ...
Test: m textnotice; out/soong/host/linux-x85/textnotice ...
Test: m xmlnotice; out/soong/host/linux-x85/xmlnotice ...

where ... is the path to the .meta_lic file for the system image. In my
case if

$ export PRODUCT=$(realpath $ANDROID_PRODUCT_OUT --relative-to=$PWD)

... can be expressed as:

${PRODUCT}/gen/META/lic_intermediates/${PRODUCT}/system.img.meta_lic

Change-Id: Id5b2ebe3752081e3a89bba1d717cf103f7846043
This commit is contained in:
Bob Badour
2022-02-04 14:49:01 -08:00
parent 339edb60d2
commit 49dd4f75ff
6 changed files with 22 additions and 9 deletions

View File

@@ -35,6 +35,7 @@ var (
outputFile = flag.String("o", "-", "Where to write the NOTICE text file. (default stdout)")
depsFile = flag.String("d", "", "Where to write the deps file")
includeTOC = flag.Bool("toc", true, "Whether to include a table of contents.")
product = flag.String("product", "", "The name of the product for which the notice is generated.")
stripPrefix = newMultiString("strip_prefix", "Prefix to remove from paths. i.e. path to root (multiple allowed)")
title = flag.String("title", "", "The title of the notice file.")
@@ -47,6 +48,7 @@ type context struct {
stderr io.Writer
rootFS fs.FS
includeTOC bool
product string
stripPrefix []string
title string
deps *[]string
@@ -57,7 +59,7 @@ func (ctx context) strip(installPath string) string {
if strings.HasPrefix(installPath, prefix) {
p := strings.TrimPrefix(installPath, prefix)
if 0 == len(p) {
p = ctx.title
p = ctx.product
}
if 0 == len(p) {
continue
@@ -139,7 +141,7 @@ func main() {
var deps []string
ctx := &context{ofile, os.Stderr, os.DirFS("."), *includeTOC, *stripPrefix, *title, &deps}
ctx := &context{ofile, os.Stderr, os.DirFS("."), *includeTOC, *product, *stripPrefix, *title, &deps}
err := htmlNotice(ctx, flag.Args()...)
if err != nil {
@@ -204,12 +206,16 @@ func htmlNotice(ctx *context, files ...string) error {
fmt.Fprintln(ctx.stdout, "</style>")
if 0 < len(ctx.title) {
fmt.Fprintf(ctx.stdout, "<title>%s</title>\n", html.EscapeString(ctx.title))
} else if 0 < len(ctx.product) {
fmt.Fprintf(ctx.stdout, "<title>%s</title>\n", html.EscapeString(ctx.product))
}
fmt.Fprintln(ctx.stdout, "</head>")
fmt.Fprintln(ctx.stdout, "<body>")
if 0 < len(ctx.title) {
fmt.Fprintf(ctx.stdout, " <h1>%s</h1>\n", html.EscapeString(ctx.title))
} else if 0 < len(ctx.product) {
fmt.Fprintf(ctx.stdout, " <h1>%s</h1>\n", html.EscapeString(ctx.product))
}
ids := make(map[string]string)
if ctx.includeTOC {