Mitchell Hashimoto
1bd9288c5f
packer: Use strings operations, faster than regexp and easy
...
/cc @sit
2013-07-20 16:50:18 -07:00
Emil Sit
594476ec91
packer/cache: Preserve any extension found on keys
...
This allows us to hand cache paths to any programs that may want to
interpret file extensions in order to behave differently. For
example, VirtualBox may want ISO images to end with .iso.
2013-07-20 00:19:05 -04:00
Emil Sit
c5fe163352
packer/cache: Extract cache path calculation to method
2013-07-20 00:15:14 -04:00
Mitchell Hashimoto
16d102d055
builder/*: switch to MultiErrorAppend
2013-07-19 19:08:25 -04:00
Mitchell Hashimoto
9db2f2f676
packer: MultiErrorAppend helper method.
2013-07-19 18:14:50 -04:00
Mitchell Hashimoto
ff7c51b5c5
packer: fix failing tests
2013-07-19 14:13:02 -04:00
Julian Phillips
40897fdfc2
packer/template: Remove name from builder rawConfig
...
This prevents the builder from rejecting the name (which it doesn't
know about) when validating the config.
2013-07-19 15:36:13 +01:00
Julian Phillips
dee1bc6c67
packer/template: Test that builder.rawConfig excludes name
...
The name isn't actually part of the builder config, so it should be
removed during parsing.
2013-07-19 15:35:05 +01:00
Mitchell Hashimoto
a179220a84
Up version for dev
2013-07-16 11:44:15 -07:00
Mitchell Hashimoto
ce995d77a4
v0.2.0
2013-07-16 11:26:02 -07:00
Mitchell Hashimoto
9387ba0fd4
packer: Make builder type available in configs [GH-154]
2013-07-15 09:58:32 +09:00
Mitchell Hashimoto
f621f88913
packer: move constants into a single const()
2013-07-15 09:55:41 +09:00
Mitchell Hashimoto
afea628e2c
Merge pull request #181 from qur/overrides
...
packer: Delete "override" key for config passed to provisioners
2013-07-14 17:22:01 -07:00
Mitchell Hashimoto
c51ecbbc43
packer: Add failing test for [GH-181] to fix
2013-07-15 09:21:19 +09:00
Julian Phillips
13362ef209
Don't expose overrides directly to provisioners
...
The overrides are processed, so that the provisioner only sees the
appropriate sub-settings, so the provisioner does not need the raw
overrides.
If we leave the top-level overrides object in the provisioner
configuration, then it will be rejected as an unknown configuration
key.
2013-07-14 22:10:20 +01:00
Mitchell Hashimoto
0e9c0edade
Error if unknown root level key in template [GH-180]
2013-07-14 10:29:14 +09:00
Mitchell Hashimoto
2981da4eef
fmt
2013-07-13 10:01:27 +09:00
Jason A. Beranek
13c733a3db
Add support for -force flag on builds [GH-119]
2013-07-11 23:43:23 -05:00
Mitchell Hashimoto
c2236e9bfd
packer: Only trim whitespace on the right of prefixed UI
2013-07-09 12:41:36 -07:00
Mitchell Hashimoto
aef602d0e9
packer: only show git commit in version output for prerelease
2013-07-08 15:38:14 -07:00
Mitchell Hashimoto
45dfcf59c9
scripts: Add git commit to builds
2013-07-08 15:37:01 -07:00
Mitchell Hashimoto
d52c43ed67
Up version for dev
2013-07-08 15:17:23 -07:00
Mitchell Hashimoto
71b81b41cf
v0.1.5
2013-07-07 21:09:47 -07:00
Mitchell Hashimoto
97729e9893
packer/rpc: Properly close net.conn when remote process ends
2013-07-07 20:59:43 -07:00
Mitchell Hashimoto
2a7b371034
Up version for dev
2013-07-03 11:06:39 -07:00
Mitchell Hashimoto
b869ce9b51
v0.1.4
2013-07-02 22:16:13 -07:00
Mitchell Hashimoto
7198936f7e
packer: PrefixedUi properly prefixes each line of output
2013-07-02 12:28:25 -07:00
Mitchell Hashimoto
39095e48ea
post-processor/vagrant: make output contain build name by default
...
[GH-92]
2013-07-01 15:07:09 -07:00
Mitchell Hashimoto
44e0a7def5
packer: Send packerConfig into PostProcessors
2013-07-01 15:00:21 -07:00
Mitchell Hashimoto
807896d63b
packer: PostProcessor can take multiple configs
2013-07-01 14:59:23 -07:00
Mitchell Hashimoto
944d59afcd
packer: extra comments on JSON syntax error calc
2013-07-01 14:47:49 -07:00
Mitchell Hashimoto
cceb9c04b0
packer: Clean up some of the JSON syntax stuff
2013-07-01 14:46:32 -07:00
Mitchell Hashimoto
fdb0131ec5
Merge pull request #95 from markpeek/markpeek-jsonerror
...
packer: Provide line number for invalid json syntax [GH-56]
2013-07-01 14:38:01 -07:00
Mitchell Hashimoto
e4dfcc9547
Up version for development
2013-07-01 14:37:43 -07:00
Mark Peek
2b8d6f3585
Provide line number for invalid json syntax [GH-56]
2013-07-01 13:30:08 -07:00
Mitchell Hashimoto
8a4106031a
v0.1.3
2013-07-01 11:40:49 -07:00
Mitchell Hashimoto
f78cbb45a6
packer: PostProcessor API change so they can keep artifacts [GH-55]
2013-07-01 11:30:39 -07:00
Mitchell Hashimoto
12f627197e
fmt
2013-07-01 11:07:25 -07:00
Mitchell Hashimoto
8f74ff170d
packer: Add BuildNameConfigKey to all configs which has the build name
2013-07-01 11:06:28 -07:00
Mitchell Hashimoto
7d32b7f4b3
packer/plugin: Println should be Printf
2013-07-01 11:01:23 -07:00
Mitchell Hashimoto
e10ede6134
packer/rpc: Tests passing again
2013-07-01 10:45:51 -07:00
Mitchell Hashimoto
b773e8decd
packer/rpc: Listen on 127.0.0.1 specifically to avoid hangs
2013-07-01 09:39:34 -07:00
Mitchell Hashimoto
8f2340a04d
Up version for development
2013-06-29 14:16:26 -07:00
Mitchell Hashimoto
3c816930e0
v0.1.2
2013-06-29 14:03:39 -07:00
Mitchell Hashimoto
d180df0032
packer: Template requires builders
2013-06-29 14:02:20 -07:00
Mitchell Hashimoto
62cfa9983d
packer/plugin: Assume any listen error is a port collision [GH-58]
2013-06-29 13:35:24 -07:00
Mitchell Hashimoto
5fb3f18427
Up version for dev
2013-06-29 12:26:15 -07:00
Mitchell Hashimoto
aa3805c3fb
v0.1.1
2013-06-28 22:41:30 -04:00
Mitchell Hashimoto
09862d9c2b
packer/plugin: Bind to 127.0.0.1. Somehow fixes [GH-37]
2013-06-28 21:45:18 -04:00
Mitchell Hashimoto
2f84cd6ce7
packer/plugin: Extra logging statements
2013-06-28 16:01:49 -04:00
Mitchell Hashimoto
4abc599cd7
Up the version to 0.1.0
2013-06-28 10:33:16 -04:00
Mitchell Hashimoto
4cab266eb3
fmt
2013-06-28 09:44:03 -04:00
Mitchell Hashimoto
bd6f176bf0
packer: Builds use their own UI [GH-21]
2013-06-27 21:55:59 -04:00
Mitchell Hashimoto
42005959fe
packer: Don't run post-processors if artifact is nil
2013-06-27 18:50:02 -04:00
Mitchell Hashimoto
e5a7fc6b0a
packer: Provisioner/Hook can have errors returned
2013-06-26 17:50:25 -07:00
Mitchell Hashimoto
35e75ba0d2
packer/plugin: No need for a panic when plugins error
2013-06-25 14:30:08 -05:00
Mitchell Hashimoto
df72fd0b0e
packer/plugin: Require the magic cookie to be present to run
...
This is just a silly check to make sure people aren't executing
the plugins directly. If they are, a nicer error message is shown.
2013-06-25 14:27:20 -05:00
Mitchell Hashimoto
43b6c1fa89
packer: Ui.Message should Fprint, not Fprintf
2013-06-23 23:06:59 -07:00
Mitchell Hashimoto
957ebe9234
packer: Better docs for communicator interface
2013-06-20 14:46:25 -07:00
Mitchell Hashimoto
ac088bee95
packer/rpc: Wrap errors in BasicError for RPC config errors
2013-06-20 12:55:11 -07:00
Mitchell Hashimoto
69f96aa3fa
Begin work on the dist.sh script to create the distribution
2013-06-19 22:20:52 -07:00
Mitchell Hashimoto
c6c04ef911
packer: Discard log output in tests
2013-06-18 23:18:21 -07:00
Mitchell Hashimoto
6799315081
packer: Improved logging around build runs
2013-06-18 23:05:02 -07:00
Mitchell Hashimoto
b243eeda6f
packer: Post-process chain works properly
2013-06-18 22:58:23 -07:00
Mitchell Hashimoto
4912b485e2
command/build: Say if no artifacts were created
2013-06-18 22:53:30 -07:00
Mitchell Hashimoto
154c17163b
packer: keep_input_artifact will keep prior artifact in a PP
...
[GH-19]
2013-06-18 22:45:53 -07:00
Mitchell Hashimoto
b98df11cbf
fmt
2013-06-18 21:54:33 -07:00
Mitchell Hashimoto
b34bc1a0c9
packer: Build only adds post-processor artifact if not nil
2013-06-18 21:15:14 -07:00
Mitchell Hashimoto
7217865797
packer/rpc: Convert any errors in configure to basic error
2013-06-18 21:04:33 -07:00
Mitchell Hashimoto
2e1b69ad39
packer/rpc: Environment.PostProcessor() properly sets thigns up
2013-06-18 20:54:40 -07:00
Mitchell Hashimoto
76ab870924
packer: PostProcessor takes a UI [GH-20]
2013-06-18 20:38:21 -07:00
Mitchell Hashimoto
75b2fab7b5
command/build, command/validate: Setup proper components to avoid nil
2013-06-18 16:29:29 -07:00
Mitchell Hashimoto
b9fb065d27
packer: Add Destroy method to artifact
...
[GH-18]
2013-06-18 16:01:14 -07:00
Mitchell Hashimoto
9b406a9010
packer/plugin: Support PostProcessor
2013-06-18 13:49:07 -07:00
Mitchell Hashimoto
d823d2550a
packer/rpc: Support PostProcessor
2013-06-18 13:44:57 -07:00
Mitchell Hashimoto
540fac6454
Allow post-processors in the core configuration
2013-06-18 11:00:31 -07:00
Mitchell Hashimoto
e73c224764
packer: Build runs the post-processors
2013-06-18 10:54:29 -07:00
Mitchell Hashimoto
75fe58d5f7
packer: Post-processors are configured
2013-06-18 10:31:52 -07:00
Mitchell Hashimoto
218692950b
packer: Build can return multiple artifacts
2013-06-18 10:24:23 -07:00
Mitchell Hashimoto
9c89e33b5b
packer/rpc: Get RPC compliant with Environment again
2013-06-18 10:05:45 -07:00
Mitchell Hashimoto
d95f0a620a
packer: builds now have post processors as part of them
2013-06-18 09:58:39 -07:00
Mitchell Hashimoto
eee22b32f6
packer: Environment can look up post processors
2013-06-18 09:49:05 -07:00
Mitchell Hashimoto
57fef22429
packer: panic if Prepare called twice on build, lock
2013-06-18 09:37:49 -07:00
Mitchell Hashimoto
e851ac5d26
packer: Avoid an extra allocation by using clever addressing
2013-06-18 09:30:23 -07:00
Mitchell Hashimoto
7a07802eb4
packer: Parse post-processors in templates
...
This includes parsing for the simple, detailed, and sequential
processors.
2013-06-18 09:27:08 -07:00
Mitchell Hashimoto
46108ce13f
fmt
2013-06-17 15:19:33 -07:00
Mitchell Hashimoto
dd89716ed5
packer: An initial PostProcessor interface
2013-06-17 11:56:26 -07:00
Mitchell Hashimoto
f4a5adf471
packer: Output a newline when interrupted for UI
2013-06-17 11:40:57 -07:00
Mitchell Hashimoto
e0b05355c3
packer: If interrupted, Ask is disabled
2013-06-15 18:25:34 -07:00
Mitchell Hashimoto
dc5d261994
packer: Ui can return an error for Ask, returns one for interrupt
2013-06-15 18:24:38 -07:00
Mitchell Hashimoto
a73e71c37f
packer/rpc: Panic in error case
2013-06-15 11:27:09 -07:00
Mitchell Hashimoto
67eaa07cf4
packer: Get rid of "name" in template, wasn't used for anything
2013-06-15 11:14:44 -07:00
Mitchell Hashimoto
22e7345148
packer: Ui requires input for Ctrl-C
2013-06-14 17:37:38 -07:00
Mitchell Hashimoto
ea01d7b2c6
fmt
2013-06-14 16:00:16 -07:00
Mitchell Hashimoto
9a69b21025
packer: Ui.Ask quits during interrupt
2013-06-14 15:59:54 -07:00
Mitchell Hashimoto
21b6d2a435
builder/common: multistep debug fn gracefully exits during an interrupt
2013-06-14 15:47:06 -07:00
Mitchell Hashimoto
e0f2bcf8a2
packer: Add "Ask" method to Ui to ask for input
2013-06-14 15:17:03 -07:00
Mitchell Hashimoto
cbd3f59578
builder/vmware: Enable the debug runner
2013-06-14 15:07:34 -07:00
Mitchell Hashimoto
8217e64a8d
packer: Set DebugConfigKey to true if debug is on
2013-06-14 12:38:54 -07:00
Mitchell Hashimoto
fd044982d9
packer: Additional comments
2013-06-14 12:32:14 -07:00
Mitchell Hashimoto
9f5a247511
packer: Builders can take multiple configs
2013-06-14 12:27:50 -07:00
Mitchell Hashimoto
a45c7fb0ea
packer: Add SetDebug to Build objects
2013-06-14 12:22:19 -07:00
Mitchell Hashimoto
e00a30e729
packer: Comments on Build interface
2013-06-14 12:15:51 -07:00
Mitchell Hashimoto
a35feebe70
packer: Build no longer takes Ui for Prepare
2013-06-13 10:08:31 -07:00
Mitchell Hashimoto
521b59a6fa
Make everything support the new builder interface
2013-06-12 16:06:56 -07:00
Mitchell Hashimoto
12cc8e98aa
packer/rpc: less panics, more returning errors
2013-06-12 16:02:07 -07:00
Mitchell Hashimoto
d2023c69be
packer/rpc: returning errors from builds works properly
2013-06-12 16:01:42 -07:00
Mitchell Hashimoto
db8aeaba40
packer, packer/rpc: Build/builders can return errors now
2013-06-12 15:58:02 -07:00
Mitchell Hashimoto
0f98852d4d
packer: Ui error output is red
2013-06-12 10:41:58 -07:00
Mitchell Hashimoto
417f7e7f47
fmt
2013-06-11 14:09:31 -07:00
Mitchell Hashimoto
de14dffd36
packer/plugin: Set the RPC port range to the plugin port range
2013-06-11 11:14:36 -07:00
Mitchell Hashimoto
9162819daf
packer/plugin: Avoid lexical scoping issues with cleaning up clients
2013-06-11 11:10:08 -07:00
Mitchell Hashimoto
e904705a49
packer uses the new plugin client API
2013-06-11 11:06:23 -07:00
Mitchell Hashimoto
88d508893d
packer/plugin: client to Client so it can be used outside
2013-06-11 11:03:36 -07:00
Mitchell Hashimoto
7fe98e50fe
packer/plugin: Refactor to get interfaces from Client
2013-06-11 11:00:06 -07:00
Mitchell Hashimoto
250cb0106b
packer/plugin: Only allow client start once, lock
2013-06-11 10:43:55 -07:00
Mitchell Hashimoto
fb2ffde29e
packer/plugin: Refactor the client for the API to be more uniform
2013-06-11 10:39:06 -07:00
Mitchell Hashimoto
e2214106ee
packer: Cache keys should be hex encoded to string
2013-06-09 23:06:47 -07:00
Mitchell Hashimoto
7b0000cd4c
packer: Actually return if prepare of a build fails
2013-06-09 23:05:11 -07:00
Mitchell Hashimoto
62309cb6de
Build/Builder take a Cache object now
2013-06-09 22:00:47 -07:00
Mitchell Hashimoto
5307e5391c
fmt
2013-06-09 21:19:26 -07:00
Mitchell Hashimoto
f2c8b994a0
packer: Default cache is just to os temporary dir
2013-06-09 21:18:06 -07:00
Mitchell Hashimoto
edaf19199f
packer: Environment has Cache method, RPC implements
2013-06-09 21:09:09 -07:00
Mitchell Hashimoto
2c8b198049
packer/rpc: Support Cache interface
2013-06-09 19:25:48 -07:00
Mitchell Hashimoto
7968068a3a
packer: Add FileCache and Cache
2013-06-09 19:01:28 -07:00
Mitchell Hashimoto
d55bf3f3ec
packer: Support overrides in provisioners for each build
2013-06-07 10:35:26 -07:00
Mitchell Hashimoto
5638cecd14
packer: Use mapstructure for templates, save lots of lines
2013-06-07 10:23:15 -07:00
Mitchell Hashimoto
4a8278d49b
provisioner/shell: Support setting the execute command
2013-06-06 23:14:31 -07:00
Mitchell Hashimoto
4531922ec3
packer: Return the provisioner prepare errors if they occurred
2013-06-06 17:09:51 -07:00
Mitchell Hashimoto
0a6d8ed75a
packer: Add errors to Prepare
2013-06-06 17:07:42 -07:00
Mitchell Hashimoto
09f5cd5090
packer: Update doc on Provisioner
2013-06-06 17:02:02 -07:00
Mitchell Hashimoto
6b87c42ee6
packer: Change provisioner interface to take array of configs
2013-06-06 17:01:12 -07:00
Mitchell Hashimoto
34f4086963
packer/plugin: Preserve parent ENV when executing client
2013-06-05 20:39:39 -07:00
Mitchell Hashimoto
dd4fb1d62a
packer/plugin: Explicitly set GOMAXPROCS to # of cpus
2013-06-05 17:39:27 -07:00
Mitchell Hashimoto
9bb24e6d90
packer/rpc: Return proper nil artifact if nil is returned
2013-06-05 15:36:26 -07:00
Mitchell Hashimoto
334fd4e154
packer/rpc: Register []interface{} so arrays can be sent over wire
2013-06-05 15:16:41 -07:00
Mitchell Hashimoto
5c39a2f7ca
fmt
2013-06-03 22:32:04 -07:00
Mitchell Hashimoto
12a9362f0a
packer/plugin: Swallow interrupts in plugins
2013-06-03 22:31:54 -07:00
Mitchell Hashimoto
94cfe39a76
packer: coreBuild.Cancel calls the builder Cancel method
2013-06-03 16:06:04 -07:00
Mitchell Hashimoto
30a061a855
packer: Build.Cancel
2013-06-03 16:03:08 -07:00
Mitchell Hashimoto
0ba80c88e8
packer/plugin: Implement Builder.Cancel
2013-06-03 15:31:28 -07:00
Mitchell Hashimoto
e06c26c55c
packer/rpc: Implement Builder.Cancel
2013-06-03 15:30:09 -07:00
Mitchell Hashimoto
1b557d7710
packer/rpc: Builder.Run() no longer blocks RPC connection
2013-06-03 15:00:35 -07:00
Mitchell Hashimoto
079d6f4d43
packer: Introduce Cancel() method to Builder
2013-06-03 14:44:34 -07:00
Mitchell Hashimoto
e21d389fd2
packer: Fixin bugs in PrefixUi calling the wrong method
2013-06-03 13:54:28 -07:00
Mitchell Hashimoto
3e1b10c09e
packer: ColoredUi bolds, but doesn't bold messages
2013-06-03 13:49:59 -07:00
Mitchell Hashimoto
f041ebb2fd
packer: ColoredUi
2013-06-03 13:35:43 -07:00
Mitchell Hashimoto
edab952a68
packer: Add Message method to Ui
2013-06-03 11:30:38 -07:00
Mitchell Hashimoto
bbc5f305e2
packer: RemoteCmd.Wait
2013-06-03 10:49:23 -07:00
Mitchell Hashimoto
75074ca92d
go fmt
2013-06-02 23:27:18 -07:00
Mitchell Hashimoto
a21fe8c484
packer/rpc: Exited fields now work over RPC
2013-06-02 23:21:55 -07:00
Mitchell Hashimoto
ea4171f163
packer/rpc: Hook up the new communicator interface
2013-06-02 23:08:40 -07:00
Mitchell Hashimoto
532faec457
packer: New Communicator interface is much simplified
2013-06-02 21:20:27 -07:00
Mitchell Hashimoto
74d812a766
packer: Much smarter CLI
2013-06-02 15:03:02 -07:00
Mitchell Hashimoto
fcd866731b
packer: Remove extra newline on version
2013-06-02 11:52:49 -07:00
Mitchell Hashimoto
aa1304f860
packer: Print command help if "--help" is given
2013-06-02 11:49:01 -07:00
Mitchell Hashimoto
bbafcfa938
packer, etc: added Help method to Command interface
...
This will be used for long-form help when "packer help foo"
or "packer foo --help" is called.
2013-06-02 11:41:12 -07:00
Mitchell Hashimoto
e629eef97a
packer/plugin: Start testing the client
2013-06-01 19:35:19 -07:00
Mitchell Hashimoto
45c590f413
packer: Fix help output for packer, excessive newlines
2013-06-01 19:15:32 -07:00
Mitchell Hashimoto
ade3795123
packer: RemoteCommand.StderrChan
2013-06-01 18:49:49 -07:00
Mitchell Hashimoto
e753ffe5d9
packer: Refactor on StdoutChan so it'll work for stderr easily
2013-06-01 18:31:22 -07:00
Mitchell Hashimoto
810d17c0ef
packer: RemoteCommand.StdoutChan works + tests
2013-06-01 18:21:27 -07:00
Mitchell Hashimoto
ace53450b9
packer: More efficient RemoteCommand.ExitChan
2013-06-01 17:57:26 -07:00
Mitchell Hashimoto
c6dd54760c
Get everything compiling again
2013-06-01 17:48:19 -07:00
Mitchell Hashimoto
8034e91ca3
packer: Lock in RemoteCommand.ExitChan
2013-06-01 17:45:57 -07:00
Mitchell Hashimoto
24237da32c
packer: RemoteCommand.ExitChan() and tests
2013-05-28 18:12:15 -07:00
Mitchell Hashimoto
97ba152771
packer: tests for RemoteCommand.Wait
2013-05-28 18:02:14 -07:00
Mitchell Hashimoto
7154b5c0f1
packer/rpc: Close the net conn after done sending data for Comm
2013-05-27 23:36:34 -07:00
Mitchell Hashimoto
78ab1709cd
packer/rpc: Better logging in communicator
2013-05-27 22:10:44 -07:00
Mitchell Hashimoto
2788d29bd1
packer, packer/rpc: Update Ui to just take a message
2013-05-27 15:12:48 -07:00
Mitchell Hashimoto
84891701bd
go fmt
2013-05-23 21:59:03 -07:00
Mitchell Hashimoto
37372bac93
packer/plugin: Support provisioners
2013-05-23 21:37:16 -07:00
Mitchell Hashimoto
1b78fc88a9
packer: coreBuild runs provisioners as part of Run
2013-05-23 21:26:24 -07:00
Mitchell Hashimoto
83eab87c26
packer: TODO item
2013-05-23 21:13:40 -07:00
Mitchell Hashimoto
812722c20d
packer: ProvisionHook
2013-05-23 21:13:18 -07:00
Mitchell Hashimoto
73b7d94933
packer: better commenting
2013-05-22 17:06:06 -07:00
Mitchell Hashimoto
e69e74b2dc
packer: Panic if provisioners and no provisioner function
2013-05-22 17:05:36 -07:00
Mitchell Hashimoto
3d0dde03e6
packer: Panic on template if no builder function
2013-05-22 17:02:34 -07:00
Mitchell Hashimoto
534f32067a
packer: Test that hooks are callable from builds
2013-05-22 16:46:23 -07:00
Mitchell Hashimoto
0f57370dec
packer: Prepare provisioners as part of Build prepare
2013-05-22 16:29:07 -07:00
Mitchell Hashimoto
cb91ca72ac
packer: Build.Prepare takes a UI
2013-05-22 16:20:40 -07:00
Mitchell Hashimoto
fbcc6cb2b2
packer: Build now has provisioners, template parses and builds
2013-05-22 16:15:57 -07:00
Mitchell Hashimoto
11d46a3a2c
packer: ProvisionerFunc
2013-05-22 15:39:30 -07:00
Mitchell Hashimoto
92a4f27868
packer/rpc: Support provisioners
2013-05-22 15:35:52 -07:00
Mitchell Hashimoto
638e191186
packer: Parse provisioners out of template
2013-05-22 15:12:43 -07:00
Mitchell Hashimoto
06b0cebd1e
packer: Template properly calls builder type builderType
2013-05-22 14:39:32 -07:00
Mitchell Hashimoto
4bd7db0759
go fmt
2013-05-22 14:36:33 -07:00
Mitchell Hashimoto
8273565255
better comments for TODO
2013-05-22 14:36:21 -07:00
Mitchell Hashimoto
c51223bab7
packer: Template parsing error if name/type is not string
2013-05-22 14:14:40 -07:00
Mitchell Hashimoto
f9c59c714f
packer: Better error handling for template parsing
2013-05-22 14:11:34 -07:00
Mitchell Hashimoto
615f993de2
packer: MultiError to represent multiple errors
2013-05-22 13:36:09 -07:00
Mitchell Hashimoto
c4522a6265
packer: Provisioner interface
2013-05-22 13:25:03 -07:00
Mitchell Hashimoto
41a7fd45b9
packer: Return artifact from build
2013-05-21 22:38:41 -07:00
Mitchell Hashimoto
e9618b0d07
packer/plugin: Properly supports Artifacts
2013-05-21 22:16:26 -07:00
Mitchell Hashimoto
caa2b7711b
packer/rpc: Builders return valid artifacts
2013-05-21 22:14:58 -07:00
Mitchell Hashimoto
53c3d330e4
packer/rpc: Support Artifacts
2013-05-21 22:10:21 -07:00
Mitchell Hashimoto
55d9cd2124
packer: First pass at Artifact interface
2013-05-21 21:53:16 -07:00
Mitchell Hashimoto
2c4a873a5f
packer: Add PrefixedUi
2013-05-21 13:20:51 -07:00
Mitchell Hashimoto
cc4970d424
packer/rpc: Allow "error" interfaces to be sent over RPC
2013-05-21 11:58:14 -07:00
Mitchell Hashimoto
8dfe78dd19
packer: Log UI output
2013-05-21 11:40:07 -07:00
Mitchell Hashimoto
4453fda2e8
go fmt
2013-05-21 00:56:27 -07:00
Mitchell Hashimoto
559777e5b7
packer: Ui automatically appends newline
2013-05-20 23:43:37 -07:00
Mitchell Hashimoto
15f215d04f
go fmt
2013-05-20 16:50:35 -07:00
Mitchell Hashimoto
7475ee8377
packer: Add Communicator to Hook arguments
2013-05-12 17:30:30 -07:00
Mitchell Hashimoto
7fdb53f5d1
packer: Test to make sure DispatchHook implements Hook
2013-05-12 17:15:03 -07:00
Mitchell Hashimoto
f74341a7b9
packer/rpc: Complete Upload/Download implementation
2013-05-12 17:09:14 -07:00
Mitchell Hashimoto
9262a85e6c
packer/rpc: Communicator.Upload
2013-05-12 16:48:46 -07:00
Mitchell Hashimoto
daa431af63
packer: Communicator Upload/Download return an error
2013-05-12 16:25:40 -07:00
Mitchell Hashimoto
496a320a82
packer/rpc: Implement full communicator interface
2013-05-12 16:19:34 -07:00
Mitchell Hashimoto
2799cccf4b
packer: Waiting for a remote command and setting the exit status
2013-05-12 16:18:17 -07:00
Mitchell Hashimoto
88a018bf5d
packer: Work on communicators... WIP
2013-05-12 14:47:55 -07:00
Mitchell Hashimoto
a2bf964f30
packer/rpc: Properly support hooks
2013-05-11 11:11:40 -07:00
Mitchell Hashimoto
cb1e0cbabf
packer/plugin: Support hooks
2013-05-11 10:46:17 -07:00
Mitchell Hashimoto
d926b98708
Update all packer/rpc, packer/plugin, builders for new builder API
2013-05-11 10:31:30 -07:00
Mitchell Hashimoto
441edd25d2
packer: Changes to build parameters and DispatchHook
2013-05-11 10:27:07 -07:00
Mitchell Hashimoto
25fd2fe877
packer: Template looks up hooks and adds them to the build
2013-05-11 10:00:37 -07:00
Mitchell Hashimoto
779f489894
packer: Template takes a component finder
2013-05-11 09:56:42 -07:00
Mitchell Hashimoto
30ab944437
packer/rpc: Support Hooks
2013-05-11 09:51:49 -07:00
Mitchell Hashimoto
8ed313e7b5
packer: Add concept of hooks to Environment
2013-05-10 23:15:13 -07:00
Mitchell Hashimoto
5ac06e116e
packer: Parse "hooks" configuration into the Template
2013-05-10 22:47:20 -07:00
Mitchell Hashimoto
44bd56c3a8
go fmt
2013-05-10 17:01:24 -07:00
Mitchell Hashimoto
368ccab8e8
packer: Put Builder definition into its own file
2013-05-10 16:59:28 -07:00
Mitchell Hashimoto
208daf7d03
packer: Hook interface, not hooked up yet
2013-05-10 16:58:50 -07:00
Mitchell Hashimoto
de03e97643
packer: More comments/docs
2013-05-10 16:41:35 -07:00
Mitchell Hashimoto
077f15bdfb
packer/plugin: Docs
2013-05-09 14:27:20 -07:00
Mitchell Hashimoto
c580faa1a5
packer/rpc: error interface wrapper to RPC errors around
2013-05-09 13:59:33 -07:00
Mitchell Hashimoto
6d4136c5ab
packer/plugin: Add plugin path to the log messages
2013-05-09 13:29:14 -07:00
Mitchell Hashimoto
44c61e537d
Some additional logging
2013-05-09 13:26:40 -07:00
Mitchell Hashimoto
9600bf5b4b
packer: Build.Name
2013-05-09 11:32:03 -07:00
Mitchell Hashimoto
587d359887
packer: Builder.Prepare can return an error
2013-05-09 10:54:42 -07:00
Mitchell Hashimoto
c164b4c23c
packer/plugin: Actually try more ports for plugins
2013-05-08 22:25:47 -07:00
Mitchell Hashimoto
cce59af2e8
Support builders in config, packer/rpc, packer/plugin
2013-05-08 21:05:35 -07:00
Mitchell Hashimoto
8ffbc2efe7
packer: Start pulling out the global config stuff
2013-05-08 17:28:05 -07:00
Mitchell Hashimoto
8a78de02c7
packer: Cleaner way to build up a list of names
2013-05-08 17:11:02 -07:00
Mitchell Hashimoto
198f984b92
packer: error if UI fails
2013-05-08 17:09:10 -07:00
Mitchell Hashimoto
fd2d8480e1
Lots more logging everywhere
2013-05-08 16:59:36 -07:00
Mitchell Hashimoto
95153413a6
packer: Ui has Error method
2013-05-08 15:12:48 -07:00
Mitchell Hashimoto
a803af7016
Move the build command into the actual build command
2013-05-08 14:58:06 -07:00
Mitchell Hashimoto
c5e83a4b15
packer/plugin: Client.Kill should only kill process if it is running
2013-05-08 14:51:56 -07:00
Mitchell Hashimoto
947209a028
packer: PACKER_LOG to toggle logging from an env var [GH-3]
2013-05-08 14:45:17 -07:00
Mitchell Hashimoto
7dfeda350a
packer/plugin: Properly log the max port
2013-05-08 13:45:57 -07:00
Mitchell Hashimoto
88f7b33082
packer/rpc: Rename Command to follow RPC style
2013-05-08 13:42:25 -07:00
Mitchell Hashimoto
ac83cf652a
packer/rpc: Setup the Environment properly for Command
2013-05-08 13:11:47 -07:00
Mitchell Hashimoto
abb51ebb35
packer/plugin: Don't wrap bytesBuffer in bufio, fixes GH-10
2013-05-08 13:02:21 -07:00
Mitchell Hashimoto
286f0aa91c
More logging, some tweaks to the format
2013-05-08 12:43:41 -07:00
Mitchell Hashimoto
26a998f721
packer/plugin: Managed clients for automatic cleanup
2013-05-08 11:54:59 -07:00
Mitchell Hashimoto
c8079a4290
packer/plugin: client kill waits for logging to complete
2013-05-08 11:23:24 -07:00
Mitchell Hashimoto
e1785e424e
packer/plugin: client to encapsulate logic for starting plugins
2013-05-08 11:14:21 -07:00
Mitchell Hashimoto
4d9b5fa86d
packer/plugin: Better command logging, but not good enough yet
2013-05-08 10:52:23 -07:00
Mitchell Hashimoto
8a32494e3f
Start working on logging across the board
2013-05-08 09:46:37 -07:00
Mitchell Hashimoto
cbab761ab1
packer: Environment.Cli error tests
2013-05-07 20:50:22 -07:00
Mitchell Hashimoto
de444867d3
packer: Tests for the Builder error cases
2013-05-07 20:47:56 -07:00
Mitchell Hashimoto
869732826b
packer, packer/rpc: Make command/builderFunc support errors
2013-05-07 20:42:49 -07:00
Mitchell Hashimoto
fbc2013b8c
packer/plugin: Documentation
2013-05-07 19:50:34 -07:00
Mitchell Hashimoto
70d378b936
packer/plugin: Better command cleanup
2013-05-07 19:48:14 -07:00
Mitchell Hashimoto
68a024b59a
packer/plugin: Make sure subprocess properly dies if error
2013-05-07 19:47:32 -07:00
Mitchell Hashimoto
2ff1fabbf9
packer/plugin: timeout when starting a plugin
2013-05-07 19:39:20 -07:00
Mitchell Hashimoto
c9c294f136
packer/plugin: More robust command exit detection + tests
2013-05-07 17:10:45 -07:00
Mitchell Hashimoto
9219a19f61
packer/plugin: Better error handling around command exit cases
2013-05-07 17:02:55 -07:00
Mitchell Hashimoto
ff23b67929
packer/plugin: error if command can't start
2013-05-07 14:05:51 -07:00
Mitchell Hashimoto
04563764a0
`packer build` now communicates through RPC!
2013-05-07 11:50:42 -07:00
Mitchell Hashimoto
e9278cc0bd
packer/plugin: Randomly generate port to run on
2013-05-06 15:27:44 -07:00
Mitchell Hashimoto
b9e3eb1ff7
packer/rpc: Get rid of the heavy server stuff
2013-05-05 17:38:50 -07:00
Mitchell Hashimoto
0cc3a5f918
packer/plugin: Much more robust subprocess starting
2013-05-05 16:25:32 -07:00
Mitchell Hashimoto
86f1fbe925
packer/rpc: Support the new Builder func on Environment
2013-05-05 15:12:55 -07:00
Mitchell Hashimoto
a6aafde00e
packer/rpc: tests green from new BuilderFactory changes
2013-05-05 14:50:27 -07:00
Mitchell Hashimoto
14c568a9d2
Get rid of BuilderFactory
2013-05-05 14:47:17 -07:00
Mitchell Hashimoto
3370c55e2c
Start packer/plugin. Big WiP
2013-05-04 21:26:30 -07:00
Mitchell Hashimoto
01405c864b
packer/rpc: Use the proper Server for tests
2013-05-04 19:59:42 -07:00
Mitchell Hashimoto
5aec3f6745
packer/rpc: Remote environments
2013-05-04 15:58:42 -07:00
Mitchell Hashimoto
255b94761c
packer/rpc: Test BuilderFactory result works. Close back RPC after one
...
conn
2013-05-04 15:33:36 -07:00
Mitchell Hashimoto
5aebe7b149
packer/rpc: BuilderFactory remote
2013-05-04 15:29:00 -07:00
Mitchell Hashimoto
8a78d4d8a5
packer/rpc: Test Builder.Run
2013-05-04 13:50:02 -07:00
Mitchell Hashimoto
c537c304cb
Remote builders
2013-05-04 13:47:11 -07:00
Mitchell Hashimoto
68341e6e8a
Test regisering a UI with the server
2013-05-04 13:36:56 -07:00
Mitchell Hashimoto
720bb0c297
Better comments
2013-05-04 13:32:02 -07:00
Mitchell Hashimoto
03ff35d6a0
Server tests
2013-05-04 13:31:07 -07:00
Mitchell Hashimoto
22549b0388
Fix race condition issue where listner could become nil
2013-05-04 13:29:45 -07:00
Mitchell Hashimoto
5007b240dc
Server opens a port in the given range
2013-05-04 13:23:28 -07:00
Mitchell Hashimoto
dbe5360262
Ability to get a net listener in a given port range
2013-05-04 13:17:22 -07:00
Mitchell Hashimoto
f0a09ffa6b
Crazy things with RPC servers and stuff
2013-05-03 23:55:08 -07:00
Mitchell Hashimoto
0985d26167
Make Build an interface
2013-05-03 20:45:38 -07:00
Mitchell Hashimoto
8dea720627
rpc.Ui
2013-05-03 15:49:15 -07:00
Mitchell Hashimoto
94cdedf40f
Move RPC stuff into a new "packer/rpc" package
2013-05-03 14:26:21 -07:00
Mitchell Hashimoto
b1993dc24d
Test that coreEnvironment can't encode/decode
2013-05-02 15:36:30 -07:00
Mitchell Hashimoto
575489fa78
RPC commands and some basic tests for this [GH-1]
2013-05-02 15:20:12 -07:00
Mitchell Hashimoto
520503e10c
Turn Environment into an interface
2013-05-02 14:03:55 -07:00
Mitchell Hashimoto
fefd2ae208
Separate commands into other directories
2013-04-21 19:04:35 -07:00
Mitchell Hashimoto
f49c0cb313
Pull out Command interface out into separate file
2013-04-21 18:45:44 -07:00
Mitchell Hashimoto
262d8aa9a8
Template can create Builds
2013-04-21 12:36:55 -07:00
Mitchell Hashimoto
8f08c5d8a2
Require Prepare to be called on Build
2013-04-20 20:03:53 -06:00
Mitchell Hashimoto
f579ff05f2
Initial work on Build
2013-04-20 19:55:02 -06:00
Mitchell Hashimoto
05e254a2ff
BuilderFactory getter on Environment
2013-04-20 19:31:42 -06:00
Mitchell Hashimoto
f4ea172178
NilBuilderFactory
2013-04-20 19:08:10 -06:00
Mitchell Hashimoto
116442510b
Require configuration to create Environment
2013-04-20 19:00:03 -06:00
Mitchell Hashimoto
12049e3d87
Some documentation
2013-04-20 18:33:27 -06:00
Mitchell Hashimoto
f21db281c2
better testing of the help printing on CLIs
2013-04-20 18:30:09 -06:00
Mitchell Hashimoto
109be6b5e3
Better testing of CLI
2013-04-20 18:22:27 -06:00
Mitchell Hashimoto
a8853da063
Test the CLI that Run is called on custom commands
2013-04-20 18:17:53 -06:00
Mitchell Hashimoto
216d5cb0d1
Fix tests
2013-04-20 18:09:54 -06:00
Mitchell Hashimoto
0de922d14a
Make environment config export variables
2013-04-20 18:08:43 -06:00
Mitchell Hashimoto
2e1b50769f
Just some types and their documentation
2013-04-20 18:05:27 -06:00
Mitchell Hashimoto
37bd1cd308
Test setting the UI for tests
2013-04-15 20:26:38 -07:00
Mitchell Hashimoto
4eb8ac80c2
Ability to get a builder from the env
2013-04-15 19:53:29 -07:00
Mitchell Hashimoto
6bed06e01c
Lots of template parsing stuff
2013-04-15 17:04:19 -07:00
Mitchell Hashimoto
298a7cdbe4
Basic template parsing, tests, build command progress
2013-04-15 15:48:42 -07:00
Mitchell Hashimoto
49256895cc
CLI calls should slice the first arg out before running
2013-04-15 15:03:41 -07:00
Mitchell Hashimoto
8c5b695de7
Initial build command
2013-04-15 14:36:23 -07:00
Mitchell Hashimoto
759261dcf1
Bad commit message
2013-03-25 16:29:26 -07:00
Mitchell Hashimoto
bde32e964f
Alphabetize
2013-03-24 16:41:58 -07:00
Mitchell Hashimoto
b25bf0c0c9
Format
2013-03-24 16:36:02 -07:00
Mitchell Hashimoto
f6919cf18b
Short-circuit -h and --help to printing help for the top-level cmd
2013-03-24 16:35:33 -07:00
Mitchell Hashimoto
4d10489f51
Implement the help method
2013-03-24 16:28:35 -07:00
Mitchell Hashimoto
91c524c7ec
More environment testing
2013-03-24 14:47:59 -07:00
Mitchell Hashimoto
ca93f645be
packer.Ui tests
2013-03-24 14:31:18 -07:00
Mitchell Hashimoto
db1c11fff5
Lots of stuff, too early for meaningful commit messages
...
UI, command dispatch
2013-03-24 14:03:53 -07:00