Mitchell Hashimoto
69a5e83f47
packer/plugin: use chan struct{} for condition variable behavior
2013-07-30 10:43:43 -07:00
Mitchell Hashimoto
0dd4a4d83f
packer/plugin: clean up stderr
2013-07-30 10:41:02 -07:00
Mitchell Hashimoto
52dbb3c423
packer/plugin: more stable stderr logging
2013-07-30 10:38:48 -07:00
Mitchell Hashimoto
a380c1c91e
packer: Use ch for condition variable
...
Thanks @titanous I didnt know this worked.
2013-07-29 13:20:57 -07:00
Mitchell Hashimoto
9b0c3b28c5
communicator/ssh: use SetExited
2013-07-29 12:12:42 -07:00
Mitchell Hashimoto
333ed6aa78
packer/rpc: Use the SetExited for remote communicators
2013-07-29 12:07:37 -07:00
Mitchell Hashimoto
26a117e36f
packer: use locks/conds to avoid races on RemoteCmd.Exited [GH-42]
2013-07-29 12:04:58 -07:00
Mitchell Hashimoto
05ef4568e8
Up version for dev
2013-07-26 10:15:35 -07:00
Mitchell Hashimoto
71e30c60c9
v0.2.1
2013-07-26 09:54:05 -07:00
Mitchell Hashimoto
9289df6d35
packer/plugin: connect stdin to parent stdin
2013-07-25 21:24:49 -05:00
Mitchell Hashimoto
7472bbb17c
packer: In the case of an error, close stdout/stderr writers
2013-07-23 22:46:51 -05:00
Mitchell Hashimoto
641c46451b
packer: Preserve original stdout/stderr on StartWithUi
...
/cc @sit
2013-07-23 22:38:03 -05:00
Mitchell Hashimoto
425aaf2cea
packer: RemoteCmd.StartWithUi thanks to @sit
...
I ended up working on this on my own outside your PR, sorry, but it is
basically the same as yours.
2013-07-23 22:35:05 -05:00
Mitchell Hashimoto
86ebfe0dc4
packer/rpc: remove unused test file
2013-07-23 13:45:35 -07:00
Mitchell Hashimoto
05f4efc6fb
packer: Properly handle ? in URLs in cache keys
...
/cc @sit - Found another edge case
2013-07-20 19:20:29 -07:00
Mitchell Hashimoto
6072b05d3b
packer: Extension works properly with URLs too
...
/cc @sit
2013-07-20 16:53:55 -07:00
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