MCPcopy Create free account
hub / github.com/cloudfoundry/nodejs-buildpack / Run

Function Run

src/nodejs/supply/supply.go:90–197  ·  view source on GitHub ↗
(s *Supplier)

Source from the content-addressed store, hash-verified

88}
89
90func Run(s *Supplier) error {
91 return checksum.Do(s.Stager.BuildDir(), s.Log.Debug, func() error {
92 s.Log.BeginStep("Bootstrapping python")
93 if err := s.BootstrapPython(); err != nil {
94 s.Log.Error("Unable to bootstrap python: %s", err.Error())
95 return err
96 }
97
98 s.Log.BeginStep("Installing binaries")
99
100 if err := s.LoadPackageJSON(); err != nil {
101 s.Log.Error("Unable to load package.json: %s", err.Error())
102 return err
103 }
104
105 if err := s.LoadNvmrc(); err != nil {
106 s.Log.Error("Unable to load .nvmrc: %s", err.Error())
107 return err
108 }
109
110 s.WarnNodeEngine()
111
112 if err := s.ChooseNodeVersion(); err != nil {
113 s.Log.Error("Unable to install node: %s", err.Error())
114 return err
115 }
116
117 if err := s.InstallNode(); err != nil {
118 s.Log.Error("Unable to install node: %s", err.Error())
119 return err
120 }
121
122 if err := s.InstallNPM(); err != nil {
123 s.Log.Error("Unable to install npm: %s", err.Error())
124 return err
125 }
126
127 if err := s.InstallYarn(); err != nil {
128 s.Log.Error("Unable to install yarn: %s", err.Error())
129 return err
130 }
131
132 if err := s.CreateDefaultEnv(); err != nil {
133 s.Log.Error("Unable to setup default environment: %s", err.Error())
134 return err
135 }
136
137 if err := s.Stager.SetStagingEnvironment(); err != nil {
138 s.Log.Error("Unable to setup environment variables: %s", err.Error())
139 os.Exit(11)
140 }
141
142 if err := s.ReadPackageJSON(); err != nil {
143 s.Log.Error("Failed parsing package.json: %s", err.Error())
144 return err
145 }
146
147 if err := s.TipVendorDependencies(); err != nil {

Callers 1

mainFunction · 0.92

Calls 15

BootstrapPythonMethod · 0.80
LoadPackageJSONMethod · 0.80
LoadNvmrcMethod · 0.80
WarnNodeEngineMethod · 0.80
ChooseNodeVersionMethod · 0.80
InstallNodeMethod · 0.80
InstallNPMMethod · 0.80
InstallYarnMethod · 0.80
CreateDefaultEnvMethod · 0.80
TipVendorDependenciesMethod · 0.80
NoPackageLockTipMethod · 0.80
ListNodeConfigMethod · 0.80

Tested by

no test coverage detected