Commit Graph

651 Commits

Author SHA1 Message Date
Mitchell Hashimoto 89be12ae21 packer: Add MachineReadableUi 2013-08-11 19:05:07 -07:00
Mitchell Hashimoto edc59499e7 packer: BasicUi doesn't do machine-readable, just log 2013-08-11 18:38:24 -07:00
Mitchell Hashimoto 03c10a9aa8 packer: renamed PrefixedUi to TargettedUi 2013-08-11 18:31:28 -07:00
Mitchell Hashimoto 02edc7579b packer: Rename ReaderWriterUi to BasicUi 2013-08-11 18:20:27 -07:00
Mitchell Hashimoto fb6d2754da packer: Add Machine func to Ui 2013-08-11 18:16:00 -07:00
Mitchell Hashimoto 5220c1ff2a packer/rpc: register map[string]string since we transfer that 2013-08-09 16:53:18 -07:00
Mitchell Hashimoto 5166f511d2 common/json: add Unmarshal with method with syntax errors 2013-08-09 16:50:24 -07:00
Mitchell Hashimoto 643d9033ad packer: add ParseTemplateFile since that is useful 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto 598f11f168 packer: properly override/send user variables to prepare 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto 3f0a268e1e packer, packer/rpc: Update Build interface to allow variable overrides 2013-08-09 15:57:07 -07:00
Mitchell Hashimoto 95b598f748 packer: Template understands variables, puts it into a Build 2013-08-09 15:57:07 -07:00
Mitchell Hashimoto 97e4f1d180 up version for dev 2013-08-07 15:47:43 -07:00
Mitchell Hashimoto db5d34fd09 v0.2.3 2013-08-07 15:32:38 -07:00
Mitchell Hashimoto 7b400e8863 Update version for dev 2013-08-01 10:40:18 -07:00
Mitchell Hashimoto 4a176850fe v0.2.2 2013-08-01 10:29:19 -07:00
Mitchell Hashimoto 7bdb0c96f8 packer: fmt 2013-07-31 14:43:34 -07:00
Mitchell Hashimoto 08d2ac7815 packer: don't output colors if Windows and not Cygwin 2013-07-31 14:06:01 -07:00
Mitchell Hashimoto 00338a0b85 packer/plugin: trim whitespace on right of log data from plugin 2013-07-31 09:37:03 -07:00
Mitchell Hashimoto ae28778caf packer/plugin: flush os.Stderr whenever a plugin ends 2013-07-30 10:48:59 -07:00
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
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