HasPlugin{PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {false, nil, nil}
HasPlugin{PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {false, nil, nil}
GetLatestVersion{ctx, PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {nil, nil}
DownloadPlugin{ctx, PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}} -> {"$HOME/.pulumi/plugins/resource-plugin-a", <func(bool)>, nil}
LoadPluginProjectAt{ctx, "$HOME/.pulumi/plugins/resource-plugin-a"} -> {PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[2]{"plugin-b":PackageSpec{Source:"plugin-b", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}, "plugin-d":PackageSpec{Source:"plugin-d"}}}, "$HOME/.pulumi/plugins/resource-plugin-a/PulumiPlugin.yaml", nil}
HasPlugin{PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {false, nil, nil}
HasPlugin{PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {false, nil, nil}
GetLatestVersion{ctx, PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {nil, nil}
HasPlugin{PluginDescriptor{Name:"plugin-d", Kind:"resource"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-d", Kind:"resource"}} -> {false, nil, nil}
HasPluginGTE{PluginDescriptor{Name:"shared-plugin", Kind:"resource", Version:Version{Major:1}, PluginDownloadURL:"https://registry.example.com/shared-plugin-1.0.0.tar.gz"}} -> {false, nil, nil}
DownloadPlugin{ctx, PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}} -> {"$HOME/.pulumi/plugins/resource-plugin-b", <func(bool)>, nil}
LoadPluginProjectAt{ctx, "$HOME/.pulumi/plugins/resource-plugin-b"} -> {PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[1]{"plugin-c":PackageSpec{Source:"plugin-c"}}}, "$HOME/.pulumi/plugins/resource-plugin-b/PulumiPlugin.yaml", nil}
DownloadPlugin{ctx, PluginDescriptor{Name:"shared-plugin", Kind:"resource", Version:Version{Major:1}, PluginDownloadURL:"https://registry.example.com/shared-plugin-1.0.0.tar.gz"}} -> {"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0", <func(bool)>, nil}
LoadPluginProjectAt{ctx, "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0"} -> {PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}}, "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0/PulumiPlugin.yaml", nil}
HasPlugin{PluginDescriptor{Name:"plugin-c", Kind:"resource"}} -> {pluginstorage.PluginNotInstalled}
HasPluginGTE{PluginDescriptor{Name:"plugin-c", Kind:"resource"}} -> {false, nil, nil}
HasPluginGTE{PluginDescriptor{Name:"shared-plugin", Kind:"resource", Version:Version{Major:1}, PluginDownloadURL:"https://registry.example.com/shared-plugin-1.0.0.tar.gz"}} -> {false, nil, nil}
InstallPluginAt{ctx, "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}}} -> {nil}
DownloadPlugin.MarkInstallationDone{PluginDescriptor{Name:"shared-plugin", Kind:"resource", Version:Version{Major:1}, PluginDownloadURL:"https://registry.example.com/shared-plugin-1.0.0.tar.gz"}, true} -> {}
GetRequiredPackages{ctx, "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}}} -> {nil, nil, nil}
RunPackage{ctx, "$HOME/.pulumi/plugins/resource-plugin-a", "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0", nil} -> {invariantProvider{path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0"}, nil}
GenerateLocalSDK{ctx, ProjectRuntimeInfo{name:"go"}, "$HOME/.pulumi/plugins/resource-plugin-a", invariantProvider{path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0"}} -> {LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0/sdk-<nil>"}, nil}
RunPackage{ctx, "$HOME/.pulumi/plugins/resource-plugin-b", "$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0", nil} -> {invariantProvider{path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0"}, nil}
GenerateLocalSDK{ctx, ProjectRuntimeInfo{name:"go"}, "$HOME/.pulumi/plugins/resource-plugin-b", invariantProvider{path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0"}} -> {LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0/sdk-<nil>"}, nil}
LinkIntoProject{ctx, ProjectRuntimeInfo{name:"go"}, "$HOME/.pulumi/plugins/resource-plugin-b", [1]{LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0/sdk-<nil>"}}} -> {nil}
InstallPluginAt{ctx, "$HOME/.pulumi/plugins/resource-plugin-b", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[1]{"plugin-c":PackageSpec{Source:"plugin-c"}}}} -> {nil}
DownloadPlugin.MarkInstallationDone{PluginDescriptor{Name:"plugin-b", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}, true} -> {}
GetRequiredPackages{ctx, "$HOME/.pulumi/plugins/resource-plugin-b", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[1]{"plugin-c":PackageSpec{Source:"plugin-c"}}}} -> {nil, nil, nil}
RunPackage{ctx, "$HOME/.pulumi/plugins/resource-plugin-a", "$HOME/.pulumi/plugins/resource-plugin-b", nil} -> {invariantProvider{path:"$HOME/.pulumi/plugins/resource-plugin-b"}, nil}
GenerateLocalSDK{ctx, ProjectRuntimeInfo{name:"go"}, "$HOME/.pulumi/plugins/resource-plugin-a", invariantProvider{path:"$HOME/.pulumi/plugins/resource-plugin-b"}} -> {LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-plugin-b/sdk-<nil>"}, nil}
LinkIntoProject{ctx, ProjectRuntimeInfo{name:"go"}, "$HOME/.pulumi/plugins/resource-plugin-a", [2]{LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-plugin-b/sdk-<nil>"}, LinkablePackageDescriptor{Path:"$HOME/.pulumi/plugins/resource-shared-plugin-v1.0.0/sdk-<nil>"}}} -> {nil}
InstallPluginAt{ctx, "$HOME/.pulumi/plugins/resource-plugin-a", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[2]{"plugin-b":PackageSpec{Source:"plugin-b", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}, "plugin-d":PackageSpec{Source:"plugin-d"}}}} -> {nil}
DownloadPlugin.MarkInstallationDone{PluginDescriptor{Name:"plugin-a", Kind:"resource", PluginDownloadURL:"https://example.com/plugin-a.tar.gz"}, true} -> {}
GetRequiredPackages{ctx, "$HOME/.pulumi/plugins/resource-plugin-a", PluginProject{Runtime:ProjectRuntimeInfo{name:"go"}, Packages:map[2]{"plugin-b":PackageSpec{Source:"plugin-b", PluginDownloadURL:"https://example.com/plugin-b.tar.gz"}, "plugin-d":PackageSpec{Source:"plugin-d"}}}} -> {nil, nil, nil}
RunPackage{ctx, "/tmp", "$HOME/.pulumi/plugins/resource-plugin-a", nil} -> {invariantProvider{path:"$HOME/.pulumi/plugins/resource-plugin-a"}, nil}
