aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Badour <bbadour@google.com>2022-02-09 02:06:05 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2022-02-09 02:06:05 +0000
commitbcb81e74fe61950e2d1a8820af031c0055113120 (patch)
tree000ecf57a1538d8e4717d8582b09a5e6777ecbb6
parenta95befe00807f3277b9b8d3895d927be13e5c18e (diff)
parent49dd4f75ffcfe04b03796ee145c8cf3900ee3885 (diff)
downloadbuild-bcb81e74fe61950e2d1a8820af031c0055113120.tar.gz
Merge "Add support for a product name as well as title."
-rw-r--r--tools/compliance/cmd/htmlnotice/htmlnotice.go10
-rw-r--r--tools/compliance/cmd/htmlnotice/htmlnotice_test.go2
-rw-r--r--tools/compliance/cmd/textnotice/textnotice.go9
-rw-r--r--tools/compliance/cmd/textnotice/textnotice_test.go2
-rw-r--r--tools/compliance/cmd/xmlnotice/xmlnotice.go6
-rw-r--r--tools/compliance/cmd/xmlnotice/xmlnotice_test.go2
6 files changed, 22 insertions, 9 deletions
diff --git a/tools/compliance/cmd/htmlnotice/htmlnotice.go b/tools/compliance/cmd/htmlnotice/htmlnotice.go
index 938bb7d472..0e3ba09321 100644
--- a/tools/compliance/cmd/htmlnotice/htmlnotice.go
+++ b/tools/compliance/cmd/htmlnotice/htmlnotice.go
@@ -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 {
diff --git a/tools/compliance/cmd/htmlnotice/htmlnotice_test.go b/tools/compliance/cmd/htmlnotice/htmlnotice_test.go
index 9863b6df23..b8bc47fb4d 100644
--- a/tools/compliance/cmd/htmlnotice/htmlnotice_test.go
+++ b/tools/compliance/cmd/htmlnotice/htmlnotice_test.go
@@ -651,7 +651,7 @@ func Test(t *testing.T) {
var deps []string
- ctx := context{stdout, stderr, os.DirFS("."), tt.includeTOC, []string{tt.stripPrefix}, tt.title, &deps}
+ ctx := context{stdout, stderr, os.DirFS("."), tt.includeTOC, "", []string{tt.stripPrefix}, tt.title, &deps}
err := htmlNotice(&ctx, rootFiles...)
if err != nil {
diff --git a/tools/compliance/cmd/textnotice/textnotice.go b/tools/compliance/cmd/textnotice/textnotice.go
index 35c5c24d60..9e9229f2bd 100644
--- a/tools/compliance/cmd/textnotice/textnotice.go
+++ b/tools/compliance/cmd/textnotice/textnotice.go
@@ -33,6 +33,7 @@ import (
var (
outputFile = flag.String("o", "-", "Where to write the NOTICE text file. (default stdout)")
depsFile = flag.String("d", "", "Where to write the deps file")
+ 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.")
@@ -44,6 +45,7 @@ type context struct {
stdout io.Writer
stderr io.Writer
rootFS fs.FS
+ product string
stripPrefix []string
title string
deps *[]string
@@ -54,7 +56,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
@@ -135,7 +137,7 @@ func main() {
var deps []string
- ctx := &context{ofile, os.Stderr, os.DirFS("."), *stripPrefix, *title, &deps}
+ ctx := &context{ofile, os.Stderr, os.DirFS("."), *product, *stripPrefix, *title, &deps}
err := textNotice(ctx, flag.Args()...)
if err != nil {
@@ -190,6 +192,9 @@ func textNotice(ctx *context, files ...string) error {
return fmt.Errorf("Unable to read license text file(s) for %q: %v\n", files, err)
}
+ if 0 < len(ctx.title) {
+ fmt.Fprintf(ctx.stdout, "%s\n\n", ctx.title)
+ }
for h := range ni.Hashes() {
fmt.Fprintln(ctx.stdout, "==============================================================================")
for _, libName := range ni.HashLibs(h) {
diff --git a/tools/compliance/cmd/textnotice/textnotice_test.go b/tools/compliance/cmd/textnotice/textnotice_test.go
index 0ed3394a18..9d8d0cabfc 100644
--- a/tools/compliance/cmd/textnotice/textnotice_test.go
+++ b/tools/compliance/cmd/textnotice/textnotice_test.go
@@ -564,7 +564,7 @@ func Test(t *testing.T) {
var deps []string
- ctx := context{stdout, stderr, os.DirFS("."), []string{tt.stripPrefix}, "", &deps}
+ ctx := context{stdout, stderr, os.DirFS("."), "", []string{tt.stripPrefix}, "", &deps}
err := textNotice(&ctx, rootFiles...)
if err != nil {
diff --git a/tools/compliance/cmd/xmlnotice/xmlnotice.go b/tools/compliance/cmd/xmlnotice/xmlnotice.go
index eb169f361f..1c712cbcc1 100644
--- a/tools/compliance/cmd/xmlnotice/xmlnotice.go
+++ b/tools/compliance/cmd/xmlnotice/xmlnotice.go
@@ -34,6 +34,7 @@ import (
var (
outputFile = flag.String("o", "-", "Where to write the NOTICE xml or xml.gz file. (default stdout)")
depsFile = flag.String("d", "", "Where to write the deps file")
+ 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.")
@@ -45,6 +46,7 @@ type context struct {
stdout io.Writer
stderr io.Writer
rootFS fs.FS
+ product string
stripPrefix []string
title string
deps *[]string
@@ -55,7 +57,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
@@ -137,7 +139,7 @@ func main() {
var deps []string
- ctx := &context{ofile, os.Stderr, os.DirFS("."), *stripPrefix, *title, &deps}
+ ctx := &context{ofile, os.Stderr, os.DirFS("."), *product, *stripPrefix, *title, &deps}
err := xmlNotice(ctx, flag.Args()...)
if err != nil {
diff --git a/tools/compliance/cmd/xmlnotice/xmlnotice_test.go b/tools/compliance/cmd/xmlnotice/xmlnotice_test.go
index 3a62438a64..424c95ea49 100644
--- a/tools/compliance/cmd/xmlnotice/xmlnotice_test.go
+++ b/tools/compliance/cmd/xmlnotice/xmlnotice_test.go
@@ -459,7 +459,7 @@ func Test(t *testing.T) {
var deps []string
- ctx := context{stdout, stderr, os.DirFS("."), []string{tt.stripPrefix}, "", &deps}
+ ctx := context{stdout, stderr, os.DirFS("."), "", []string{tt.stripPrefix}, "", &deps}
err := xmlNotice(&ctx, rootFiles...)
if err != nil {