Commit 0de922d1 authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

Make environment config export variables

parent 2e1b5076
...@@ -34,34 +34,30 @@ type Command interface { ...@@ -34,34 +34,30 @@ type Command interface {
// if you're building a custom Packer binary, you could instantiate multiple // if you're building a custom Packer binary, you could instantiate multiple
// environments and run them in parallel. // environments and run them in parallel.
type Environment struct { type Environment struct {
builder map[string]Builder builderFactory BuilderFactory
command map[string]Command command map[string]Command
ui Ui ui Ui
} }
// This struct configures new environments. // This struct configures new environments.
type EnvironmentConfig struct { type EnvironmentConfig struct {
builder map[string]Builder BuilderFactory BuilderFactory
command map[string]Command Command map[string]Command
ui Ui Ui Ui
} }
// This creates a new environment // This creates a new environment
func NewEnvironment(config *EnvironmentConfig) *Environment { func NewEnvironment(config *EnvironmentConfig) *Environment {
env := &Environment{} env := &Environment{}
env.builder = make(map[string]Builder)
env.command = make(map[string]Command) env.command = make(map[string]Command)
if config != nil { if config != nil {
for k, v := range config.builder { for k, v := range config.Command {
env.builder[k] = v
}
for k, v := range config.command {
env.command[k] = v env.command[k] = v
} }
env.ui = config.ui env.builderFactory = config.BuilderFactory
env.ui = config.Ui
} }
if _, ok := env.command["build"]; !ok { if _, ok := env.command["build"]; !ok {
...@@ -79,12 +75,6 @@ func NewEnvironment(config *EnvironmentConfig) *Environment { ...@@ -79,12 +75,6 @@ func NewEnvironment(config *EnvironmentConfig) *Environment {
return env return env
} }
// Looks up a builder with the given name and returns an interface
// to access it.
func (e *Environment) Builder(name string) Builder {
return e.builder[name]
}
// Executes a command as if it was typed on the command-line interface. // Executes a command as if it was typed on the command-line interface.
// The return value is the exit code of the command. // The return value is the exit code of the command.
func (e *Environment) Cli(args []string) int { func (e *Environment) Cli(args []string) int {
......
...@@ -83,7 +83,7 @@ func TestEnvironment_SettingUi(t *testing.T) { ...@@ -83,7 +83,7 @@ func TestEnvironment_SettingUi(t *testing.T) {
ui := &ReaderWriterUi{new(bytes.Buffer), new(bytes.Buffer)} ui := &ReaderWriterUi{new(bytes.Buffer), new(bytes.Buffer)}
config := &EnvironmentConfig{} config := &EnvironmentConfig{}
config.ui = ui config.Ui = ui
env := NewEnvironment(config) env := NewEnvironment(config)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment