MCPcopy Index your code
hub / github.com/cloudfoundry/cli / AddPluginRepository

Method AddPluginRepository

actor/pluginaction/plugin_repository.go:11–45  ·  view source on GitHub ↗
(repoName string, repoURL string)

Source from the content-addressed store, hash-verified

9)
10
11func (actor Actor) AddPluginRepository(repoName string, repoURL string) error {
12 normalizedURL, err := normalizeURLPath(repoURL)
13 if err != nil {
14 return actionerror.AddPluginRepositoryError{
15 Name: repoName,
16 URL: repoURL,
17 Message: err.Error(),
18 }
19 }
20
21 repoNameLowerCased := strings.ToLower(repoName)
22 for _, repository := range actor.config.PluginRepositories() {
23 existingRepoNameLowerCased := strings.ToLower(repository.Name)
24 switch {
25 case repoNameLowerCased == existingRepoNameLowerCased && normalizedURL == repository.URL:
26 return actionerror.RepositoryAlreadyExistsError{Name: repository.Name, URL: repository.URL}
27 case repoNameLowerCased == existingRepoNameLowerCased && normalizedURL != repository.URL:
28 return actionerror.RepositoryNameTakenError{Name: repository.Name}
29 case repoNameLowerCased != existingRepoNameLowerCased:
30 continue
31 }
32 }
33
34 _, err = actor.client.GetPluginRepository(normalizedURL)
35 if err != nil {
36 return actionerror.AddPluginRepositoryError{
37 Name: repoName,
38 URL: normalizedURL,
39 Message: err.Error(),
40 }
41 }
42
43 actor.config.AddPluginRepository(repoName, normalizedURL)
44 return nil
45}
46
47func (actor Actor) GetPluginRepository(repositoryName string) (configv3.PluginRepository, error) {
48 repositoryNameLowered := strings.ToLower(repositoryName)

Callers

nothing calls this directly

Implementers 1

FakeActorcommand/v7/v7fakes/fake_actor.go

Calls 5

normalizeURLPathFunction · 0.85
ErrorMethod · 0.65
PluginRepositoriesMethod · 0.65
GetPluginRepositoryMethod · 0.65
AddPluginRepositoryMethod · 0.65

Tested by

no test coverage detected