From bd446662ddb749e35314dd3828f2bf06f4d48518 Mon Sep 17 00:00:00 2001 From: Michael Matloob Date: Wed, 23 Jul 2025 11:25:14 -0400 Subject: [PATCH] cmd/internal/doc: merge with cmd/go/internal/doc Now that cmd/doc has been removed, cmd/go/internal/doc is the only user of the cmd/internal/doc code. Merge cmd/internal/doc into cmd/go/internal/doc. For #74667 Change-Id: I16bbe7b1f418b54ee411c8d6e6609c0973e40b3e Reviewed-on: https://go-review.googlesource.com/c/go/+/689836 Reviewed-by: Michael Pratt Auto-Submit: Michael Matloob Reviewed-by: Michael Matloob LUCI-TryBot-Result: Go LUCI --- src/cmd/{ => go}/internal/doc/dirs.go | 2 ++ src/cmd/go/internal/doc/doc.go | 16 +++++++++++++--- src/cmd/{ => go}/internal/doc/doc_test.go | 6 +++--- src/cmd/{ => go}/internal/doc/main.go | 15 ++------------- src/cmd/{ => go}/internal/doc/pkg.go | 2 ++ src/cmd/{ => go}/internal/doc/signal_notunix.go | 0 src/cmd/{ => go}/internal/doc/signal_unix.go | 0 .../{ => go}/internal/doc/testdata/merge/aa.go | 0 .../{ => go}/internal/doc/testdata/merge/bb.go | 0 .../internal/doc/testdata/nested/empty/empty.go | 0 .../internal/doc/testdata/nested/ignore.go | 0 .../internal/doc/testdata/nested/nested/real.go | 0 src/cmd/{ => go}/internal/doc/testdata/pkg.go | 0 13 files changed, 22 insertions(+), 19 deletions(-) rename src/cmd/{ => go}/internal/doc/dirs.go (99%) rename src/cmd/{ => go}/internal/doc/doc_test.go (99%) rename src/cmd/{ => go}/internal/doc/main.go (97%) rename src/cmd/{ => go}/internal/doc/pkg.go (99%) rename src/cmd/{ => go}/internal/doc/signal_notunix.go (100%) rename src/cmd/{ => go}/internal/doc/signal_unix.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/merge/aa.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/merge/bb.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/nested/empty/empty.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/nested/ignore.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/nested/nested/real.go (100%) rename src/cmd/{ => go}/internal/doc/testdata/pkg.go (100%) diff --git a/src/cmd/internal/doc/dirs.go b/src/cmd/go/internal/doc/dirs.go similarity index 99% rename from src/cmd/internal/doc/dirs.go rename to src/cmd/go/internal/doc/dirs.go index 8b1670f61c..350c386587 100644 --- a/src/cmd/internal/doc/dirs.go +++ b/src/cmd/go/internal/doc/dirs.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !cmd_go_bootstrap + package doc import ( diff --git a/src/cmd/go/internal/doc/doc.go b/src/cmd/go/internal/doc/doc.go index 74c70e2c7a..ed3c191dc3 100644 --- a/src/cmd/go/internal/doc/doc.go +++ b/src/cmd/go/internal/doc/doc.go @@ -8,9 +8,12 @@ package doc import ( - "cmd/go/internal/base" - "cmd/internal/doc" "context" + "flag" + "log" + "os" + + "cmd/go/internal/base" ) var CmdDoc = &base.Command{ @@ -136,5 +139,12 @@ Flags: } func runDoc(ctx context.Context, cmd *base.Command, args []string) { - doc.Main(args) + log.SetFlags(0) + log.SetPrefix("doc: ") + dirsInit() + var flagSet flag.FlagSet + err := do(os.Stdout, &flagSet, args) + if err != nil { + log.Fatal(err) + } } diff --git a/src/cmd/internal/doc/doc_test.go b/src/cmd/go/internal/doc/doc_test.go similarity index 99% rename from src/cmd/internal/doc/doc_test.go rename to src/cmd/go/internal/doc/doc_test.go index bccace40c0..f91dcd658f 100644 --- a/src/cmd/internal/doc/doc_test.go +++ b/src/cmd/go/internal/doc/doc_test.go @@ -29,7 +29,7 @@ func TestMain(m *testing.M) { buildCtx.GOROOT = testenv.GOROOT(nil) build.Default.GOROOT = testenv.GOROOT(nil) - // Add $GOROOT/src/cmd/doc/testdata explicitly so we can access its contents in the test. + // Add $GOROOT/src/cmd/go/internal/doc/testdata explicitly so we can access its contents in the test. // Normally testdata directories are ignored, but sending it to dirs.scan directly is // a hack that works around the check. testdataDir, err := filepath.Abs("testdata") @@ -90,7 +90,7 @@ type test struct { no []string // Regular expressions that should not match. } -const p = "cmd/internal/doc/testdata" +const p = "cmd/go/internal/doc/testdata" var tests = []test{ // Sanity check. @@ -105,7 +105,7 @@ var tests = []test{ { "package clause", []string{p}, - []string{`package pkg.*cmd/internal/doc/testdata`}, + []string{`package pkg.*cmd/go/internal/doc/testdata`}, nil, }, diff --git a/src/cmd/internal/doc/main.go b/src/cmd/go/internal/doc/main.go similarity index 97% rename from src/cmd/internal/doc/main.go rename to src/cmd/go/internal/doc/main.go index d61f4379bd..ee04f017fc 100644 --- a/src/cmd/internal/doc/main.go +++ b/src/cmd/go/internal/doc/main.go @@ -2,7 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -// Package doc provides the implementation of the "go doc" subcommand and cmd/doc. +//go:build !cmd_go_bootstrap + package doc import ( @@ -53,18 +54,6 @@ func usage(flagSet *flag.FlagSet) { os.Exit(2) } -// Main is the entry point, invoked both by go doc and cmd/doc. -func Main(args []string) { - log.SetFlags(0) - log.SetPrefix("doc: ") - dirsInit() - var flagSet flag.FlagSet - err := do(os.Stdout, &flagSet, args) - if err != nil { - log.Fatal(err) - } -} - // do is the workhorse, broken out of main to make testing easier. func do(writer io.Writer, flagSet *flag.FlagSet, args []string) (err error) { flagSet.Usage = func() { usage(flagSet) } diff --git a/src/cmd/internal/doc/pkg.go b/src/cmd/go/internal/doc/pkg.go similarity index 99% rename from src/cmd/internal/doc/pkg.go rename to src/cmd/go/internal/doc/pkg.go index 953b0d9a28..989301d909 100644 --- a/src/cmd/internal/doc/pkg.go +++ b/src/cmd/go/internal/doc/pkg.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build !cmd_go_bootstrap + package doc import ( diff --git a/src/cmd/internal/doc/signal_notunix.go b/src/cmd/go/internal/doc/signal_notunix.go similarity index 100% rename from src/cmd/internal/doc/signal_notunix.go rename to src/cmd/go/internal/doc/signal_notunix.go diff --git a/src/cmd/internal/doc/signal_unix.go b/src/cmd/go/internal/doc/signal_unix.go similarity index 100% rename from src/cmd/internal/doc/signal_unix.go rename to src/cmd/go/internal/doc/signal_unix.go diff --git a/src/cmd/internal/doc/testdata/merge/aa.go b/src/cmd/go/internal/doc/testdata/merge/aa.go similarity index 100% rename from src/cmd/internal/doc/testdata/merge/aa.go rename to src/cmd/go/internal/doc/testdata/merge/aa.go diff --git a/src/cmd/internal/doc/testdata/merge/bb.go b/src/cmd/go/internal/doc/testdata/merge/bb.go similarity index 100% rename from src/cmd/internal/doc/testdata/merge/bb.go rename to src/cmd/go/internal/doc/testdata/merge/bb.go diff --git a/src/cmd/internal/doc/testdata/nested/empty/empty.go b/src/cmd/go/internal/doc/testdata/nested/empty/empty.go similarity index 100% rename from src/cmd/internal/doc/testdata/nested/empty/empty.go rename to src/cmd/go/internal/doc/testdata/nested/empty/empty.go diff --git a/src/cmd/internal/doc/testdata/nested/ignore.go b/src/cmd/go/internal/doc/testdata/nested/ignore.go similarity index 100% rename from src/cmd/internal/doc/testdata/nested/ignore.go rename to src/cmd/go/internal/doc/testdata/nested/ignore.go diff --git a/src/cmd/internal/doc/testdata/nested/nested/real.go b/src/cmd/go/internal/doc/testdata/nested/nested/real.go similarity index 100% rename from src/cmd/internal/doc/testdata/nested/nested/real.go rename to src/cmd/go/internal/doc/testdata/nested/nested/real.go diff --git a/src/cmd/internal/doc/testdata/pkg.go b/src/cmd/go/internal/doc/testdata/pkg.go similarity index 100% rename from src/cmd/internal/doc/testdata/pkg.go rename to src/cmd/go/internal/doc/testdata/pkg.go -- 2.51.0