Skip to content

Commit

Permalink
Merge pull request #483 from vdice/fix/no-outputs
Browse files Browse the repository at this point in the history
fix(adapter.go): don't add empty outputs section to generated bundle
  • Loading branch information
carolynvs-msft committed Aug 1, 2019
2 parents 94f443a + 7ae6a59 commit f1a892d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 24 deletions.
52 changes: 28 additions & 24 deletions pkg/cnab/config_adapter/adapter.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,34 +169,38 @@ func (c *ManifestConverter) generateBundleParameters(defs *definition.Definition
}

func (c *ManifestConverter) generateBundleOutputs(defs *definition.Definitions) *bundle.OutputsDefinition {
outputs := &bundle.OutputsDefinition{
Fields: make(map[string]bundle.OutputDefinition, len(c.Manifest.Outputs)),
}
var outputs *bundle.OutputsDefinition

for _, output := range c.Manifest.Outputs {
fmt.Fprintf(c.Out, "Generating output definition %s ====>\n", output.Name)
d := &definition.Schema{
Type: output.Type,
Default: output.Default,
Enum: output.Enum,
Minimum: output.Minimum,
Maximum: output.Maximum,
MinLength: output.MinLength,
MaxLength: output.MaxLength,
}
o := bundle.OutputDefinition{
Definition: output.Name,
Description: output.Description,
ApplyTo: output.ApplyTo,
Path: filepath.Join(config.BundleOutputsDir, output.Name),
if len(c.Manifest.Outputs) > 0 {
outputs = &bundle.OutputsDefinition{
Fields: make(map[string]bundle.OutputDefinition, len(c.Manifest.Outputs)),
}

// Only set definition if it doesn't already exist
// (Both Params and Outputs may reference same Definition)
if _, exists := (*defs)[output.Name]; !exists {
(*defs)[output.Name] = d
for _, output := range c.Manifest.Outputs {
fmt.Fprintf(c.Out, "Generating output definition %s ====>\n", output.Name)
d := &definition.Schema{
Type: output.Type,
Default: output.Default,
Enum: output.Enum,
Minimum: output.Minimum,
Maximum: output.Maximum,
MinLength: output.MinLength,
MaxLength: output.MaxLength,
}
o := bundle.OutputDefinition{
Definition: output.Name,
Description: output.Description,
ApplyTo: output.ApplyTo,
Path: filepath.Join(config.BundleOutputsDir, output.Name),
}

// Only set definition if it doesn't already exist
// (Both Params and Outputs may reference same Definition)
if _, exists := (*defs)[output.Name]; !exists {
(*defs)[output.Name] = d
}
outputs.Fields[output.Name] = o
}
outputs.Fields[output.Name] = o
}
return outputs
}
Expand Down
2 changes: 2 additions & 0 deletions pkg/cnab/config_adapter/adapter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ func TestManifestConverter_ToBundle(t *testing.T) {

assert.Contains(t, bun.Custom, config.CustomBundleKey, "Porter stamp was not populated")
assert.Contains(t, bun.Custom, extensions.DependenciesKey, "Dependencies was not populated")

assert.Nil(t, bun.Outputs, "expected outputs section not to exist in generated bundle")
}

func makefloat64(v float64) *float64 {
Expand Down

0 comments on commit f1a892d

Please sign in to comment.