Skip to content

Commit 4707076

Browse files
authored
Remove unused interfaces from the tools (#4173)
* Remove `DockerCli` interface * Remove `DotNetCli` interface * Remove `GitCli` interface * Remove `GitHubCli` interface * Remove `JavacCli` interface * Remove `KubectlCli` interface * Remove `MavenCli` interface * Remove `NpmCli` interface * Remove `PackCli` interface * Rename `python.PythonCli` to just `python.Cli` * Remove `SwaCli` interface * Remove `TerraformCli` interface
1 parent 1ce5eb9 commit 4707076

File tree

70 files changed

+374
-532
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+374
-532
lines changed

cli/azd/cmd/container.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -601,19 +601,19 @@ func registerCommonDependencies(container *ioc.NestedContainer) {
601601
})
602602
container.MustRegisterSingleton(azapi.NewDeployments)
603603
container.MustRegisterSingleton(azapi.NewDeploymentOperations)
604-
container.MustRegisterSingleton(docker.NewDocker)
605-
container.MustRegisterSingleton(dotnet.NewDotNetCli)
606-
container.MustRegisterSingleton(git.NewGitCli)
604+
container.MustRegisterSingleton(docker.NewCli)
605+
container.MustRegisterSingleton(dotnet.NewCli)
606+
container.MustRegisterSingleton(git.NewCli)
607607
container.MustRegisterSingleton(github.NewGitHubCli)
608608
container.MustRegisterSingleton(javac.NewCli)
609-
container.MustRegisterSingleton(kubectl.NewKubectl)
610-
container.MustRegisterSingleton(maven.NewMavenCli)
609+
container.MustRegisterSingleton(kubectl.NewCli)
610+
container.MustRegisterSingleton(maven.NewCli)
611611
container.MustRegisterSingleton(kubelogin.NewCli)
612612
container.MustRegisterSingleton(helm.NewCli)
613613
container.MustRegisterSingleton(kustomize.NewCli)
614-
container.MustRegisterSingleton(npm.NewNpmCli)
615-
container.MustRegisterSingleton(python.NewPythonCli)
616-
container.MustRegisterSingleton(swa.NewSwaCli)
614+
container.MustRegisterSingleton(npm.NewCli)
615+
container.MustRegisterSingleton(python.NewCli)
616+
container.MustRegisterSingleton(swa.NewCli)
617617
container.MustRegisterScoped(ai.NewPythonBridge)
618618
container.MustRegisterScoped(project.NewAiHelper)
619619

cli/azd/cmd/init.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ type initAction struct {
104104
lazyEnvManager *lazy.Lazy[environment.Manager]
105105
console input.Console
106106
cmdRun exec.CommandRunner
107-
gitCli git.GitCli
107+
gitCli *git.Cli
108108
flags *initFlags
109109
repoInitializer *repository.Initializer
110110
templateManager *templates.TemplateManager
@@ -116,7 +116,7 @@ func newInitAction(
116116
lazyEnvManager *lazy.Lazy[environment.Manager],
117117
cmdRun exec.CommandRunner,
118118
console input.Console,
119-
gitCli git.GitCli,
119+
gitCli *git.Cli,
120120
flags *initFlags,
121121
repoInitializer *repository.Initializer,
122122
templateManager *templates.TemplateManager,

cli/azd/internal/appdetect/appdetect.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,10 +176,10 @@ var allDetectors = []projectDetector{
176176
&javaDetector{},
177177
&dotNetAppHostDetector{
178178
// TODO(ellismg): Remove ambient authority.
179-
dotnetCli: dotnet.NewDotNetCli(exec.NewCommandRunner(nil)),
179+
dotnetCli: dotnet.NewCli(exec.NewCommandRunner(nil)),
180180
},
181181
&dotNetDetector{
182-
dotnetCli: dotnet.NewDotNetCli(exec.NewCommandRunner(nil)),
182+
dotnetCli: dotnet.NewCli(exec.NewCommandRunner(nil)),
183183
},
184184
&pythonDetector{},
185185
&javaScriptDetector{},

cli/azd/internal/appdetect/dotnet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
type dotNetDetector struct {
15-
dotnetCli dotnet.DotNetCli
15+
dotnetCli *dotnet.Cli
1616
}
1717

1818
func (dd *dotNetDetector) Language() Language {

cli/azd/internal/appdetect/dotnet_apphost.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
type dotNetAppHostDetector struct {
14-
dotnetCli dotnet.DotNetCli
14+
dotnetCli *dotnet.Cli
1515
}
1616

1717
func (ad *dotNetAppHostDetector) Language() Language {

cli/azd/internal/repository/initializer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ import (
3030
// Initializer handles the initialization of a local repository.
3131
type Initializer struct {
3232
console input.Console
33-
gitCli git.GitCli
34-
dotnetCli dotnet.DotNetCli
33+
gitCli *git.Cli
34+
dotnetCli *dotnet.Cli
3535
lazyEnvManager *lazy.Lazy[environment.Manager]
3636
}
3737

3838
func NewInitializer(
3939
console input.Console,
40-
gitCli git.GitCli,
41-
dotnetCli dotnet.DotNetCli,
40+
gitCli *git.Cli,
41+
dotnetCli *dotnet.Cli,
4242
lazyEnvManager *lazy.Lazy[environment.Manager],
4343
) *Initializer {
4444
return &Initializer{

cli/azd/internal/repository/initializer_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ func Test_Initializer_Initialize(t *testing.T) {
5757

5858
i := NewInitializer(
5959
mockContext.Console,
60-
git.NewGitCli(mockContext.CommandRunner),
61-
dotnet.NewDotNetCli(mockContext.CommandRunner),
60+
git.NewCli(mockContext.CommandRunner),
61+
dotnet.NewCli(mockContext.CommandRunner),
6262
lazy.From[environment.Manager](mockEnv),
6363
)
6464
err := i.Initialize(*mockContext.Context, azdCtx, &templates.Template{RepositoryPath: "local"}, "")
@@ -101,8 +101,8 @@ func Test_Initializer_DevCenter(t *testing.T) {
101101

102102
i := NewInitializer(
103103
mockContext.Console,
104-
git.NewGitCli(mockContext.CommandRunner),
105-
dotnet.NewDotNetCli(mockContext.CommandRunner),
104+
git.NewCli(mockContext.CommandRunner),
105+
dotnet.NewCli(mockContext.CommandRunner),
106106
lazy.From[environment.Manager](mockEnv),
107107
)
108108
err := i.Initialize(*mockContext.Context, azdCtx, template, "")
@@ -171,8 +171,8 @@ func Test_Initializer_InitializeWithOverwritePrompt(t *testing.T) {
171171

172172
i := NewInitializer(
173173
console,
174-
git.NewGitCli(mockRunner),
175-
dotnet.NewDotNetCli(mockRunner),
174+
git.NewCli(mockRunner),
175+
dotnet.NewCli(mockRunner),
176176
lazy.From[environment.Manager](mockEnv),
177177
)
178178
err = i.Initialize(context.Background(), azdCtx, &templates.Template{RepositoryPath: "local"}, "")
@@ -291,7 +291,7 @@ func verifyTemplateCopied(
291291

292292
func verifyExecutableFilePermissions(t *testing.T,
293293
ctx context.Context,
294-
git git.GitCli,
294+
git *git.Cli,
295295
repoPath string,
296296
expectedFiles []string) {
297297
output, err := git.ListStagedFiles(ctx, repoPath)
@@ -376,7 +376,7 @@ func Test_Initializer_WriteCoreAssets(t *testing.T) {
376376
envManager.On("Save", mock.Anything, mock.Anything).Return(nil)
377377

378378
i := NewInitializer(
379-
console, git.NewGitCli(realRunner), nil, lazy.From[environment.Manager](envManager))
379+
console, git.NewCli(realRunner), nil, lazy.From[environment.Manager](envManager))
380380
err := i.writeCoreAssets(context.Background(), azdCtx)
381381
require.NoError(t, err)
382382

@@ -605,7 +605,7 @@ func TestInitializer_PromptIfNonEmpty(t *testing.T) {
605605
dir := t.TempDir()
606606
console := mockinput.NewMockConsole()
607607
cmdRun := mockexec.NewMockCommandRunner()
608-
gitCli := git.NewGitCli(cmdRun)
608+
gitCli := git.NewCli(cmdRun)
609609

610610
// create files
611611
for _, file := range tt.dir.files {

cli/azd/internal/vsrpc/aspire_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func (s *aspireService) GetAspireHostAsync(
3636
}
3737

3838
var c struct {
39-
dotnetCli dotnet.DotNetCli `container:"type"`
39+
dotnetCli *dotnet.Cli `container:"type"`
4040
}
4141

4242
container, err := session.newContainer(rc)

cli/azd/internal/vsrpc/environment_service_create.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (s *environmentService) CreateEnvironmentAsync(
3333

3434
var c struct {
3535
azdContext *azdcontext.AzdContext `container:"type"`
36-
dotnetCli dotnet.DotNetCli `container:"type"`
36+
dotnetCli *dotnet.Cli `container:"type"`
3737
envManager environment.Manager `container:"type"`
3838
}
3939

cli/azd/internal/vsrpc/environment_service_load.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (s *environmentService) loadEnvironmentAsync(
6565
azdCtx *azdcontext.AzdContext `container:"type"`
6666
envManager environment.Manager `container:"type"`
6767
projectConfig *project.ProjectConfig `container:"type"`
68-
dotnetCli dotnet.DotNetCli `container:"type"`
68+
dotnetCli *dotnet.Cli `container:"type"`
6969
dotnetImporter *project.DotNetImporter `container:"type"`
7070
}
7171

cli/azd/internal/vsrpc/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
// appHostServiceForProject returns the ServiceConfig of the service for the AppHost project for the given azd project.
1818
func appHostForProject(
19-
ctx context.Context, pc *project.ProjectConfig, dotnetCli dotnet.DotNetCli,
19+
ctx context.Context, pc *project.ProjectConfig, dotnetCli *dotnet.Cli,
2020
) (*project.ServiceConfig, error) {
2121
for _, service := range pc.Services {
2222
if service.Language == project.ServiceLanguageDotNet {

cli/azd/pkg/ai/python_bridge.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ type PythonBridge interface {
3636
// pythonBridge is a bridge to execute python components from the embedded AI resources project
3737
type pythonBridge struct {
3838
azdCtx *azdcontext.AzdContext
39-
pythonCli *python.PythonCli
39+
pythonCli *python.Cli
4040
workingDir string
4141
initialized bool
4242
}
4343

4444
// NewPythonBridge creates a new PythonBridge instance
4545
func NewPythonBridge(
4646
azdCtx *azdcontext.AzdContext,
47-
pythonCli *python.PythonCli,
47+
pythonCli *python.Cli,
4848
) PythonBridge {
4949
return &pythonBridge{
5050
azdCtx: azdCtx,

cli/azd/pkg/ai/python_bridge_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
func Test_PythonBridge_Init(t *testing.T) {
1919
tempDir := t.TempDir()
2020
mockContext := mocks.NewMockContext(context.Background())
21-
pythonCli := python.NewPythonCli(mockContext.CommandRunner)
21+
pythonCli := python.NewCli(mockContext.CommandRunner)
2222
azdCtx := azdcontext.NewAzdContextWithDirectory(tempDir)
2323

2424
azdConfigDir := filepath.Join(tempDir, ".azd")
@@ -56,7 +56,7 @@ func Test_PythonBridge_Init(t *testing.T) {
5656

5757
func Test_PythonBridge_Run(t *testing.T) {
5858
mockContext := mocks.NewMockContext(context.Background())
59-
pythonCli := python.NewPythonCli(mockContext.CommandRunner)
59+
pythonCli := python.NewCli(mockContext.CommandRunner)
6060
azdCtx := azdcontext.NewAzdContextWithDirectory(t.TempDir())
6161

6262
ran := false

cli/azd/pkg/apphost/generate_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func TestAspireBicepGeneration(t *testing.T) {
7474
filesFromManifest["aspire.hosting.azure.bicep.appinsights.bicep"] = ignoredBicepContent
7575
filesFromManifest["aspire.hosting.azure.bicep.sql.bicep"] = ignoredBicepContent
7676
mockPublishManifest(mockCtx, aspireBicepManifest, filesFromManifest)
77-
mockCli := dotnet.NewDotNetCli(mockCtx.CommandRunner)
77+
mockCli := dotnet.NewCli(mockCtx.CommandRunner)
7878

7979
m, err := ManifestFromAppHost(ctx, filepath.Join("testdata", "AspireDocker.AppHost.csproj"), mockCli, "")
8080
require.NoError(t, err)
@@ -117,7 +117,7 @@ func TestAspireDockerGeneration(t *testing.T) {
117117
ctx := context.Background()
118118
mockCtx := mocks.NewMockContext(ctx)
119119
mockPublishManifest(mockCtx, aspireDockerManifest, nil)
120-
mockCli := dotnet.NewDotNetCli(mockCtx.CommandRunner)
120+
mockCli := dotnet.NewCli(mockCtx.CommandRunner)
121121

122122
m, err := ManifestFromAppHost(ctx, filepath.Join("testdata", "AspireDocker.AppHost.csproj"), mockCli, "")
123123
require.NoError(t, err)
@@ -160,7 +160,7 @@ func TestAspireDashboardGeneration(t *testing.T) {
160160
ctx := context.Background()
161161
mockCtx := mocks.NewMockContext(ctx)
162162
mockPublishManifest(mockCtx, aspireDockerManifest, nil)
163-
mockCli := dotnet.NewDotNetCli(mockCtx.CommandRunner)
163+
mockCli := dotnet.NewCli(mockCtx.CommandRunner)
164164

165165
m, err := ManifestFromAppHost(ctx, filepath.Join("testdata", "AspireDocker.AppHost.csproj"), mockCli, "")
166166
require.NoError(t, err)
@@ -195,7 +195,7 @@ func TestAspireArgsGeneration(t *testing.T) {
195195
ctx := context.Background()
196196
mockCtx := mocks.NewMockContext(ctx)
197197
mockPublishManifest(mockCtx, aspireArgsManifest, nil)
198-
mockCli := dotnet.NewDotNetCli(mockCtx.CommandRunner)
198+
mockCli := dotnet.NewCli(mockCtx.CommandRunner)
199199

200200
m, err := ManifestFromAppHost(ctx, filepath.Join("testdata", "AspireArgs.AppHost.csproj"), mockCli, "")
201201
require.NoError(t, err)
@@ -214,7 +214,7 @@ func TestAspireContainerGeneration(t *testing.T) {
214214
ctx := context.Background()
215215
mockCtx := mocks.NewMockContext(ctx)
216216
mockPublishManifest(mockCtx, aspireContainerManifest, nil)
217-
mockCli := dotnet.NewDotNetCli(mockCtx.CommandRunner)
217+
mockCli := dotnet.NewCli(mockCtx.CommandRunner)
218218

219219
m, err := ManifestFromAppHost(ctx, filepath.Join("testdata", "AspireDocker.AppHost.csproj"), mockCli, "")
220220
require.NoError(t, err)

cli/azd/pkg/apphost/manifest.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ type InputDefault struct {
185185

186186
// ManifestFromAppHost returns the Manifest from the given app host.
187187
func ManifestFromAppHost(
188-
ctx context.Context, appHostProject string, dotnetCli dotnet.DotNetCli, dotnetEnv string,
188+
ctx context.Context, appHostProject string, dotnetCli *dotnet.Cli, dotnetEnv string,
189189
) (*Manifest, error) {
190190
tempDir, err := os.MkdirTemp("", "azd-provision")
191191
if err != nil {

cli/azd/pkg/azd/default.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func (p *DefaultPlatform) IsEnabled() bool {
4545
// ConfigureContainer configures the IoC container for the default platform components
4646
func (p *DefaultPlatform) ConfigureContainer(container *ioc.NestedContainer) error {
4747
// Tools
48-
container.MustRegisterSingleton(terraform.NewTerraformCli)
48+
container.MustRegisterSingleton(terraform.NewCli)
4949
container.MustRegisterSingleton(bicep.NewCli)
5050

5151
// Provisioning Providers

cli/azd/pkg/github/remote.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ var gitHubRemoteHttpsUrlRegex = regexp.MustCompile(`^https://(?:www\.)?github\.c
1818
// `repositoryPath` has a remote and it is configured with a
1919
// URL for a repository hosted on GitHub.
2020
// It returns the repository slug `(<organization>/<repo>)`.
21-
func EnsureRemote(ctx context.Context, repositoryPath string, remoteName string, gitCli git.GitCli) (string, error) {
21+
func EnsureRemote(ctx context.Context, repositoryPath string, remoteName string, gitCli *git.Cli) (string, error) {
2222
remoteUrl, err := gitCli.GetRemoteUrl(ctx, repositoryPath, remoteName)
2323
if err != nil {
2424
return "", fmt.Errorf("failed to get remote url: %w", err)

cli/azd/pkg/infra/provisioning/terraform/terraform_provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ type TerraformProvider struct {
3333
env *environment.Environment
3434
prompters prompt.Prompter
3535
console input.Console
36-
cli terraform.TerraformCli
36+
cli *terraform.Cli
3737
curPrincipal CurrentPrincipalIdProvider
3838
projectPath string
3939
options Options
@@ -56,7 +56,7 @@ func (t *TerraformProvider) RequiredExternalTools() []tools.ExternalTool {
5656

5757
// NewTerraformProvider creates a new instance of a Terraform Infra provider
5858
func NewTerraformProvider(
59-
cli terraform.TerraformCli,
59+
cli *terraform.Cli,
6060
envManager environment.Manager,
6161
env *environment.Environment,
6262
console input.Console,

cli/azd/pkg/infra/provisioning/terraform/terraform_provider_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func createTerraformProvider(t *testing.T, mockContext *mocks.MockContext) *Terr
129129
envManager.On("Save", mock.Anything, mock.Anything).Return(nil)
130130

131131
provider := NewTerraformProvider(
132-
terraformTools.NewTerraformCli(mockContext.CommandRunner),
132+
terraformTools.NewCli(mockContext.CommandRunner),
133133
envManager,
134134
env,
135135
mockContext.Console,

cli/azd/pkg/pipeline/azdo_provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ type AzdoScmProvider struct {
3838
azdoConnection *azuredevops.Connection
3939
commandRunner exec.CommandRunner
4040
console input.Console
41-
gitCli git.GitCli
41+
gitCli *git.Cli
4242
}
4343

4444
func NewAzdoScmProvider(
@@ -47,7 +47,7 @@ func NewAzdoScmProvider(
4747
azdContext *azdcontext.AzdContext,
4848
commandRunner exec.CommandRunner,
4949
console input.Console,
50-
gitCli git.GitCli,
50+
gitCli *git.Cli,
5151
) ScmProvider {
5252
return &AzdoScmProvider{
5353
envManager: envManager,

0 commit comments

Comments
 (0)