From 9942deded1f6ded8ae22742ea042726069738744 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Tue, 18 Jul 2023 14:50:03 -0700 Subject: [PATCH] plans: Move "planproto" up to toplevel The Go package containing the generated stubs for the plan file format's protobuf messages was previously nestled as an internal package under "plans", making it importable only for source files under "plans". To avoid duplicating various message types into the new "stack plan" serialization, we'll now make this package internal to the whole of this codebase rather than just to "plans", and then have the stack data protocol buffers schema import it to reuse the same message types. --- internal/plans/planfile/tfplan.go | 2 +- internal/plans/{internal => }/planproto/doc.go | 0 internal/plans/{internal => }/planproto/planfile.pb.go | 7 +++---- internal/plans/{internal => }/planproto/planfile.proto | 2 +- tools/protobuf-compile/protobuf-compile.go | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) rename internal/plans/{internal => }/planproto/doc.go (100%) rename internal/plans/{internal => }/planproto/planfile.pb.go (99%) rename internal/plans/{internal => }/planproto/planfile.proto (99%) diff --git a/internal/plans/planfile/tfplan.go b/internal/plans/planfile/tfplan.go index 49712fd1db..42a1b082b7 100644 --- a/internal/plans/planfile/tfplan.go +++ b/internal/plans/planfile/tfplan.go @@ -17,7 +17,7 @@ import ( "github.com/hashicorp/terraform/internal/lang/globalref" "github.com/hashicorp/terraform/internal/lang/marks" "github.com/hashicorp/terraform/internal/plans" - "github.com/hashicorp/terraform/internal/plans/internal/planproto" + "github.com/hashicorp/terraform/internal/plans/planproto" "github.com/hashicorp/terraform/internal/states" "github.com/hashicorp/terraform/version" ) diff --git a/internal/plans/internal/planproto/doc.go b/internal/plans/planproto/doc.go similarity index 100% rename from internal/plans/internal/planproto/doc.go rename to internal/plans/planproto/doc.go diff --git a/internal/plans/internal/planproto/planfile.pb.go b/internal/plans/planproto/planfile.pb.go similarity index 99% rename from internal/plans/internal/planproto/planfile.pb.go rename to internal/plans/planproto/planfile.pb.go index 59d431edfc..f474fcaca4 100644 --- a/internal/plans/internal/planproto/planfile.pb.go +++ b/internal/plans/planproto/planfile.pb.go @@ -1538,12 +1538,11 @@ var file_planfile_proto_rawDesc = []byte{ 0x41, 0x55, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x42, 0x45, 0x43, 0x41, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x4f, 0x5f, 0x4d, 0x4f, 0x56, 0x45, 0x5f, 0x54, 0x41, - 0x52, 0x47, 0x45, 0x54, 0x10, 0x0c, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x52, 0x47, 0x45, 0x54, 0x10, 0x0c, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x74, 0x65, 0x72, 0x72, 0x61, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6c, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/plans/internal/planproto/planfile.proto b/internal/plans/planproto/planfile.proto similarity index 99% rename from internal/plans/internal/planproto/planfile.proto rename to internal/plans/planproto/planfile.proto index b884faff56..9472f5996d 100644 --- a/internal/plans/internal/planproto/planfile.proto +++ b/internal/plans/planproto/planfile.proto @@ -6,7 +6,7 @@ package tfplan; // For Terraform's own parsing, the proto stub types go into an internal Go // package. The public API is in github.com/hashicorp/terraform/plans/planfile . -option go_package = "github.com/hashicorp/terraform/internal/plans/internal/planproto"; +option go_package = "github.com/hashicorp/terraform/internal/plans/planproto"; // Plan is the root message type for the tfplan file message Plan { diff --git a/tools/protobuf-compile/protobuf-compile.go b/tools/protobuf-compile/protobuf-compile.go index ff0b43180b..b37e8caf52 100644 --- a/tools/protobuf-compile/protobuf-compile.go +++ b/tools/protobuf-compile/protobuf-compile.go @@ -60,7 +60,7 @@ var protocSteps = []protocStep{ }, { "tfplan (plan file serialization)", - "internal/plans/internal/planproto", + "internal/plans/planproto", []string{"--go_out=paths=source_relative:.", "planfile.proto"}, }, {