Added support for tile-config-generator
This commit is contained in:
parent
7499ce7fb3
commit
e549954a09
|
@ -34,6 +34,7 @@ func Configure(logger *log.Logger, app *kingpin.Application) {
|
|||
&DownloadCommand{logger: logger, global: &global},
|
||||
&ConfigTemplateCommand{logger: logger, global: &global},
|
||||
&GolangTemplateCommand{logger: logger, global: &global},
|
||||
&TileConfigCommand{logger: logger, global: &global},
|
||||
}
|
||||
|
||||
for _, c := range cmds {
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
package commands
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"github.com/pivotalservices/tile-config-generator/generator"
|
||||
"github.com/starkandwayne/pivy/pivnet"
|
||||
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
||||
)
|
||||
|
||||
type TileConfigCommand struct {
|
||||
global *global
|
||||
logger *log.Logger
|
||||
tile pivnet.TileFile
|
||||
baseDirectory string
|
||||
doNotIncludeProductVersion bool
|
||||
includeErrands bool
|
||||
}
|
||||
|
||||
const tileConfigName = "generate-tile-config"
|
||||
|
||||
func (cmd *TileConfigCommand) register(app *kingpin.Application) {
|
||||
c := app.Command(tileConfigName, "Generate tile-config-generator compatible tile config directory").Action(cmd.run)
|
||||
registerTileFlags(c, &cmd.tile)
|
||||
app.Flag(
|
||||
"base-directory",
|
||||
"base directory to place generated config templates",
|
||||
).Required().StringVar(&cmd.baseDirectory)
|
||||
app.Flag(
|
||||
"do-not-include-product-version",
|
||||
"flag to use a flat output folder",
|
||||
).Default("false").BoolVar(&cmd.doNotIncludeProductVersion)
|
||||
app.Flag(
|
||||
"include-errands",
|
||||
"feature flag to include errands",
|
||||
).Default("false").BoolVar(&cmd.includeErrands)
|
||||
}
|
||||
|
||||
func (cmd *TileConfigCommand) run(c *kingpin.ParseContext) error {
|
||||
piv, err := cmd.global.NewPivnetSdk(cmd.logger)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
link, err := piv.TileDownloadLink(cmd.tile)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
metaData, err := piv.DownloadTileMetaDataFromLink(link)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return generator.NewExecutor(metaData, cmd.baseDirectory, cmd.doNotIncludeProductVersion, cmd.includeErrands).Generate()
|
||||
}
|
1
go.mod
1
go.mod
|
@ -30,6 +30,7 @@ require (
|
|||
github.com/pivotal-cf/kiln v0.0.0-20181201001855-3e8211a50c91
|
||||
github.com/pivotal-cf/om v0.0.0-20181130184206-81ba5acde680
|
||||
github.com/pivotal-cf/pivnet-cli v0.0.55
|
||||
github.com/pivotalservices/tile-config-generator v0.0.14
|
||||
github.com/sergi/go-diff v1.0.0
|
||||
github.com/stretchr/testify v1.3.0 // indirect
|
||||
github.com/ulikunitz/xz v0.5.5 // indirect
|
||||
|
|
2
go.sum
2
go.sum
|
@ -87,6 +87,8 @@ github.com/pivotal-cf/om v0.0.0-20181130184206-81ba5acde680 h1:bQElu4y+5DKjxqDdL
|
|||
github.com/pivotal-cf/om v0.0.0-20181130184206-81ba5acde680/go.mod h1:lvUXUJbWlZpq3odWwJ67T2IbKSNxkvUuLOooTFo98t8=
|
||||
github.com/pivotal-cf/pivnet-cli v0.0.55 h1:R8mnLHUVb9DWuVqHdmkLCltG7bUTJq9nj5OexPt5Y2s=
|
||||
github.com/pivotal-cf/pivnet-cli v0.0.55/go.mod h1:GIenTUfi8rXtvDXnOuUMfQ+ZofegQ+7XG2Hby3jB0+4=
|
||||
github.com/pivotalservices/tile-config-generator v0.0.14 h1:Vzg2eDAAplfQrMqKt+JyrUCtsQxGdF5WESd7z4b6n9M=
|
||||
github.com/pivotalservices/tile-config-generator v0.0.14/go.mod h1:zh+sJ4VmfFlILmgu3zaKqmryET0fKOxtnMQAS6nPsRU=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/robdimsdale/sanitizer v0.0.0-20160522134901-ab2334cb7539/go.mod h1:tqCODtkKV+9Tfvt9JURvKCTxJ69bA/OU/QhsaQLK/rc=
|
||||
|
|
Loading…
Reference in New Issue