MCPcopy
hub / github.com/cloudfoundry/cli / NewDependency

Function NewDependency

cf/commandregistry/dependency.go:77–161  ·  view source on GitHub ↗
(writer io.Writer, logger trace.Printer, envDialTimeout string)

Source from the content-addressed store, hash-verified

75}
76
77func NewDependency(writer io.Writer, logger trace.Printer, envDialTimeout string) Dependency {
78 deps := Dependency{}
79 deps.TeePrinter = terminal.NewTeePrinter(writer)
80 deps.UI = terminal.NewUI(os.Stdin, writer, deps.TeePrinter, logger)
81
82 errorHandler := func(err error) {
83 if err != nil {
84 deps.UI.Failed(fmt.Sprintf("Config error: %s", err))
85 }
86 }
87
88 configPath, err := confighelpers.DefaultFilePath()
89 if err != nil {
90 errorHandler(err)
91 }
92 deps.Config = coreconfig.NewRepositoryFromFilepath(configPath, errorHandler)
93
94 deps.ManifestRepo = manifest.NewDiskRepository()
95 deps.AppManifest = manifest.NewGenerator()
96
97 pluginPath := filepath.Join(confighelpers.PluginRepoDir(), ".cf", "plugins")
98 deps.PluginConfig = pluginconfig.NewPluginConfig(
99 errorHandler,
100 configuration.NewDiskPersistor(filepath.Join(pluginPath, "config.json")),
101 pluginPath,
102 )
103
104 terminal.UserAskedForColors = deps.Config.ColorEnabled()
105 terminal.InitColorSupport()
106
107 deps.Gateways = map[string]net.Gateway{
108 "cloud-controller": net.NewCloudControllerGateway(deps.Config, time.Now, deps.UI, logger, envDialTimeout),
109 "uaa": net.NewUAAGateway(deps.Config, deps.UI, logger, envDialTimeout),
110 "routing-api": net.NewRoutingAPIGateway(deps.Config, time.Now, deps.UI, logger, envDialTimeout),
111 }
112 deps.RepoLocator = api.NewRepositoryLocator(deps.Config, deps.Gateways, logger, envDialTimeout)
113
114 deps.PluginModels = &PluginModels{Application: nil}
115
116 deps.PlanBuilder = planbuilder.NewBuilder(
117 deps.RepoLocator.GetServicePlanRepository(),
118 deps.RepoLocator.GetServicePlanVisibilityRepository(),
119 deps.RepoLocator.GetOrganizationRepository(),
120 )
121
122 deps.ServiceBuilder = servicebuilder.NewBuilder(
123 deps.RepoLocator.GetServiceRepository(),
124 deps.PlanBuilder,
125 )
126
127 deps.BrokerBuilder = brokerbuilder.NewBuilder(
128 deps.RepoLocator.GetServiceBrokerRepository(),
129 deps.ServiceBuilder,
130 )
131
132 deps.PluginRepo = pluginrepo.NewPluginRepo()
133
134 deps.ServiceHandler = actors.NewServiceHandler(

Callers 15

CallCoreCommandMethod · 0.92
GetAppMethod · 0.92
GetAppsMethod · 0.92
GetOrgsMethod · 0.92
GetSpacesMethod · 0.92
GetServicesMethod · 0.92
GetOrgUsersMethod · 0.92
GetSpaceUsersMethod · 0.92
GetOrgMethod · 0.92
GetSpaceMethod · 0.92
GetServiceMethod · 0.92

Calls 15

NewTeePrinterFunction · 0.92
NewUIFunction · 0.92
DefaultFilePathFunction · 0.92
NewDiskRepositoryFunction · 0.92
NewGeneratorFunction · 0.92
NewPluginConfigFunction · 0.92
NewDiskPersistorFunction · 0.92
InitColorSupportFunction · 0.92
NewUAAGatewayFunction · 0.92
NewRoutingAPIGatewayFunction · 0.92

Tested by

no test coverage detected