Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Commit

Permalink
Simplify --output-graph processing
Browse files Browse the repository at this point in the history
  • Loading branch information
jandubois committed Dec 3, 2018
1 parent 75ec5a4 commit 2663a29
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 54 deletions.
8 changes: 8 additions & 0 deletions app/fissile.go
Expand Up @@ -74,6 +74,11 @@ func NewFissileApplication(version string, ui *termui.UI) *Fissile {
}
}

// Cleanup is a destructor
func (f *Fissile) Cleanup() {
f.GraphEnd()
}

// CompilationDir returns the path to the compilation directory
func (f *Fissile) CompilationDir() string {
return filepath.Join(f.Options.WorkDir, "compilation")
Expand Down Expand Up @@ -1030,6 +1035,9 @@ func (f *Fissile) generateKubeRoles(settings kube.ExportSettings) error {

// GraphBegin will start logging hash information to the given file
func (f *Fissile) GraphBegin(outputPath string) error {
if outputPath == "" {
return nil
}
file, err := os.Create(outputPath)
if err != nil {
return err
Expand Down
19 changes: 6 additions & 13 deletions cmd/build-helm.go
Expand Up @@ -21,15 +21,18 @@ var buildHelmCmd = &cobra.Command{
Short: "Creates Helm chart.",
Long: ``,
RunE: func(cmd *cobra.Command, args []string) error {

flagBuildHelmOutputDir = buildHelmViper.GetString("output-dir")
flagBuildHelmUseMemoryLimits = buildHelmViper.GetBool("use-memory-limits")
flagBuildHelmUseCPULimits = buildHelmViper.GetBool("use-cpu-limits")
flagBuildHelmTagExtra = buildHelmViper.GetString("tag-extra")
flagBuildOutputGraph = buildViper.GetString("output-graph")
flagBuildHelmAuthType = buildHelmViper.GetString("auth-type")

err := fissile.LoadManifest()
err := fissile.GraphBegin(buildViper.GetString("output-graph"))
if err != nil {
return err
}

err = fissile.LoadManifest()
if err != nil {
return err
}
Expand Down Expand Up @@ -58,16 +61,6 @@ var buildHelmCmd = &cobra.Command{
AuthType: flagBuildHelmAuthType,
}

if flagBuildOutputGraph != "" {
err = fissile.GraphBegin(flagBuildOutputGraph)
if err != nil {
return err
}
defer func() {
fissile.GraphEnd()
}()
}

return fissile.GenerateKube(settings)
},
}
Expand Down
18 changes: 5 additions & 13 deletions cmd/build-images.go
Expand Up @@ -53,10 +53,12 @@ from other specs. At most one is allowed.
opt.Labels[parts[0]] = parts[1]
}

// "global" fissile build option
flagBuildOutputGraph = buildViper.GetString("output-graph")
err := fissile.GraphBegin(buildViper.GetString("output-graph"))
if err != nil {
return err
}

err := fissile.LoadManifest()
err = fissile.LoadManifest()
if err != nil {
return err
}
Expand All @@ -66,16 +68,6 @@ from other specs. At most one is allowed.
opt.Force = true
}

if flagBuildOutputGraph != "" {
err = fissile.GraphBegin(flagBuildOutputGraph)
if err != nil {
return err
}
defer func() {
fissile.GraphEnd()
}()
}

return fissile.GenerateRoleImages(opt)
},
}
Expand Down
19 changes: 6 additions & 13 deletions cmd/build-kube.go
Expand Up @@ -20,14 +20,17 @@ var buildKubeCmd = &cobra.Command{
Short: "Creates Kubernetes configuration files.",
Long: ``,
RunE: func(cmd *cobra.Command, args []string) error {

flagBuildKubeOutputDir = buildKubeViper.GetString("output-dir")
flagBuildKubeUseMemoryLimits = buildKubeViper.GetBool("use-memory-limits")
flagBuildKubeUseCPULimits = buildKubeViper.GetBool("use-cpu-limits")
flagBuildKubeTagExtra = buildKubeViper.GetString("tag-extra")
flagBuildOutputGraph = buildViper.GetString("output-graph")

err := fissile.LoadManifest()
err := fissile.GraphBegin(buildViper.GetString("output-graph"))
if err != nil {
return err
}

err = fissile.LoadManifest()
if err != nil {
return err
}
Expand Down Expand Up @@ -55,16 +58,6 @@ var buildKubeCmd = &cobra.Command{
TagExtra: flagBuildKubeTagExtra,
}

if flagBuildOutputGraph != "" {
err = fissile.GraphBegin(flagBuildOutputGraph)
if err != nil {
return err
}
defer func() {
fissile.GraphEnd()
}()
}

return fissile.GenerateKube(settings)
},
}
Expand Down
15 changes: 4 additions & 11 deletions cmd/build-packages.go
Expand Up @@ -31,29 +31,22 @@ same package (with the same version) is used by multiple releases, it will only
compiled once.
`,
RunE: func(cmd *cobra.Command, args []string) error {

flagBuildPackagesRoles := buildPackagesViper.GetString("roles")
flagBuildPackagesOnlyReleases := buildPackagesViper.GetString("only-releases")
flagBuildPackagesWithoutDocker := buildPackagesViper.GetBool("without-docker")
flagBuildPackagesDockerNetworkMode := buildPackagesViper.GetString("docker-network-mode")
flagBuildPackagesStemcell := buildPackagesViper.GetString("stemcell")
flagBuildOutputGraph = buildViper.GetString("output-graph")
flagBuildCompilationCacheConfig := buildPackagesViper.GetString("compilation-cache-config")
flagBuildPackagesStreamPackages := buildPackagesViper.GetBool("stream-packages")

err := fissile.LoadManifest()
err := fissile.GraphBegin(buildViper.GetString("output-graph"))
if err != nil {
return err
}

if flagBuildOutputGraph != "" {
err = fissile.GraphBegin(flagBuildOutputGraph)
if err != nil {
return err
}
defer func() {
fissile.GraphEnd()
}()
err = fissile.LoadManifest()
if err != nil {
return err
}

hasher := sha1.New()
Expand Down
4 changes: 0 additions & 4 deletions cmd/build.go
Expand Up @@ -5,10 +5,6 @@ import (
"github.com/spf13/viper"
)

var (
flagBuildOutputGraph string
)

// buildCmd represents the build command
var buildCmd = &cobra.Command{
Use: "build",
Expand Down
1 change: 1 addition & 0 deletions main.go
Expand Up @@ -40,6 +40,7 @@ func main() {
}

f := app.NewFissileApplication(version, ui)
defer f.Cleanup()

if err := cmd.Execute(f, version); err != nil {
ui.Println(color.RedString("%v", err))
Expand Down

0 comments on commit 2663a29

Please sign in to comment.