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

Function main

src/nodejs/finalize/cli/main.go:14–72  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

12)
13
14func main() {
15 logfile, err := os.CreateTemp("", "cloudfoundry.nodejs-buildpack.finalize")
16 if err != nil {
17 logger := libbuildpack.NewLogger(os.Stdout)
18 logger.Error("Unable to create log file: %s", err.Error())
19 os.Exit(8)
20 }
21 defer logfile.Close()
22
23 stdout := io.MultiWriter(os.Stdout, logfile)
24 logger := libbuildpack.NewLogger(stdout)
25
26 buildpackDir, err := libbuildpack.GetBuildpackDir()
27 if err != nil {
28 logger.Error("Unable to determine buildpack directory: %s", err.Error())
29 os.Exit(9)
30 }
31
32 manifest, err := libbuildpack.NewManifest(buildpackDir, logger, time.Now())
33 if err != nil {
34 logger.Error("Unable to load buildpack manifest: %s", err.Error())
35 os.Exit(10)
36 }
37
38 stager := libbuildpack.NewStager(os.Args[1:], logger, manifest)
39
40 if err = manifest.ApplyOverride(stager.DepsDir()); err != nil {
41 logger.Error("Unable to apply override.yml files: %s", err)
42 os.Exit(17)
43 }
44
45 if err := stager.SetStagingEnvironment(); err != nil {
46 logger.Error("Unable to setup environment variables: %s", err.Error())
47 os.Exit(11)
48 }
49
50 f := finalize.Finalizer{
51 Stager: stager,
52 Manifest: manifest,
53 Log: logger,
54 Logfile: logfile,
55 }
56
57 if err := finalize.Run(&f); err != nil {
58 os.Exit(12)
59 }
60
61 if err := libbuildpack.RunAfterCompile(stager); err != nil {
62 logger.Error("After Compile: %s", err.Error())
63 os.Exit(13)
64 }
65
66 if err := stager.SetLaunchEnvironment(); err != nil {
67 logger.Error("Unable to setup launch environment: %s", err.Error())
68 os.Exit(14)
69 }
70
71 stager.StagingComplete()

Callers

nothing calls this directly

Calls 2

SetStagingEnvironmentMethod · 0.95
RunFunction · 0.92

Tested by

no test coverage detected