diff --git a/builder/amazon/common/step_run_spot_instance_test.go b/builder/amazon/common/step_run_spot_instance_test.go index 44c93ed2a..cc5b8d6f5 100644 --- a/builder/amazon/common/step_run_spot_instance_test.go +++ b/builder/amazon/common/step_run_spot_instance_test.go @@ -9,7 +9,6 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" "github.com/aws/aws-sdk-go/service/ec2/ec2iface" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/communicator" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" @@ -240,7 +239,7 @@ func TestRun(t *testing.T) { volumeId := aws.String("volume-id") ec2Mock := defaultEc2Mock(instanceId, spotRequestId, volumeId) - uiMock := packer.TestUi(t) + uiMock := packersdk.TestUi(t) state := tStateSpot() state.Put("ec2", ec2Mock) @@ -332,7 +331,7 @@ func TestRun_NoSpotTags(t *testing.T) { volumeId := aws.String("volume-id") ec2Mock := defaultEc2Mock(instanceId, spotRequestId, volumeId) - uiMock := packer.TestUi(t) + uiMock := packersdk.TestUi(t) state := tStateSpot() state.Put("ec2", ec2Mock) diff --git a/builder/amazon/ebs/acceptance/builder_acceptance.go b/builder/amazon/ebs/acceptance/builder_acceptance.go index 5956e5c9a..67097fbc3 100644 --- a/builder/amazon/ebs/acceptance/builder_acceptance.go +++ b/builder/amazon/ebs/acceptance/builder_acceptance.go @@ -11,7 +11,6 @@ import ( amazonebsbuilder "github.com/hashicorp/packer/builder/amazon/ebs" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" testshelper "github.com/hashicorp/packer/helper/tests" @@ -55,8 +54,8 @@ func (s *AmazonEBSAccTest) CleanUp() error { return helper.CleanUpAmi() } -func (s *AmazonEBSAccTest) GetBuilderStore() packer.MapOfBuilder { - return packer.MapOfBuilder{ +func (s *AmazonEBSAccTest) GetBuilderStore() packersdk.MapOfBuilder { + return packersdk.MapOfBuilder{ "amazon-ebs": func() (packersdk.Builder, error) { return &amazonebsbuilder.Builder{}, nil }, } } diff --git a/builder/azure/chroot/step_create_image_test.go b/builder/azure/chroot/step_create_image_test.go index 4bb32e9cd..5873e228f 100644 --- a/builder/azure/chroot/step_create_image_test.go +++ b/builder/azure/chroot/step_create_image_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" @@ -116,7 +116,7 @@ func TestStepCreateImage_Run(t *testing.T) { state.Put("azureclient", &client.AzureClientSetMock{ ImagesClientMock: ic, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put(stateBagKey_Diskset, tt.diskset) t.Run(tt.name, func(t *testing.T) { diff --git a/builder/azure/chroot/step_create_new_diskset_test.go b/builder/azure/chroot/step_create_new_diskset_test.go index f85ea0d1f..a76685e87 100644 --- a/builder/azure/chroot/step_create_new_diskset_test.go +++ b/builder/azure/chroot/step_create_new_diskset_test.go @@ -10,8 +10,8 @@ import ( "testing" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" @@ -224,7 +224,7 @@ func TestStepCreateNewDisk_Run(t *testing.T) { DisksClientMock: m, GalleryImageVersionsClientMock: giv, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) if got := s.Run(context.TODO(), state); !reflect.DeepEqual(got, tt.want) { t.Errorf("StepCreateNewDisk.Run() = %v, want %v", got, tt.want) diff --git a/builder/azure/chroot/step_create_shared_image_version_test.go b/builder/azure/chroot/step_create_shared_image_version_test.go index e08265a41..5983ca41e 100644 --- a/builder/azure/chroot/step_create_shared_image_version_test.go +++ b/builder/azure/chroot/step_create_shared_image_version_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" @@ -126,7 +126,7 @@ func TestStepCreateSharedImageVersion_Run(t *testing.T) { state.Put("azureclient", &client.AzureClientSetMock{ GalleryImageVersionsClientMock: m, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put(stateBagKey_Snapshotset, tt.snapshotset) t.Run(tt.name, func(t *testing.T) { diff --git a/builder/azure/chroot/step_create_snapshotset_test.go b/builder/azure/chroot/step_create_snapshotset_test.go index 861edcb2c..eb12488fb 100644 --- a/builder/azure/chroot/step_create_snapshotset_test.go +++ b/builder/azure/chroot/step_create_snapshotset_test.go @@ -11,8 +11,8 @@ import ( "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) func TestStepCreateSnapshot_Run(t *testing.T) { @@ -101,7 +101,7 @@ func TestStepCreateSnapshot_Run(t *testing.T) { state.Put("azureclient", &client.AzureClientSetMock{ SnapshotsClientMock: m, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put(stateBagKey_Diskset, tt.diskset) t.Run(tt.name, func(t *testing.T) { @@ -136,7 +136,7 @@ func TestStepCreateSnapshot_Cleanup_skipped(t *testing.T) { state.Put("azureclient", &client.AzureClientSetMock{ SnapshotsClientMock: m, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) s := &StepCreateSnapshotset{ SkipCleanup: true, @@ -185,7 +185,7 @@ func TestStepCreateSnapshot_Cleanup(t *testing.T) { state.Put("azureclient", &client.AzureClientSetMock{ SnapshotsClientMock: m, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) s := &StepCreateSnapshotset{ SkipCleanup: false, diff --git a/builder/azure/chroot/step_verify_shared_image_destination_test.go b/builder/azure/chroot/step_verify_shared_image_destination_test.go index 22dafaf94..6bbefe0d2 100644 --- a/builder/azure/chroot/step_verify_shared_image_destination_test.go +++ b/builder/azure/chroot/step_verify_shared_image_destination_test.go @@ -9,8 +9,8 @@ import ( "testing" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" @@ -164,7 +164,7 @@ func TestStepVerifySharedImageDestination_Run(t *testing.T) { GalleryImagesClientMock: gi, GalleryImageVersionsClientMock: giv, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) t.Run(tt.name, func(t *testing.T) { s := &StepVerifySharedImageDestination{ diff --git a/builder/azure/chroot/step_verify_shared_image_source_test.go b/builder/azure/chroot/step_verify_shared_image_source_test.go index d29b8042a..e12479573 100644 --- a/builder/azure/chroot/step_verify_shared_image_source_test.go +++ b/builder/azure/chroot/step_verify_shared_image_source_test.go @@ -12,8 +12,8 @@ import ( "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-12-01/compute" "github.com/Azure/go-autorest/autorest" "github.com/hashicorp/packer/builder/azure/common/client" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) func TestStepVerifySharedImageSource_Run(t *testing.T) { @@ -163,7 +163,7 @@ func TestStepVerifySharedImageSource_Run(t *testing.T) { GalleryImageVersionsClientMock: giv, GalleryImagesClientMock: gi, }) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) t.Run(tt.name, func(t *testing.T) { s := &StepVerifySharedImageSource{ diff --git a/builder/docker/communicator_test.go b/builder/docker/communicator_test.go index b97f000b5..3b30f2c48 100644 --- a/builder/docker/communicator_test.go +++ b/builder/docker/communicator_test.go @@ -18,7 +18,7 @@ import ( // TestUploadDownload verifies that basic upload / download functionality works func TestUploadDownload(t *testing.T) { - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) tpl, err := template.Parse(strings.NewReader(dockerBuilderConfig)) if err != nil { @@ -101,7 +101,7 @@ func TestUploadDownload(t *testing.T) { // need to use github.com/cbednarski/rerun to verify since this problem occurs // only intermittently. func TestLargeDownload(t *testing.T) { - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) tpl, err := template.Parse(strings.NewReader(dockerLargeBuilderConfig)) if err != nil { @@ -205,7 +205,7 @@ func TestLargeDownload(t *testing.T) { // TestFixUploadOwner verifies that owner of uploaded files is the user the container is running as. func TestFixUploadOwner(t *testing.T) { - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) tpl, err := template.Parse(strings.NewReader(testFixUploadOwnerTemplate)) if err != nil { diff --git a/builder/hyperv/iso/builder_test.go b/builder/hyperv/iso/builder_test.go index 98732c577..b1a18f3a8 100644 --- a/builder/hyperv/iso/builder_test.go +++ b/builder/hyperv/iso/builder_test.go @@ -10,7 +10,7 @@ import ( "testing" hypervcommon "github.com/hashicorp/packer/builder/hyperv/common" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -26,7 +26,7 @@ func testConfig() map[string]interface{} { "disk_block_size": 1, "guest_additions_mode": "none", "disk_additional_size": "50000,40000,30000", - packer.BuildNameConfigKey: "foo", + common.BuildNameConfigKey: "foo", } } @@ -591,7 +591,7 @@ func TestUserVariablesInBootCommand(t *testing.T) { var b Builder config := testConfig() - config[packer.UserVariablesConfigKey] = map[string]string{"test-variable": "test"} + config[common.UserVariablesConfigKey] = map[string]string{"test-variable": "test"} config["boot_command"] = []string{"blah {{user `test-variable`}} blah"} _, warns, err := b.Prepare(config) @@ -602,7 +602,7 @@ func TestUserVariablesInBootCommand(t *testing.T) { t.Fatalf("should not have error: %s", err) } - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) hook := &packersdk.MockHook{} driver := &hypervcommon.DriverMock{} diff --git a/builder/hyperv/vmcx/builder_test.go b/builder/hyperv/vmcx/builder_test.go index 334d05005..4daec3d7d 100644 --- a/builder/hyperv/vmcx/builder_test.go +++ b/builder/hyperv/vmcx/builder_test.go @@ -10,7 +10,7 @@ import ( "os" hypervcommon "github.com/hashicorp/packer/builder/hyperv/common" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -25,7 +25,7 @@ func testConfig() map[string]interface{} { "memory": 64, "guest_additions_mode": "none", "clone_from_vmcx_path": "generated", - packer.BuildNameConfigKey: "foo", + common.BuildNameConfigKey: "foo", } } @@ -483,7 +483,7 @@ func TestUserVariablesInBootCommand(t *testing.T) { defer os.RemoveAll(td) config["clone_from_vmcx_path"] = td - config[packer.UserVariablesConfigKey] = map[string]string{"test-variable": "test"} + config[common.UserVariablesConfigKey] = map[string]string{"test-variable": "test"} config["boot_command"] = []string{"blah {{user `test-variable`}} blah"} _, warns, err := b.Prepare(config) @@ -494,7 +494,7 @@ func TestUserVariablesInBootCommand(t *testing.T) { t.Fatalf("should not have error: %s", err) } - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) hook := &packersdk.MockHook{} driver := &hypervcommon.DriverMock{} diff --git a/builder/parallels/iso/builder_test.go b/builder/parallels/iso/builder_test.go index b56e57e7d..b29b7db6c 100644 --- a/builder/parallels/iso/builder_test.go +++ b/builder/parallels/iso/builder_test.go @@ -5,7 +5,7 @@ import ( "reflect" "testing" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -17,7 +17,7 @@ func testConfig() map[string]interface{} { "ssh_username": "foo", "parallels_tools_flavor": "lin", - packer.BuildNameConfigKey: "foo", + common.BuildNameConfigKey: "foo", } } diff --git a/builder/proxmox/common/step_convert_to_template_test.go b/builder/proxmox/common/step_convert_to_template_test.go index 26fc7dfb3..7468cecd4 100644 --- a/builder/proxmox/common/step_convert_to_template_test.go +++ b/builder/proxmox/common/step_convert_to_template_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/Telmate/proxmox-api-go/proxmox" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type converterMock struct { @@ -79,7 +79,7 @@ func TestConvertToTemplate(t *testing.T) { } state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("vmRef", proxmox.NewVmRef(vmid)) state.Put("proxmoxClient", converter) diff --git a/builder/proxmox/common/step_finalize_template_config_test.go b/builder/proxmox/common/step_finalize_template_config_test.go index 38c691e17..62d43fc2b 100644 --- a/builder/proxmox/common/step_finalize_template_config_test.go +++ b/builder/proxmox/common/step_finalize_template_config_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/Telmate/proxmox-api-go/proxmox" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type finalizerMock struct { @@ -157,7 +157,7 @@ func TestTemplateFinalize(t *testing.T) { } state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("config", c.builderConfig) state.Put("vmRef", proxmox.NewVmRef(1)) state.Put("proxmoxClient", finalizer) diff --git a/builder/proxmox/common/step_start_vm_test.go b/builder/proxmox/common/step_start_vm_test.go index e51577297..3debeacba 100644 --- a/builder/proxmox/common/step_start_vm_test.go +++ b/builder/proxmox/common/step_start_vm_test.go @@ -5,8 +5,8 @@ import ( "testing" "github.com/Telmate/proxmox-api-go/proxmox" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type startedVMCleanerMock struct { @@ -85,7 +85,7 @@ func TestCleanupStartVM(t *testing.T) { } state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("proxmoxClient", cleaner) if c.setVmRef { state.Put("vmRef", proxmox.NewVmRef(1)) diff --git a/builder/proxmox/common/step_type_boot_command_test.go b/builder/proxmox/common/step_type_boot_command_test.go index 104c3fd60..8c333717b 100644 --- a/builder/proxmox/common/step_type_boot_command_test.go +++ b/builder/proxmox/common/step_type_boot_command_test.go @@ -7,9 +7,9 @@ import ( "testing" "github.com/Telmate/proxmox-api-go/proxmox" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/bootcommand" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type commandTyperMock struct { @@ -128,7 +128,7 @@ func TestTypeBootCommand(t *testing.T) { } state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("config", c.builderConfig) state.Put("http_port", int(0)) state.Put("vmRef", proxmox.NewVmRef(1)) diff --git a/builder/proxmox/iso/step_finalize_iso_test.go b/builder/proxmox/iso/step_finalize_iso_test.go index 6556bb495..9ea16e2c1 100644 --- a/builder/proxmox/iso/step_finalize_iso_test.go +++ b/builder/proxmox/iso/step_finalize_iso_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/Telmate/proxmox-api-go/proxmox" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type finalizerMock struct { @@ -116,7 +116,7 @@ func TestISOTemplateFinalize(t *testing.T) { } state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("iso-config", c.builderConfig) state.Put("vmRef", proxmox.NewVmRef(1)) state.Put("proxmoxClient", finalizer) diff --git a/builder/proxmox/iso/step_upload_iso_test.go b/builder/proxmox/iso/step_upload_iso_test.go index d747594f8..c26ebf682 100644 --- a/builder/proxmox/iso/step_upload_iso_test.go +++ b/builder/proxmox/iso/step_upload_iso_test.go @@ -6,9 +6,9 @@ import ( "io" "testing" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" "github.com/hashicorp/packer/packer-plugin-sdk/multistep/commonsteps" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) type uploaderMock struct { @@ -105,7 +105,7 @@ func TestUploadISO(t *testing.T) { m := &uploaderMock{fail: c.failUpload} state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("iso-config", c.builderConfig) state.Put(downloadPathKey, c.downloadPath) state.Put("proxmoxClient", m) diff --git a/builder/qemu/config_test.go b/builder/qemu/config_test.go index e74c7e336..9b10e9cdf 100644 --- a/builder/qemu/config_test.go +++ b/builder/qemu/config_test.go @@ -9,7 +9,7 @@ import ( "testing" "time" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/stretchr/testify/assert" ) @@ -49,7 +49,7 @@ func testConfig() map[string]interface{} { "iso_checksum": "md5:0B0F137F17AC10944716020B018F8126", "iso_url": "http://www.google.com/", "ssh_username": "foo", - packer.BuildNameConfigKey: "foo", + common.BuildNameConfigKey: "foo", } } diff --git a/builder/qemu/step_copy_disk_test.go b/builder/qemu/step_copy_disk_test.go index efeb53401..95b6c8bf5 100644 --- a/builder/qemu/step_copy_disk_test.go +++ b/builder/qemu/step_copy_disk_test.go @@ -4,14 +4,14 @@ import ( "context" "testing" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/stretchr/testify/assert" ) func copyTestState(t *testing.T, d *DriverMock) multistep.StateBag { state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) state.Put("driver", d) state.Put("iso_path", "example_source.qcow2") diff --git a/builder/qemu/step_run_test.go b/builder/qemu/step_run_test.go index 1a1822db4..d275fb401 100644 --- a/builder/qemu/step_run_test.go +++ b/builder/qemu/step_run_test.go @@ -4,10 +4,10 @@ import ( "fmt" "testing" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/communicator" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" "github.com/hashicorp/packer/packer-plugin-sdk/multistep/commonsteps" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/stretchr/testify/assert" ) @@ -92,7 +92,7 @@ func Test_UserOverrides(t *testing.T) { step := &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), } args, err := step.getCommandArgs(tc.Config, state) if err != nil { @@ -130,7 +130,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { map[string]interface{}{}, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -155,7 +155,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { &stepRun{ DiskImage: true, atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -183,7 +183,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { &stepRun{ DiskImage: true, atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -212,7 +212,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -244,7 +244,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -274,7 +274,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -294,7 +294,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -314,7 +314,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -338,7 +338,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: false, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-boot", "once=d", @@ -360,7 +360,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { }, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -386,7 +386,7 @@ func Test_DriveAndDeviceArgs(t *testing.T) { &stepRun{ DiskImage: true, atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{ "-display", "gtk", @@ -436,7 +436,7 @@ func Test_OptionalConfigOptionsGetSet(t *testing.T) { state := runTestState(t, c) step := &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), } args, err := step.getCommandArgs(c, state) if err != nil { @@ -475,7 +475,7 @@ func Test_Defaults(t *testing.T) { { &Config{}, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-boot", "once=d"}, "Boot value should default to once=d", }, @@ -484,7 +484,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{}, &stepRun{ DiskImage: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{"-boot", "c"}, "Boot value should be set to c when DiskImage is set on step", @@ -495,7 +495,7 @@ func Test_Defaults(t *testing.T) { QMPSocketPath: "/path/to/socket", }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-qmp", "unix:/path/to/socket,server,nowait"}, "Args should contain -qmp when qmp_enable is set", }, @@ -504,7 +504,7 @@ func Test_Defaults(t *testing.T) { QMPEnable: true, }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-qmp", "unix:,server,nowait"}, "Args contain -qmp even when socket path isn't set, if qmp enabled", }, @@ -513,14 +513,14 @@ func Test_Defaults(t *testing.T) { VMName: "partyname", }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-name", "partyname"}, "Name is set from config", }, { &Config{}, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-name", ""}, "Name is set from config, even when name is blank (which won't " + "happen for real thanks to defaulting in build prepare)", @@ -531,7 +531,7 @@ func Test_Defaults(t *testing.T) { MachineType: "fancymachine", }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-machine", "type=fancymachine"}, "Don't add accelerator tag when no accelerator is set.", }, @@ -541,7 +541,7 @@ func Test_Defaults(t *testing.T) { MachineType: "fancymachine", }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-machine", "type=fancymachine,accel=kvm"}, "Add accelerator tag when accelerator is set.", }, @@ -550,7 +550,7 @@ func Test_Defaults(t *testing.T) { NetBridge: "fakebridge", }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-netdev", "bridge,id=user.0,br=fakebridge"}, "Add netbridge tag when netbridge is set.", }, @@ -563,7 +563,7 @@ func Test_Defaults(t *testing.T) { }, }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-netdev", "user,id=user.0"}, "No host forwarding when no net bridge and no communicator", }, @@ -581,7 +581,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{ "commHostPort": 1111, }, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-netdev", "user,id=user.0,hostfwd=tcp::1111-:4567"}, "Host forwarding when a communicator is configured", }, @@ -592,7 +592,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{ "vnc_port": 5959, }, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-vnc", "1.1.1.1:5959"}, "no VNC password should be set", }, @@ -604,7 +604,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{ "vnc_port": 5959, }, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-vnc", "1.1.1.1:5959,password"}, "VNC password should be set", }, @@ -613,7 +613,7 @@ func Test_Defaults(t *testing.T) { MemorySize: 2345, }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-m", "2345M"}, "Memory is set, with unit M", }, @@ -622,7 +622,7 @@ func Test_Defaults(t *testing.T) { CpuCount: 2, }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-smp", "cpus=2,sockets=2"}, "both cpus and sockets are set to config's CpuCount", }, @@ -631,7 +631,7 @@ func Test_Defaults(t *testing.T) { CpuCount: 2, }, map[string]interface{}{}, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-smp", "cpus=2,sockets=2"}, "both cpus and sockets are set to config's CpuCount", }, @@ -642,7 +642,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{ "floppy_path": "/path/to/floppy", }, - &stepRun{ui: packer.TestUi(t)}, + &stepRun{ui: packersdk.TestUi(t)}, []string{"-fda", "/path/to/floppy"}, "floppy path should be set under fda flag, when it exists", }, @@ -655,7 +655,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{}, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{"-display", "fakedisplay"}, "Display option should value config display", @@ -667,7 +667,7 @@ func Test_Defaults(t *testing.T) { map[string]interface{}{}, &stepRun{ atLeastVersion2: true, - ui: packer.TestUi(t), + ui: packersdk.TestUi(t), }, []string{"-display", "gtk"}, "Display option should default to gtk", diff --git a/builder/qemu/step_shutdown_test.go b/builder/qemu/step_shutdown_test.go index c132c38be..7e2a77359 100644 --- a/builder/qemu/step_shutdown_test.go +++ b/builder/qemu/step_shutdown_test.go @@ -5,14 +5,14 @@ import ( "testing" "time" - "github.com/hashicorp/packer/packer" "github.com/hashicorp/packer/packer-plugin-sdk/communicator" "github.com/hashicorp/packer/packer-plugin-sdk/multistep" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) func Test_Shutdown_Null_success(t *testing.T) { state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) driverMock := new(DriverMock) driverMock.WaitForShutdownState = true state.Put("driver", driverMock) @@ -37,7 +37,7 @@ func Test_Shutdown_Null_success(t *testing.T) { func Test_Shutdown_Null_failure(t *testing.T) { state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) driverMock := new(DriverMock) driverMock.WaitForShutdownState = false state.Put("driver", driverMock) @@ -61,7 +61,7 @@ func Test_Shutdown_Null_failure(t *testing.T) { func Test_Shutdown_NoShutdownCommand(t *testing.T) { state := new(multistep.BasicStateBag) - state.Put("ui", packer.TestUi(t)) + state.Put("ui", packersdk.TestUi(t)) driverMock := new(DriverMock) state.Put("driver", driverMock) diff --git a/builder/virtualbox/iso/acceptance/builder_acceptance.go b/builder/virtualbox/iso/acceptance/builder_acceptance.go index 08bc889db..e394ca6c4 100644 --- a/builder/virtualbox/iso/acceptance/builder_acceptance.go +++ b/builder/virtualbox/iso/acceptance/builder_acceptance.go @@ -11,7 +11,6 @@ import ( "github.com/hashicorp/packer/builder/virtualbox/iso" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" testshelper "github.com/hashicorp/packer/helper/tests" @@ -40,8 +39,8 @@ func (v *VirtualBoxISOAccTest) CleanUp() error { return nil } -func (v *VirtualBoxISOAccTest) GetBuilderStore() packer.MapOfBuilder { - return packer.MapOfBuilder{ +func (v *VirtualBoxISOAccTest) GetBuilderStore() packersdk.MapOfBuilder { + return packersdk.MapOfBuilder{ "virtualbox-iso": func() (packersdk.Builder, error) { return &iso.Builder{}, nil }, } } diff --git a/builder/virtualbox/iso/builder_test.go b/builder/virtualbox/iso/builder_test.go index 982cf784b..fceadf05e 100644 --- a/builder/virtualbox/iso/builder_test.go +++ b/builder/virtualbox/iso/builder_test.go @@ -6,7 +6,7 @@ import ( "testing" "github.com/hashicorp/packer/builder/virtualbox/common" - "github.com/hashicorp/packer/packer" + packercommon "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -17,7 +17,7 @@ func testConfig() map[string]interface{} { "shutdown_command": "yes", "ssh_username": "foo", - packer.BuildNameConfigKey: "foo", + packercommon.BuildNameConfigKey: "foo", } } diff --git a/builder/vmware/iso/builder_test.go b/builder/vmware/iso/builder_test.go index 05e1e223d..1fb06f673 100644 --- a/builder/vmware/iso/builder_test.go +++ b/builder/vmware/iso/builder_test.go @@ -7,7 +7,7 @@ import ( "reflect" "testing" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -18,7 +18,7 @@ func testConfig() map[string]interface{} { "shutdown_command": "foo", "ssh_username": "foo", - packer.BuildNameConfigKey: "foo", + common.BuildNameConfigKey: "foo", } } diff --git a/builder/vmware/iso/step_create_vmx_test.go b/builder/vmware/iso/step_create_vmx_test.go index bef646c65..a741eddde 100644 --- a/builder/vmware/iso/step_create_vmx_test.go +++ b/builder/vmware/iso/step_create_vmx_test.go @@ -96,7 +96,7 @@ func readFloppyOutput(path string) (string, error) { } func setupVMwareBuild(t *testing.T, builderConfig map[string]string, provisionerConfig map[string]string) error { - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) // create builder config and update with user-supplied options cfgBuilder := map[string]string{} @@ -138,16 +138,16 @@ func setupVMwareBuild(t *testing.T, builderConfig map[string]string, provisioner // create our config to test the vmware-iso builder components := packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "vmware-iso": func() (packersdk.Builder, error) { return &Builder{}, nil }, }, Hook: func(n string) (packersdk.Hook, error) { return &packersdk.DispatchHook{}, nil }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "shell": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, }, - PostProcessorStore: packer.MapOfPostProcessor{ + PostProcessorStore: packersdk.MapOfPostProcessor{ "something": func() (packersdk.PostProcessor, error) { return &packer.MockPostProcessor{}, nil }, }, } diff --git a/command/build_parallel_test.go b/command/build_parallel_test.go index 00b43258f..f07b2acd7 100644 --- a/command/build_parallel_test.go +++ b/command/build_parallel_test.go @@ -68,12 +68,12 @@ func testMetaParallel(t *testing.T, builder *ParallelTestBuilder, locked *Locked return Meta{ CoreConfig: &packer.CoreConfig{ Components: packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "parallel-test": func() (packersdk.Builder, error) { return builder, nil }, "file": func() (packersdk.Builder, error) { return &file.Builder{}, nil }, "lock": func() (packersdk.Builder, error) { return locked, nil }, }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "sleep": func() (packersdk.Provisioner, error) { return &sleep.Provisioner{}, nil }, }, }, diff --git a/command/build_test.go b/command/build_test.go index b5d9694c9..fef620203 100644 --- a/command/build_test.go +++ b/command/build_test.go @@ -836,16 +836,16 @@ func fileExists(filename string) bool { // available. This allows us to test a builder that writes files to disk. func testCoreConfigBuilder(t *testing.T) *packer.CoreConfig { components := packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "file": func() (packersdk.Builder, error) { return &file.Builder{}, nil }, "null": func() (packersdk.Builder, error) { return &null.Builder{}, nil }, }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "shell-local": func() (packersdk.Provisioner, error) { return &shell_local.Provisioner{}, nil }, "shell": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, "file": func() (packersdk.Provisioner, error) { return &filep.Provisioner{}, nil }, }, - PostProcessorStore: packer.MapOfPostProcessor{ + PostProcessorStore: packersdk.MapOfPostProcessor{ "shell-local": func() (packersdk.PostProcessor, error) { return &shell_local_pp.PostProcessor{}, nil }, "manifest": func() (packersdk.PostProcessor, error) { return &manifest.PostProcessor{}, nil }, }, diff --git a/command/build_timeout_test.go b/command/build_timeout_test.go index 59b4c2b3f..54cfa72c6 100644 --- a/command/build_timeout_test.go +++ b/command/build_timeout_test.go @@ -16,10 +16,10 @@ import ( // available. This allows us to test a builder that writes files to disk. func testCoreConfigSleepBuilder(t *testing.T) *packer.CoreConfig { components := packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "file": func() (packersdk.Builder, error) { return &file.Builder{}, nil }, }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "sleep": func() (packersdk.Provisioner, error) { return &sleep.Provisioner{}, nil }, "shell-local": func() (packersdk.Provisioner, error) { return &shell_local.Provisioner{}, nil }, }, diff --git a/command/exec_test.go b/command/exec_test.go index 8f3d2d345..400a3fccb 100644 --- a/command/exec_test.go +++ b/command/exec_test.go @@ -118,17 +118,17 @@ func commandMeta() Meta { func getBareComponentFinder() packer.ComponentFinder { return packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "file": func() (packersdk.Builder, error) { return &file.Builder{}, nil }, "null": func() (packersdk.Builder, error) { return &null.Builder{}, nil }, "amazon-ebs": func() (packersdk.Builder, error) { return &ebs.Builder{}, nil }, }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "shell-local": func() (packersdk.Provisioner, error) { return &shell_local.Provisioner{}, nil }, "shell": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, "file": func() (packersdk.Provisioner, error) { return &filep.Provisioner{}, nil }, }, - PostProcessorStore: packer.MapOfPostProcessor{ + PostProcessorStore: packersdk.MapOfPostProcessor{ "shell-local": func() (packersdk.PostProcessor, error) { return &shell_local_pp.PostProcessor{}, nil }, "manifest": func() (packersdk.PostProcessor, error) { return &manifest.PostProcessor{}, nil }, }, diff --git a/config.go b/config.go index d3d345e97..5feab7d60 100644 --- a/config.go +++ b/config.go @@ -12,7 +12,6 @@ import ( "strings" "github.com/hashicorp/packer/command" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/packer/plugin" ) @@ -22,14 +21,14 @@ import ( const PACKERSPACE = "-PACKERSPACE-" type config struct { - DisableCheckpoint bool `json:"disable_checkpoint"` - DisableCheckpointSignature bool `json:"disable_checkpoint_signature"` - RawBuilders map[string]string `json:"builders"` - RawProvisioners map[string]string `json:"provisioners"` - RawPostProcessors map[string]string `json:"post-processors"` - Builders packer.MapOfBuilder `json:"-"` - Provisioners packer.MapOfProvisioner `json:"-"` - PostProcessors packer.MapOfPostProcessor `json:"-"` + DisableCheckpoint bool `json:"disable_checkpoint"` + DisableCheckpointSignature bool `json:"disable_checkpoint_signature"` + RawBuilders map[string]string `json:"builders"` + RawProvisioners map[string]string `json:"provisioners"` + RawPostProcessors map[string]string `json:"post-processors"` + Builders packersdk.MapOfBuilder `json:"-"` + Provisioners packersdk.MapOfProvisioner `json:"-"` + PostProcessors packersdk.MapOfPostProcessor `json:"-"` Plugins plugin.Config } diff --git a/config_test.go b/config_test.go index cf28533cd..b6b0beefc 100644 --- a/config_test.go +++ b/config_test.go @@ -11,7 +11,7 @@ import ( "strings" "testing" - "github.com/hashicorp/packer/packer" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) func TestDecodeConfig(t *testing.T) { @@ -49,9 +49,9 @@ func TestLoadExternalComponentsFromConfig(t *testing.T) { defer cleanUpFunc() var cfg config - cfg.Builders = packer.MapOfBuilder{} - cfg.PostProcessors = packer.MapOfPostProcessor{} - cfg.Provisioners = packer.MapOfProvisioner{} + cfg.Builders = packersdk.MapOfBuilder{} + cfg.PostProcessors = packersdk.MapOfPostProcessor{} + cfg.Provisioners = packersdk.MapOfProvisioner{} if err := decodeConfig(strings.NewReader(packerConfigData), &cfg); err != nil { t.Fatalf("error encountered decoding configuration: %v", err) @@ -81,7 +81,7 @@ func TestLoadExternalComponentsFromConfig_onlyProvisioner(t *testing.T) { defer cleanUpFunc() var cfg config - cfg.Provisioners = packer.MapOfProvisioner{} + cfg.Provisioners = packersdk.MapOfProvisioner{} if err := decodeConfig(strings.NewReader(packerConfigData), &cfg); err != nil { t.Fatalf("error encountered decoding configuration: %v", err) @@ -126,9 +126,9 @@ func TestLoadSingleComponent(t *testing.T) { } var cfg config - cfg.Builders = packer.MapOfBuilder{} - cfg.PostProcessors = packer.MapOfPostProcessor{} - cfg.Provisioners = packer.MapOfProvisioner{} + cfg.Builders = packersdk.MapOfBuilder{} + cfg.PostProcessors = packersdk.MapOfPostProcessor{} + cfg.Provisioners = packersdk.MapOfProvisioner{} for _, tc := range tt { tc := tc diff --git a/hcl2template/common_test.go b/hcl2template/common_test.go index b0eb30aa4..260452278 100644 --- a/hcl2template/common_test.go +++ b/hcl2template/common_test.go @@ -20,16 +20,16 @@ import ( func getBasicParser() *Parser { return &Parser{ Parser: hclparse.NewParser(), - BuilderSchemas: packer.MapOfBuilder{ + BuilderSchemas: packersdk.MapOfBuilder{ "amazon-ebs": func() (packersdk.Builder, error) { return &MockBuilder{}, nil }, "virtualbox-iso": func() (packersdk.Builder, error) { return &MockBuilder{}, nil }, "null": func() (packersdk.Builder, error) { return &null.Builder{}, nil }, }, - ProvisionersSchemas: packer.MapOfProvisioner{ + ProvisionersSchemas: packersdk.MapOfProvisioner{ "shell": func() (packersdk.Provisioner, error) { return &MockProvisioner{}, nil }, "file": func() (packersdk.Provisioner, error) { return &MockProvisioner{}, nil }, }, - PostProcessorsSchemas: packer.MapOfPostProcessor{ + PostProcessorsSchemas: packersdk.MapOfPostProcessor{ "amazon-import": func() (packersdk.PostProcessor, error) { return &MockPostProcessor{}, nil }, "manifest": func() (packersdk.PostProcessor, error) { return &MockPostProcessor{}, nil }, }, diff --git a/helper/tests/acc/provisioners.go b/helper/tests/acc/provisioners.go index 82c11856c..5c7a780c9 100644 --- a/helper/tests/acc/provisioners.go +++ b/helper/tests/acc/provisioners.go @@ -14,7 +14,7 @@ import ( amazonEBS "github.com/hashicorp/packer/builder/amazon/ebs/acceptance" virtualboxISO "github.com/hashicorp/packer/builder/virtualbox/iso/acceptance" "github.com/hashicorp/packer/command" - "github.com/hashicorp/packer/packer" + packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) func TestProvisionersAgainstBuilders(provisionerAcc ProvisionerAcceptance, t *testing.T) { @@ -133,14 +133,14 @@ func buildCommand(t *testing.T, builder BuilderAcceptance, provisioner Provision type ProvisionerAcceptance interface { GetName() string GetConfig() (string, error) - GetProvisionerStore() packer.MapOfProvisioner + GetProvisionerStore() packersdk.MapOfProvisioner IsCompatible(builder string, vmOS string) bool RunTest(c *command.BuildCommand, args []string) error } type BuilderAcceptance interface { GetConfigs() (map[string]string, error) - GetBuilderStore() packer.MapOfBuilder + GetBuilderStore() packersdk.MapOfBuilder CleanUp() error } diff --git a/helper/tests/core.go b/helper/tests/core.go index 87b19d0b5..5e8e2764f 100644 --- a/helper/tests/core.go +++ b/helper/tests/core.go @@ -25,14 +25,14 @@ func FileExists(filename string) bool { // available. This allows us to test a builder that writes files to disk. func testCoreConfigBuilder(t *testing.T) *packer.CoreConfig { components := packer.ComponentFinder{ - BuilderStore: packer.MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "amazon-ebs": func() (packersdk.Builder, error) { return &amazonebsbuilder.Builder{}, nil }, }, - ProvisionerStore: packer.MapOfProvisioner{ + ProvisionerStore: packersdk.MapOfProvisioner{ "shell": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, "file": func() (packersdk.Provisioner, error) { return &fileprovisioner.Provisioner{}, nil }, }, - PostProcessorStore: packer.MapOfPostProcessor{}, + PostProcessorStore: packersdk.MapOfPostProcessor{}, } return &packer.CoreConfig{ Components: components, diff --git a/packer-plugin-sdk/common/packer_config.go b/packer-plugin-sdk/common/packer_config.go index 2a666bc5d..34c3091a9 100644 --- a/packer-plugin-sdk/common/packer_config.go +++ b/packer-plugin-sdk/common/packer_config.go @@ -1,5 +1,42 @@ package common +const ( + // This is the key in configurations that is set to the name of the + // build. + BuildNameConfigKey = "packer_build_name" + + // This is the key in the configuration that is set to the type + // of the builder that is run. This is useful for provisioners and + // such who want to make use of this. + BuilderTypeConfigKey = "packer_builder_type" + + // this is the key in the configuration that is set to the version of the + // Packer Core. This can be used by plugins to set user agents, etc, without + // having to import the Core to find out the Packer version. + CoreVersionConfigKey = "packer_core_version" + + // This is the key in configurations that is set to "true" when Packer + // debugging is enabled. + DebugConfigKey = "packer_debug" + + // This is the key in configurations that is set to "true" when Packer + // force build is enabled. + ForceConfigKey = "packer_force" + + // This key determines what to do when a normal multistep step fails + // - "cleanup" - run cleanup steps + // - "abort" - exit without cleanup + // - "ask" - ask the user + OnErrorConfigKey = "packer_on_error" + + // TemplatePathKey is the path to the template that configured this build + TemplatePathKey = "packer_template_path" + + // This key contains a map[string]string of the user variables for + // template processing. + UserVariablesConfigKey = "packer_user_variables" +) + // PackerConfig is a struct that contains the configuration keys that // are sent by packer, properly tagged already so mapstructure can load // them. Embed this structure into your configuration class to get access to diff --git a/packer/maps.go b/packer-plugin-sdk/packer/maps.go similarity index 67% rename from packer/maps.go rename to packer-plugin-sdk/packer/maps.go index 388aa2381..7cad0a014 100644 --- a/packer/maps.go +++ b/packer-plugin-sdk/packer/maps.go @@ -2,18 +2,16 @@ package packer import ( "fmt" - - packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) -type MapOfProvisioner map[string]func() (packersdk.Provisioner, error) +type MapOfProvisioner map[string]func() (Provisioner, error) func (mop MapOfProvisioner) Has(provisioner string) bool { _, res := mop[provisioner] return res } -func (mop MapOfProvisioner) Start(provisioner string) (packersdk.Provisioner, error) { +func (mop MapOfProvisioner) Start(provisioner string) (Provisioner, error) { p, found := mop[provisioner] if !found { return nil, fmt.Errorf("Unknown provisioner %s", provisioner) @@ -29,14 +27,14 @@ func (mop MapOfProvisioner) List() []string { return res } -type MapOfPostProcessor map[string]func() (packersdk.PostProcessor, error) +type MapOfPostProcessor map[string]func() (PostProcessor, error) func (mopp MapOfPostProcessor) Has(postProcessor string) bool { _, res := mopp[postProcessor] return res } -func (mopp MapOfPostProcessor) Start(postProcessor string) (packersdk.PostProcessor, error) { +func (mopp MapOfPostProcessor) Start(postProcessor string) (PostProcessor, error) { p, found := mopp[postProcessor] if !found { return nil, fmt.Errorf("Unknown post-processor %s", postProcessor) @@ -52,14 +50,14 @@ func (mopp MapOfPostProcessor) List() []string { return res } -type MapOfBuilder map[string]func() (packersdk.Builder, error) +type MapOfBuilder map[string]func() (Builder, error) func (mob MapOfBuilder) Has(builder string) bool { _, res := mob[builder] return res } -func (mob MapOfBuilder) Start(builder string) (packersdk.Builder, error) { +func (mob MapOfBuilder) Start(builder string) (Builder, error) { d, found := mob[builder] if !found { return nil, fmt.Errorf("Unknown builder %s", builder) diff --git a/packer-plugin-sdk/packer/ui_mock.go b/packer-plugin-sdk/packer/ui_mock.go index 2e67ffe8b..8ca8beafb 100644 --- a/packer-plugin-sdk/packer/ui_mock.go +++ b/packer-plugin-sdk/packer/ui_mock.go @@ -1,47 +1,18 @@ package packer import ( - "errors" + "bytes" "io" - "log" - "strings" + "io/ioutil" + "testing" ) -// TestUi is a UI that only outputs unformatted output to the given writer. -type TestUi struct { - Writer io.Writer -} - -var _ Ui = new(TestUi) - -func (u *TestUi) Ask(query string) (string, error) { - return "", errors.New("Test UI can't ask") -} - -func (u *TestUi) Say(message string) { - log.Printf(message) -} - -func (u *TestUi) Message(message string) { - log.Printf(message) -} - -func (u *TestUi) Error(message string) { - log.Printf(message) -} - -func (u *TestUi) Machine(message string, args ...string) { - log.Printf("%s, %s", message, strings.Join(args, ", ")) -} - -func (u *TestUi) TrackProgress(src string, currentSize, totalSize int64, stream io.ReadCloser) (body io.ReadCloser) { - return &readCloser{ - read: func(p []byte) (int, error) { - return stream.Read(p) - }, - close: func() error { - return stream.Close() - }, +func TestUi(t *testing.T) Ui { + var buf bytes.Buffer + return &BasicUi{ + Reader: &buf, + Writer: ioutil.Discard, + ErrorWriter: ioutil.Discard, } } diff --git a/packer/build.go b/packer/build.go index d36503426..03da65d0a 100644 --- a/packer/build.go +++ b/packer/build.go @@ -6,48 +6,12 @@ import ( "log" "sync" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/packer-plugin-sdk/packerbuilderdata" "github.com/hashicorp/packer/version" ) -const ( - // This is the key in configurations that is set to the name of the - // build. - BuildNameConfigKey = "packer_build_name" - - // This is the key in the configuration that is set to the type - // of the builder that is run. This is useful for provisioners and - // such who want to make use of this. - BuilderTypeConfigKey = "packer_builder_type" - - // this is the key in the configuration that is set to the version of the - // Packer Core. This can be used by plugins to set user agents, etc, without - // having to import the Core to find out the Packer version. - CoreVersionConfigKey = "packer_core_version" - - // This is the key in configurations that is set to "true" when Packer - // debugging is enabled. - DebugConfigKey = "packer_debug" - - // This is the key in configurations that is set to "true" when Packer - // force build is enabled. - ForceConfigKey = "packer_force" - - // This key determines what to do when a normal multistep step fails - // - "cleanup" - run cleanup steps - // - "abort" - exit without cleanup - // - "ask" - ask the user - OnErrorConfigKey = "packer_on_error" - - // TemplatePathKey is the path to the template that configured this build - TemplatePathKey = "packer_template_path" - - // This key contains a map[string]string of the user variables for - // template processing. - UserVariablesConfigKey = "packer_user_variables" -) - // A Build represents a single job within Packer that is responsible for // building some machine image artifact. Builds are meant to be parallelized. type Build interface { @@ -165,14 +129,14 @@ func (b *CoreBuild) Prepare() (warn []string, err error) { b.prepareCalled = true packerConfig := map[string]interface{}{ - BuildNameConfigKey: b.Type, - BuilderTypeConfigKey: b.BuilderType, - CoreVersionConfigKey: version.FormattedVersion(), - DebugConfigKey: b.debug, - ForceConfigKey: b.force, - OnErrorConfigKey: b.onError, - TemplatePathKey: b.TemplatePath, - UserVariablesConfigKey: b.Variables, + common.BuildNameConfigKey: b.Type, + common.BuilderTypeConfigKey: b.BuilderType, + common.CoreVersionConfigKey: version.FormattedVersion(), + common.DebugConfigKey: b.debug, + common.ForceConfigKey: b.force, + common.OnErrorConfigKey: b.onError, + common.TemplatePathKey: b.TemplatePath, + common.UserVariablesConfigKey: b.Variables, } // Prepare the builder diff --git a/packer/build_test.go b/packer/build_test.go index ce680c9d5..987f46366 100644 --- a/packer/build_test.go +++ b/packer/build_test.go @@ -5,6 +5,7 @@ import ( "reflect" "testing" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/packer-plugin-sdk/packerbuilderdata" "github.com/hashicorp/packer/version" @@ -41,14 +42,14 @@ func testBuild() *CoreBuild { func testDefaultPackerConfig() map[string]interface{} { return map[string]interface{}{ - BuildNameConfigKey: "test", - BuilderTypeConfigKey: "foo", - CoreVersionConfigKey: version.FormattedVersion(), - DebugConfigKey: false, - ForceConfigKey: false, - OnErrorConfigKey: "cleanup", - TemplatePathKey: "", - UserVariablesConfigKey: make(map[string]string), + common.BuildNameConfigKey: "test", + common.BuilderTypeConfigKey: "foo", + common.CoreVersionConfigKey: version.FormattedVersion(), + common.DebugConfigKey: false, + common.ForceConfigKey: false, + common.OnErrorConfigKey: "cleanup", + common.TemplatePathKey: "", + common.UserVariablesConfigKey: make(map[string]string), } } func TestBuild_Name(t *testing.T) { @@ -144,7 +145,7 @@ func TestBuildPrepare_BuilderWarnings(t *testing.T) { func TestBuild_Prepare_Debug(t *testing.T) { packerConfig := testDefaultPackerConfig() - packerConfig[DebugConfigKey] = true + packerConfig[common.DebugConfigKey] = true build := testBuild() builder := build.Builder.(*MockBuilder) @@ -170,7 +171,7 @@ func TestBuild_Prepare_Debug(t *testing.T) { func TestBuildPrepare_variables_default(t *testing.T) { packerConfig := testDefaultPackerConfig() - packerConfig[UserVariablesConfigKey] = map[string]string{ + packerConfig[common.UserVariablesConfigKey] = map[string]string{ "foo": "bar", } diff --git a/packer/core_test.go b/packer/core_test.go index 813c58d18..d73c0b036 100644 --- a/packer/core_test.go +++ b/packer/core_test.go @@ -800,7 +800,7 @@ func TestCoreBuild_provRetry(t *testing.T) { b := TestBuilder(t, config, "test") pString := new(MockProvisioner) pInt := new(MockProvisioner) - config.Components.ProvisionerStore = MapOfProvisioner{ + config.Components.ProvisionerStore = packersdk.MapOfProvisioner{ "test-string": func() (packersdk.Provisioner, error) { return pString, nil }, // backwards compatibility "test-integer": func() (packersdk.Provisioner, error) { return pInt, nil }, diff --git a/packer/plugin/discover.go b/packer/plugin/discover.go index 823c186b7..88f56e9dc 100644 --- a/packer/plugin/discover.go +++ b/packer/plugin/discover.go @@ -20,12 +20,12 @@ const PACKERSPACE = "-PACKERSPACE-" type Config struct { PluginMinPort int PluginMaxPort int - builders packer.MapOfBuilder - provisioners packer.MapOfProvisioner - postProcessors packer.MapOfPostProcessor + builders packersdk.MapOfBuilder + provisioners packersdk.MapOfProvisioner + postProcessors packersdk.MapOfPostProcessor } -func (c *Config) GetPlugins() (packer.MapOfBuilder, packer.MapOfProvisioner, packer.MapOfPostProcessor) { +func (c *Config) GetPlugins() (packersdk.MapOfBuilder, packersdk.MapOfProvisioner, packersdk.MapOfPostProcessor) { return c.builders, c.provisioners, c.postProcessors } @@ -38,13 +38,13 @@ func (c *Config) GetPlugins() (packer.MapOfBuilder, packer.MapOfProvisioner, pac // CWD has the highest priority. func (c *Config) Discover() error { if c.builders == nil { - c.builders = packer.MapOfBuilder{} + c.builders = packersdk.MapOfBuilder{} } if c.provisioners == nil { - c.provisioners = packer.MapOfProvisioner{} + c.provisioners = packersdk.MapOfProvisioner{} } if c.postProcessors == nil { - c.postProcessors = packer.MapOfPostProcessor{} + c.postProcessors = packersdk.MapOfPostProcessor{} } // If we are already inside a plugin process we should not need to diff --git a/packer/testing.go b/packer/testing.go index b6162093a..aaed749db 100644 --- a/packer/testing.go +++ b/packer/testing.go @@ -11,7 +11,7 @@ import ( func TestCoreConfig(t *testing.T) *CoreConfig { // Create some test components components := ComponentFinder{ - BuilderStore: MapOfBuilder{ + BuilderStore: packersdk.MapOfBuilder{ "test": func() (packersdk.Builder, error) { return &MockBuilder{}, nil }, }, } @@ -45,7 +45,7 @@ func TestUi(t *testing.T) packersdk.Ui { func TestBuilder(t *testing.T, c *CoreConfig, n string) *MockBuilder { var b MockBuilder - c.Components.BuilderStore = MapOfBuilder{ + c.Components.BuilderStore = packersdk.MapOfBuilder{ n: func() (packersdk.Builder, error) { return &b, nil }, } @@ -57,7 +57,7 @@ func TestBuilder(t *testing.T, c *CoreConfig, n string) *MockBuilder { func TestProvisioner(t *testing.T, c *CoreConfig, n string) *MockProvisioner { var b MockProvisioner - c.Components.ProvisionerStore = MapOfProvisioner{ + c.Components.ProvisionerStore = packersdk.MapOfProvisioner{ n: func() (packersdk.Provisioner, error) { return &b, nil }, } @@ -69,7 +69,7 @@ func TestProvisioner(t *testing.T, c *CoreConfig, n string) *MockProvisioner { func TestPostProcessor(t *testing.T, c *CoreConfig, n string) *MockPostProcessor { var b MockPostProcessor - c.Components.PostProcessorStore = MapOfPostProcessor{ + c.Components.PostProcessorStore = packersdk.MapOfPostProcessor{ n: func() (packersdk.PostProcessor, error) { return &b, nil }, } diff --git a/post-processor/checksum/post-processor_test.go b/post-processor/checksum/post-processor_test.go index c54da0148..430583ad2 100644 --- a/post-processor/checksum/post-processor_test.go +++ b/post-processor/checksum/post-processor_test.go @@ -10,7 +10,6 @@ import ( "testing" "github.com/hashicorp/packer/builder/file" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/packer-plugin-sdk/template" ) @@ -47,7 +46,7 @@ func TestChecksumSHA1(t *testing.T) { func setup(t *testing.T) (packersdk.Ui, packersdk.Artifact, error) { // Create fake UI and Cache - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) // Create config for file builder const fileConfig = `{"builders":[{"type":"file","target":"package.txt","content":"Hello world!"}]}` diff --git a/post-processor/compress/post-processor_test.go b/post-processor/compress/post-processor_test.go index 577ff2de6..d30bca9b6 100644 --- a/post-processor/compress/post-processor_test.go +++ b/post-processor/compress/post-processor_test.go @@ -10,7 +10,6 @@ import ( "testing" "github.com/hashicorp/packer/builder/file" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/packer-plugin-sdk/template" ) @@ -187,7 +186,7 @@ func TestCompressInterpolation(t *testing.T) { func setup(t *testing.T) (packersdk.Ui, packersdk.Artifact, error) { // Create fake UI and Cache - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) // Create config for file builder const fileConfig = `{"builders":[{"type":"file","target":"package.txt","content":"Hello world!"}]}` diff --git a/provisioner/ansible-local/provisioner_test.go b/provisioner/ansible-local/provisioner_test.go index 19d7f87e4..755443464 100644 --- a/provisioner/ansible-local/provisioner_test.go +++ b/provisioner/ansible-local/provisioner_test.go @@ -329,7 +329,7 @@ func testProvisionerProvisionDockerWithPlaybookFiles(t *testing.T, templateStrin t.Skip("This test is only run with PACKER_ACC=1") } - ui := packer.TestUi(t) + ui := packersdk.TestUi(t) tpl, err := template.Parse(strings.NewReader(templateString)) if err != nil { diff --git a/provisioner/chef-solo/provisioner_test.go b/provisioner/chef-solo/provisioner_test.go index 9a378efc0..132cb36de 100644 --- a/provisioner/chef-solo/provisioner_test.go +++ b/provisioner/chef-solo/provisioner_test.go @@ -5,7 +5,7 @@ import ( "os" "testing" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" ) @@ -303,7 +303,7 @@ func TestProvisionerPrepare_json(t *testing.T) { "foo": "{{ user `foo` }}", } - config[packer.UserVariablesConfigKey] = map[string]string{ + config[common.UserVariablesConfigKey] = map[string]string{ "foo": `"bar\baz"`, } diff --git a/provisioner/powershell/provisioner_acc_test.go b/provisioner/powershell/provisioner_acc_test.go index baad86fad..62837e992 100644 --- a/provisioner/powershell/provisioner_acc_test.go +++ b/provisioner/powershell/provisioner_acc_test.go @@ -11,7 +11,6 @@ import ( "github.com/hashicorp/go-uuid" "github.com/hashicorp/packer/command" "github.com/hashicorp/packer/helper/tests/acc" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/provisioner/powershell" windowsshellprovisioner "github.com/hashicorp/packer/provisioner/windows-shell" @@ -63,8 +62,8 @@ func (s *PowershellProvisionerAccTest) GetConfig() (string, error) { return string(file), nil } -func (s *PowershellProvisionerAccTest) GetProvisionerStore() packer.MapOfProvisioner { - return packer.MapOfProvisioner{ +func (s *PowershellProvisionerAccTest) GetProvisionerStore() packersdk.MapOfProvisioner { + return packersdk.MapOfProvisioner{ TestProvisionerName: func() (packersdk.Provisioner, error) { return &powershell.Provisioner{}, nil }, "windows-shell": func() (packersdk.Provisioner, error) { return &windowsshellprovisioner.Provisioner{}, nil }, } diff --git a/provisioner/powershell/provisioner_test.go b/provisioner/powershell/provisioner_test.go index feb14c2f1..a14e21910 100644 --- a/provisioner/powershell/provisioner_test.go +++ b/provisioner/powershell/provisioner_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/packer-plugin-sdk/common" "github.com/hashicorp/packer/packer-plugin-sdk/multistep/commonsteps" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/stretchr/testify/assert" @@ -89,7 +89,7 @@ func TestProvisionerPrepare_Config(t *testing.T) { config := testConfig() config["elevated_user"] = "{{user `user`}}" config["elevated_password"] = "{{user `password`}}" - config[packer.UserVariablesConfigKey] = map[string]string{ + config[common.UserVariablesConfigKey] = map[string]string{ "user": "myusername", "password": "mypassword", } diff --git a/provisioner/shell-local/provisioner_acc_test.go b/provisioner/shell-local/provisioner_acc_test.go index 0b2e608a1..91c58534b 100644 --- a/provisioner/shell-local/provisioner_acc_test.go +++ b/provisioner/shell-local/provisioner_acc_test.go @@ -11,7 +11,6 @@ import ( "github.com/hashicorp/packer/helper/tests/acc" "github.com/hashicorp/packer/provisioner/shell" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/packer/command" @@ -40,8 +39,8 @@ func (s *ShellLocalProvisionerAccTest) GetConfig() (string, error) { return string(file), err } -func (s *ShellLocalProvisionerAccTest) GetProvisionerStore() packer.MapOfProvisioner { - return packer.MapOfProvisioner{ +func (s *ShellLocalProvisionerAccTest) GetProvisionerStore() packersdk.MapOfProvisioner { + return packersdk.MapOfProvisioner{ "shell-local": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, } } diff --git a/provisioner/shell/provisioner_acc_test.go b/provisioner/shell/provisioner_acc_test.go index 5ba6ac42f..4cde4db80 100644 --- a/provisioner/shell/provisioner_acc_test.go +++ b/provisioner/shell/provisioner_acc_test.go @@ -12,7 +12,6 @@ import ( "github.com/hashicorp/packer/provisioner/file" "github.com/hashicorp/packer/provisioner/shell" - "github.com/hashicorp/packer/packer" packersdk "github.com/hashicorp/packer/packer-plugin-sdk/packer" "github.com/hashicorp/go-uuid" @@ -43,8 +42,8 @@ func (s *ShellProvisionerAccTest) GetConfig() (string, error) { return string(file), err } -func (s *ShellProvisionerAccTest) GetProvisionerStore() packer.MapOfProvisioner { - return packer.MapOfProvisioner{ +func (s *ShellProvisionerAccTest) GetProvisionerStore() packersdk.MapOfProvisioner { + return packersdk.MapOfProvisioner{ "shell": func() (packersdk.Provisioner, error) { return &shell.Provisioner{}, nil }, "file": func() (packersdk.Provisioner, error) { return &file.Provisioner{}, nil }, }