http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter_test.go 
b/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter_test.go
new file mode 100644
index 0000000..e25a44f
--- /dev/null
+++ 
b/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/text_formatter_test.go
@@ -0,0 +1,61 @@
+package logrus
+
+import (
+       "bytes"
+       "errors"
+       "testing"
+       "time"
+)
+
+func TestQuoting(t *testing.T) {
+       tf := &TextFormatter{DisableColors: true}
+
+       checkQuoting := func(q bool, value interface{}) {
+               b, _ := tf.Format(WithField("test", value))
+               idx := bytes.Index(b, ([]byte)("test="))
+               cont := bytes.Contains(b[idx+5:], []byte{'"'})
+               if cont != q {
+                       if q {
+                               t.Errorf("quoting expected for: %#v", value)
+                       } else {
+                               t.Errorf("quoting not expected for: %#v", value)
+                       }
+               }
+       }
+
+       checkQuoting(false, "abcd")
+       checkQuoting(false, "v1.0")
+       checkQuoting(false, "1234567890")
+       checkQuoting(true, "/foobar")
+       checkQuoting(true, "x y")
+       checkQuoting(true, "x,y")
+       checkQuoting(false, errors.New("invalid"))
+       checkQuoting(true, errors.New("invalid argument"))
+}
+
+func TestTimestampFormat(t *testing.T) {
+       checkTimeStr := func(format string) {
+               customFormatter := &TextFormatter{DisableColors: true, 
TimestampFormat: format}
+               customStr, _ := customFormatter.Format(WithField("test", 
"test"))
+               timeStart := bytes.Index(customStr, ([]byte)("time="))
+               timeEnd := bytes.Index(customStr, ([]byte)("level="))
+               timeStr := customStr[timeStart+5 : timeEnd-1]
+               if timeStr[0] == '"' && timeStr[len(timeStr)-1] == '"' {
+                       timeStr = timeStr[1 : len(timeStr)-1]
+               }
+               if format == "" {
+                       format = time.RFC3339
+               }
+               _, e := time.Parse(format, (string)(timeStr))
+               if e != nil {
+                       t.Errorf("time string \"%s\" did not match provided 
time format \"%s\": %s", timeStr, format, e)
+               }
+       }
+
+       checkTimeStr("2006-01-02T15:04:05.000000000Z07:00")
+       checkTimeStr("Mon Jan _2 15:04:05 2006")
+       checkTimeStr("")
+}
+
+// TODO add tests for sorting etc., this requires a parser for the text
+// formatter output.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go 
b/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go
new file mode 100644
index 0000000..1e30b1c
--- /dev/null
+++ b/newt/Godeps/_workspace/src/github.com/Sirupsen/logrus/writer.go
@@ -0,0 +1,31 @@
+package logrus
+
+import (
+       "bufio"
+       "io"
+       "runtime"
+)
+
+func (logger *Logger) Writer() *io.PipeWriter {
+       reader, writer := io.Pipe()
+
+       go logger.writerScanner(reader)
+       runtime.SetFinalizer(writer, writerFinalizer)
+
+       return writer
+}
+
+func (logger *Logger) writerScanner(reader *io.PipeReader) {
+       scanner := bufio.NewScanner(reader)
+       for scanner.Scan() {
+               logger.Print(scanner.Text())
+       }
+       if err := scanner.Err(); err != nil {
+               logger.Errorf("Error while reading from Writer: %s", err)
+       }
+       reader.Close()
+}
+
+func writerFinalizer(writer *io.PipeWriter) {
+       writer.Close()
+}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore
deleted file mode 100644
index 8ed84fe..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-y.output
-
-# ignore intellij files
-.idea
-*.iml
-*.ipr
-*.iws

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml
deleted file mode 100644
index 83dc540..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-sudo: false
-language: go
-go: 1.5

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE
deleted file mode 100644
index c33dcc7..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/LICENSE
+++ /dev/null
@@ -1,354 +0,0 @@
-Mozilla Public License, version 2.0
-
-1. Definitions
-
-1.1. “Contributor”
-
-     means each individual or legal entity that creates, contributes to the
-     creation of, or owns Covered Software.
-
-1.2. “Contributor Version”
-
-     means the combination of the Contributions of others (if any) used by a
-     Contributor and that particular Contributor’s Contribution.
-
-1.3. “Contribution”
-
-     means Covered Software of a particular Contributor.
-
-1.4. “Covered Software”
-
-     means Source Code Form to which the initial Contributor has attached the
-     notice in Exhibit A, the Executable Form of such Source Code Form, and
-     Modifications of such Source Code Form, in each case including portions
-     thereof.
-
-1.5. “Incompatible With Secondary Licenses”
-     means
-
-     a. that the initial Contributor has attached the notice described in
-        Exhibit B to the Covered Software; or
-
-     b. that the Covered Software was made available under the terms of version
-        1.1 or earlier of the License, but not also under the terms of a
-        Secondary License.
-
-1.6. “Executable Form”
-
-     means any form of the work other than Source Code Form.
-
-1.7. “Larger Work”
-
-     means a work that combines Covered Software with other material, in a 
separate
-     file or files, that is not Covered Software.
-
-1.8. “License”
-
-     means this document.
-
-1.9. “Licensable”
-
-     means having the right to grant, to the maximum extent possible, whether 
at the
-     time of the initial grant or subsequently, any and all of the rights 
conveyed by
-     this License.
-
-1.10. “Modifications”
-
-     means any of the following:
-
-     a. any file in Source Code Form that results from an addition to, deletion
-        from, or modification of the contents of Covered Software; or
-
-     b. any new file in Source Code Form that contains any Covered Software.
-
-1.11. “Patent Claims” of a Contributor
-
-      means any patent claim(s), including without limitation, method, process,
-      and apparatus claims, in any patent Licensable by such Contributor that
-      would be infringed, but for the grant of the License, by the making,
-      using, selling, offering for sale, having made, import, or transfer of
-      either its Contributions or its Contributor Version.
-
-1.12. “Secondary License”
-
-      means either the GNU General Public License, Version 2.0, the GNU Lesser
-      General Public License, Version 2.1, the GNU Affero General Public
-      License, Version 3.0, or any later versions of those licenses.
-
-1.13. “Source Code Form”
-
-      means the form of the work preferred for making modifications.
-
-1.14. “You” (or “Your”)
-
-      means an individual or a legal entity exercising rights under this
-      License. For legal entities, “You” includes any entity that 
controls, is
-      controlled by, or is under common control with You. For purposes of this
-      definition, “control” means (a) the power, direct or indirect, to 
cause
-      the direction or management of such entity, whether by contract or
-      otherwise, or (b) ownership of more than fifty percent (50%) of the
-      outstanding shares or beneficial ownership of such entity.
-
-
-2. License Grants and Conditions
-
-2.1. Grants
-
-     Each Contributor hereby grants You a world-wide, royalty-free,
-     non-exclusive license:
-
-     a. under intellectual property rights (other than patent or trademark)
-        Licensable by such Contributor to use, reproduce, make available,
-        modify, display, perform, distribute, and otherwise exploit its
-        Contributions, either on an unmodified basis, with Modifications, or as
-        part of a Larger Work; and
-
-     b. under Patent Claims of such Contributor to make, use, sell, offer for
-        sale, have made, import, and otherwise transfer either its 
Contributions
-        or its Contributor Version.
-
-2.2. Effective Date
-
-     The licenses granted in Section 2.1 with respect to any Contribution 
become
-     effective for each Contribution on the date the Contributor first 
distributes
-     such Contribution.
-
-2.3. Limitations on Grant Scope
-
-     The licenses granted in this Section 2 are the only rights granted under 
this
-     License. No additional rights or licenses will be implied from the 
distribution
-     or licensing of Covered Software under this License. Notwithstanding 
Section
-     2.1(b) above, no patent license is granted by a Contributor:
-
-     a. for any code that a Contributor has removed from Covered Software; or
-
-     b. for infringements caused by: (i) Your and any other third party’s
-        modifications of Covered Software, or (ii) the combination of its
-        Contributions with other software (except as part of its Contributor
-        Version); or
-
-     c. under Patent Claims infringed by Covered Software in the absence of its
-        Contributions.
-
-     This License does not grant any rights in the trademarks, service marks, 
or
-     logos of any Contributor (except as may be necessary to comply with the
-     notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-     No Contributor makes additional grants as a result of Your choice to
-     distribute the Covered Software under a subsequent version of this License
-     (see Section 10.2) or under the terms of a Secondary License (if permitted
-     under the terms of Section 3.3).
-
-2.5. Representation
-
-     Each Contributor represents that the Contributor believes its 
Contributions
-     are its original creation(s) or it has sufficient rights to grant the
-     rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-     This License is not intended to limit any rights You have under applicable
-     copyright doctrines of fair use, fair dealing, or other equivalents.
-
-2.7. Conditions
-
-     Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
-     Section 2.1.
-
-
-3. Responsibilities
-
-3.1. Distribution of Source Form
-
-     All distribution of Covered Software in Source Code Form, including any
-     Modifications that You create or to which You contribute, must be under 
the
-     terms of this License. You must inform recipients that the Source Code 
Form
-     of the Covered Software is governed by the terms of this License, and how
-     they can obtain a copy of this License. You may not attempt to alter or
-     restrict the recipients’ rights in the Source Code Form.
-
-3.2. Distribution of Executable Form
-
-     If You distribute Covered Software in Executable Form then:
-
-     a. such Covered Software must also be made available in Source Code Form,
-        as described in Section 3.1, and You must inform recipients of the
-        Executable Form how they can obtain a copy of such Source Code Form by
-        reasonable means in a timely manner, at a charge no more than the cost
-        of distribution to the recipient; and
-
-     b. You may distribute such Executable Form under the terms of this 
License,
-        or sublicense it under different terms, provided that the license for
-        the Executable Form does not attempt to limit or alter the 
recipients’
-        rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-     You may create and distribute a Larger Work under terms of Your choice,
-     provided that You also comply with the requirements of this License for 
the
-     Covered Software. If the Larger Work is a combination of Covered Software
-     with a work governed by one or more Secondary Licenses, and the Covered
-     Software is not Incompatible With Secondary Licenses, this License permits
-     You to additionally distribute such Covered Software under the terms of
-     such Secondary License(s), so that the recipient of the Larger Work may, 
at
-     their option, further distribute the Covered Software under the terms of
-     either this License or such Secondary License(s).
-
-3.4. Notices
-
-     You may not remove or alter the substance of any license notices 
(including
-     copyright notices, patent notices, disclaimers of warranty, or limitations
-     of liability) contained within the Source Code Form of the Covered
-     Software, except that You may alter any license notices to the extent
-     required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-     You may choose to offer, and to charge a fee for, warranty, support,
-     indemnity or liability obligations to one or more recipients of Covered
-     Software. However, You may do so only on Your own behalf, and not on 
behalf
-     of any Contributor. You must make it absolutely clear that any such
-     warranty, support, indemnity, or liability obligation is offered by You
-     alone, and You hereby agree to indemnify every Contributor for any
-     liability incurred by such Contributor as a result of warranty, support,
-     indemnity or liability terms You offer. You may include additional
-     disclaimers of warranty and limitations of liability specific to any
-     jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
-
-   If it is impossible for You to comply with any of the terms of this License
-   with respect to some or all of the Covered Software due to statute, judicial
-   order, or regulation then You must: (a) comply with the terms of this 
License
-   to the maximum extent possible; and (b) describe the limitations and the 
code
-   they affect. Such description must be placed in a text file included with 
all
-   distributions of the Covered Software under this License. Except to the
-   extent prohibited by statute or regulation, such description must be
-   sufficiently detailed for a recipient of ordinary skill to be able to
-   understand it.
-
-5. Termination
-
-5.1. The rights granted under this License will terminate automatically if You
-     fail to comply with any of its terms. However, if You become compliant,
-     then the rights granted under this License from a particular Contributor
-     are reinstated (a) provisionally, unless and until such Contributor
-     explicitly and finally terminates Your grants, and (b) on an ongoing 
basis,
-     if such Contributor fails to notify You of the non-compliance by some
-     reasonable means prior to 60 days after You have come back into 
compliance.
-     Moreover, Your grants from a particular Contributor are reinstated on an
-     ongoing basis if such Contributor notifies You of the non-compliance by
-     some reasonable means, this is the first time You have received notice of
-     non-compliance with this License from such Contributor, and You become
-     compliant prior to 30 days after Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-     infringement claim (excluding declaratory judgment actions, 
counter-claims,
-     and cross-claims) alleging that a Contributor Version directly or
-     indirectly infringes any patent, then the rights granted to You by any and
-     all Contributors for the Covered Software under Section 2.1 of this 
License
-     shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
-     license agreements (excluding distributors and resellers) which have been
-     validly granted by You or Your distributors under this License prior to
-     termination shall survive termination.
-
-6. Disclaimer of Warranty
-
-   Covered Software is provided under this License on an “as is” basis, 
without
-   warranty of any kind, either expressed, implied, or statutory, including,
-   without limitation, warranties that the Covered Software is free of defects,
-   merchantable, fit for a particular purpose or non-infringing. The entire
-   risk as to the quality and performance of the Covered Software is with You.
-   Should any Covered Software prove defective in any respect, You (not any
-   Contributor) assume the cost of any necessary servicing, repair, or
-   correction. This disclaimer of warranty constitutes an essential part of 
this
-   License. No use of  any Covered Software is authorized under this License
-   except under this disclaimer.
-
-7. Limitation of Liability
-
-   Under no circumstances and under no legal theory, whether tort (including
-   negligence), contract, or otherwise, shall any Contributor, or anyone who
-   distributes Covered Software as permitted above, be liable to You for any
-   direct, indirect, special, incidental, or consequential damages of any
-   character including, without limitation, damages for lost profits, loss of
-   goodwill, work stoppage, computer failure or malfunction, or any and all
-   other commercial damages or losses, even if such party shall have been
-   informed of the possibility of such damages. This limitation of liability
-   shall not apply to liability for death or personal injury resulting from 
such
-   party’s negligence to the extent applicable law prohibits such limitation.
-   Some jurisdictions do not allow the exclusion or limitation of incidental or
-   consequential damages, so this exclusion and limitation may not apply to 
You.
-
-8. Litigation
-
-   Any litigation relating to this License may be brought only in the courts of
-   a jurisdiction where the defendant maintains its principal place of business
-   and such litigation shall be governed by laws of that jurisdiction, without
-   reference to its conflict-of-law provisions. Nothing in this Section shall
-   prevent a party’s ability to bring cross-claims or counter-claims.
-
-9. Miscellaneous
-
-   This License represents the complete agreement concerning the subject matter
-   hereof. If any provision of this License is held to be unenforceable, such
-   provision shall be reformed only to the extent necessary to make it
-   enforceable. Any law or regulation which provides that the language of a
-   contract shall be construed against the drafter shall not be used to 
construe
-   this License against a Contributor.
-
-
-10. Versions of the License
-
-10.1. New Versions
-
-      Mozilla Foundation is the license steward. Except as provided in Section
-      10.3, no one other than the license steward has the right to modify or
-      publish new versions of this License. Each version will be given a
-      distinguishing version number.
-
-10.2. Effect of New Versions
-
-      You may distribute the Covered Software under the terms of the version of
-      the License under which You originally received the Covered Software, or
-      under the terms of any subsequent version published by the license
-      steward.
-
-10.3. Modified Versions
-
-      If you create software not governed by this License, and you want to
-      create a new license for such software, you may create and use a modified
-      version of this License if you rename the license and remove any
-      references to the name of the license steward (except to note that such
-      modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary 
Licenses
-      If You choose to distribute Source Code Form that is Incompatible With
-      Secondary Licenses under the terms of this version of the License, the
-      notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
-
-      This Source Code Form is subject to the
-      terms of the Mozilla Public License, v.
-      2.0. If a copy of the MPL was not
-      distributed with this file, You can
-      obtain one at
-      http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular file, then
-You may include the notice in a location (such as a LICENSE file in a relevant
-directory) where a recipient would be likely to look for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - “Incompatible With Secondary Licenses” Notice
-
-      This Source Code Form is “Incompatible
-      With Secondary Licenses”, as defined by
-      the Mozilla Public License, v. 2.0.
-

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile
deleted file mode 100644
index ad404a8..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-TEST?=./...
-
-default: test
-
-fmt: generate
-       go fmt ./...
-
-test: generate
-       go test $(TEST) $(TESTARGS)
-
-generate:
-       go generate ./...
-
-updatedeps:
-       go get -u golang.org/x/tools/cmd/stringer
-
-.PHONY: default generate test updatedeps

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md
deleted file mode 100644
index acec666..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/README.md
+++ /dev/null
@@ -1,104 +0,0 @@
-# HCL
-
-[![GoDoc](https://godoc.org/github.com/hashicorp/hcl?status.png)](https://godoc.org/github.com/hashicorp/hcl)
 [![Build 
Status](https://travis-ci.org/hashicorp/hcl.svg?branch=master)](https://travis-ci.org/hashicorp/hcl)
-
-HCL (HashiCorp Configuration Language) is a configuration language built
-by HashiCorp. The goal of HCL is to build a structured configuration language
-that is both human and machine friendly for use with command-line tools, but
-specifically targeted towards DevOps tools, servers, etc.
-
-HCL is also fully JSON compatible. That is, JSON can be used as completely
-valid input to a system expecting HCL. This helps makes systems
-interoperable with other systems.
-
-HCL is heavily inspired by
-[libucl](https://github.com/vstakhov/libucl),
-nginx configuration, and others similar.
-
-## Why?
-
-A common question when viewing HCL is to ask the question: why not
-JSON, YAML, etc.?
-
-Prior to HCL, the tools we built at [HashiCorp](http://www.hashicorp.com)
-used a variety of configuration languages from full programming languages
-such as Ruby to complete data structure languages such as JSON. What we
-learned is that some people wanted human-friendly configuration languages
-and some people wanted machine-friendly languages.
-
-JSON fits a nice balance in this, but is fairly verbose and most
-importantly doesn't support comments. With YAML, we found that beginners
-had a really hard time determining what the actual structure was, and
-ended up guessing more than not whether to use a hyphen, colon, etc.
-in order to represent some configuration key.
-
-Full programming languages such as Ruby enable complex behavior
-a configuration language shouldn't usually allow, and also forces
-people to learn some set of Ruby.
-
-Because of this, we decided to create our own configuration language
-that is JSON-compatible. Our configuration language (HCL) is designed
-to be written and modified by humans. The API for HCL allows JSON
-as an input so that it is also machine-friendly (machines can generate
-JSON instead of trying to generate HCL).
-
-Our goal with HCL is not to alienate other configuration languages.
-It is instead to provide HCL as a specialized language for our tools,
-and JSON as the interoperability layer.
-
-## Syntax
-
-For a complete grammar, please see the parser itself. A high-level overview
-of the syntax and grammar is listed here.
-
-  * Single line comments start with `#` or `//`
-
-  * Multi-line comments are wrapped in `/*` and `*/`. Nested block comments
-    are not allowed. A multi-line comment (also known as a block comment)
-    terminates at the first `*/` found.
-
-  * Values are assigned with the syntax `key = value` (whitespace doesn't
-    matter). The value can be any primitive: a string, number, boolean,
-    object, or list.
-
-  * Strings are double-quoted and can contain any UTF-8 characters.
-    Example: `"Hello, World"`
-
-  * Multi-line strings start with `<<EOF` at the end of a line, and end
-    with `EOF` on its own line ([here 
documents](https://en.wikipedia.org/wiki/Here_document)).
-    Any text may be used in place of `EOF`. Example:
-```
-<<FOO
-hello
-world
-FOO
-```
-
-  * Numbers are assumed to be base 10. If you prefix a number with 0x,
-    it is treated as a hexadecimal. If it is prefixed with 0, it is
-    treated as an octal. Numbers can be in scientific notation: "1e10".
-
-  * Boolean values: `true`, `false`
-
-  * Arrays can be made by wrapping it in `[]`. Example:
-    `["foo", "bar", 42]`. Arrays can contain primitives
-    and other arrays, but cannot contain objects. Objects must
-    use the block syntax shown below.
-
-Objects and nested objects are created using the structure shown below:
-
-```
-variable "ami" {
-    description = "the AMI to use"
-}
-```
-
-## Thanks
-
-Thanks to:
-
-  * [@vstakhov](https://github.com/vstakhov) - The original libucl parser
-    and syntax that HCL was based off of.
-
-  * [@fatih](https://github.com/fatih) - The rewritten HCL parser
-    in pure Go (no goyacc) and support for a printer.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go
deleted file mode 100644
index b0c3fc6..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder.go
+++ /dev/null
@@ -1,627 +0,0 @@
-package hcl
-
-import (
-       "errors"
-       "fmt"
-       "reflect"
-       "sort"
-       "strconv"
-       "strings"
-
-       "github.com/hashicorp/hcl/hcl/ast"
-       "github.com/hashicorp/hcl/hcl/parser"
-       "github.com/hashicorp/hcl/hcl/token"
-)
-
-// This is the tag to use with structures to have settings for HCL
-const tagName = "hcl"
-
-var (
-       // nodeType holds a reference to the type of ast.Node
-       nodeType reflect.Type = findNodeType()
-)
-
-// Decode reads the given input and decodes it into the structure
-// given by `out`.
-func Decode(out interface{}, in string) error {
-       obj, err := Parse(in)
-       if err != nil {
-               return err
-       }
-
-       return DecodeObject(out, obj)
-}
-
-// DecodeObject is a lower-level version of Decode. It decodes a
-// raw Object into the given output.
-func DecodeObject(out interface{}, n ast.Node) error {
-       val := reflect.ValueOf(out)
-       if val.Kind() != reflect.Ptr {
-               return errors.New("result must be a pointer")
-       }
-
-       // If we have the file, we really decode the root node
-       if f, ok := n.(*ast.File); ok {
-               n = f.Node
-       }
-
-       var d decoder
-       return d.decode("root", n, val.Elem())
-}
-
-type decoder struct {
-       stack []reflect.Kind
-}
-
-func (d *decoder) decode(name string, node ast.Node, result reflect.Value) 
error {
-       k := result
-
-       // If we have an interface with a valid value, we use that
-       // for the check.
-       if result.Kind() == reflect.Interface {
-               elem := result.Elem()
-               if elem.IsValid() {
-                       k = elem
-               }
-       }
-
-       // Push current onto stack unless it is an interface.
-       if k.Kind() != reflect.Interface {
-               d.stack = append(d.stack, k.Kind())
-
-               // Schedule a pop
-               defer func() {
-                       d.stack = d.stack[:len(d.stack)-1]
-               }()
-       }
-
-       switch k.Kind() {
-       case reflect.Bool:
-               return d.decodeBool(name, node, result)
-       case reflect.Float64:
-               return d.decodeFloat(name, node, result)
-       case reflect.Int:
-               return d.decodeInt(name, node, result)
-       case reflect.Interface:
-               // When we see an interface, we make our own thing
-               return d.decodeInterface(name, node, result)
-       case reflect.Map:
-               return d.decodeMap(name, node, result)
-       case reflect.Ptr:
-               return d.decodePtr(name, node, result)
-       case reflect.Slice:
-               return d.decodeSlice(name, node, result)
-       case reflect.String:
-               return d.decodeString(name, node, result)
-       case reflect.Struct:
-               return d.decodeStruct(name, node, result)
-       default:
-               return &parser.PosError{
-                       Pos: node.Pos(),
-                       Err: fmt.Errorf("%s: unknown kind to decode into: %s", 
name, k.Kind()),
-               }
-       }
-}
-
-func (d *decoder) decodeBool(name string, node ast.Node, result reflect.Value) 
error {
-       switch n := node.(type) {
-       case *ast.LiteralType:
-               if n.Token.Type == token.BOOL {
-                       v, err := strconv.ParseBool(n.Token.Text)
-                       if err != nil {
-                               return err
-                       }
-
-                       result.Set(reflect.ValueOf(v))
-                       return nil
-               }
-       }
-
-       return &parser.PosError{
-               Pos: node.Pos(),
-               Err: fmt.Errorf("%s: unknown type %T", name, node),
-       }
-}
-
-func (d *decoder) decodeFloat(name string, node ast.Node, result 
reflect.Value) error {
-       switch n := node.(type) {
-       case *ast.LiteralType:
-               if n.Token.Type == token.FLOAT {
-                       v, err := strconv.ParseFloat(n.Token.Text, 64)
-                       if err != nil {
-                               return err
-                       }
-
-                       result.Set(reflect.ValueOf(v))
-                       return nil
-               }
-       }
-
-       return &parser.PosError{
-               Pos: node.Pos(),
-               Err: fmt.Errorf("%s: unknown type %T", name, node),
-       }
-}
-
-func (d *decoder) decodeInt(name string, node ast.Node, result reflect.Value) 
error {
-       switch n := node.(type) {
-       case *ast.LiteralType:
-               switch n.Token.Type {
-               case token.NUMBER:
-                       v, err := strconv.ParseInt(n.Token.Text, 0, 0)
-                       if err != nil {
-                               return err
-                       }
-
-                       result.Set(reflect.ValueOf(int(v)))
-                       return nil
-               case token.STRING:
-                       v, err := strconv.ParseInt(n.Token.Value().(string), 0, 
0)
-                       if err != nil {
-                               return err
-                       }
-
-                       result.Set(reflect.ValueOf(int(v)))
-                       return nil
-               }
-       }
-
-       return &parser.PosError{
-               Pos: node.Pos(),
-               Err: fmt.Errorf("%s: unknown type %T", name, node),
-       }
-}
-
-func (d *decoder) decodeInterface(name string, node ast.Node, result 
reflect.Value) error {
-       // When we see an ast.Node, we retain the value to enable deferred 
decoding.
-       // Very useful in situations where we want to preserve ast.Node 
information
-       // like Pos
-       if result.Type() == nodeType && result.CanSet() {
-               result.Set(reflect.ValueOf(node))
-               return nil
-       }
-
-       var set reflect.Value
-       redecode := true
-
-       // For testing types, ObjectType should just be treated as a list. We
-       // set this to a temporary var because we want to pass in the real node.
-       testNode := node
-       if ot, ok := node.(*ast.ObjectType); ok {
-               testNode = ot.List
-       }
-
-       switch n := testNode.(type) {
-       case *ast.ObjectList:
-               // If we're at the root or we're directly within a slice, then 
we
-               // decode objects into map[string]interface{}, otherwise we 
decode
-               // them into lists.
-               if len(d.stack) == 0 || d.stack[len(d.stack)-1] == 
reflect.Slice {
-                       var temp map[string]interface{}
-                       tempVal := reflect.ValueOf(temp)
-                       result := reflect.MakeMap(
-                               reflect.MapOf(
-                                       reflect.TypeOf(""),
-                                       tempVal.Type().Elem()))
-
-                       set = result
-               } else {
-                       var temp []map[string]interface{}
-                       tempVal := reflect.ValueOf(temp)
-                       result := reflect.MakeSlice(
-                               reflect.SliceOf(tempVal.Type().Elem()), 0, 
len(n.Items))
-                       set = result
-               }
-       case *ast.ObjectType:
-               // If we're at the root or we're directly within a slice, then 
we
-               // decode objects into map[string]interface{}, otherwise we 
decode
-               // them into lists.
-               if len(d.stack) == 0 || d.stack[len(d.stack)-1] == 
reflect.Slice {
-                       var temp map[string]interface{}
-                       tempVal := reflect.ValueOf(temp)
-                       result := reflect.MakeMap(
-                               reflect.MapOf(
-                                       reflect.TypeOf(""),
-                                       tempVal.Type().Elem()))
-
-                       set = result
-               } else {
-                       var temp []map[string]interface{}
-                       tempVal := reflect.ValueOf(temp)
-                       result := reflect.MakeSlice(
-                               reflect.SliceOf(tempVal.Type().Elem()), 0, 1)
-                       set = result
-               }
-       case *ast.ListType:
-               var temp []interface{}
-               tempVal := reflect.ValueOf(temp)
-               result := reflect.MakeSlice(
-                       reflect.SliceOf(tempVal.Type().Elem()), 0, 0)
-               set = result
-       case *ast.LiteralType:
-               switch n.Token.Type {
-               case token.BOOL:
-                       var result bool
-                       set = 
reflect.Indirect(reflect.New(reflect.TypeOf(result)))
-               case token.FLOAT:
-                       var result float64
-                       set = 
reflect.Indirect(reflect.New(reflect.TypeOf(result)))
-               case token.NUMBER:
-                       var result int
-                       set = 
reflect.Indirect(reflect.New(reflect.TypeOf(result)))
-               case token.STRING, token.HEREDOC:
-                       set = reflect.Indirect(reflect.New(reflect.TypeOf("")))
-               default:
-                       return &parser.PosError{
-                               Pos: node.Pos(),
-                               Err: fmt.Errorf("%s: cannot decode into 
interface: %T", name, node),
-                       }
-               }
-       default:
-               return fmt.Errorf(
-                       "%s: cannot decode into interface: %T",
-                       name, node)
-       }
-
-       // Set the result to what its supposed to be, then reset
-       // result so we don't reflect into this method anymore.
-       result.Set(set)
-
-       if redecode {
-               // Revisit the node so that we can use the newly instantiated
-               // thing and populate it.
-               if err := d.decode(name, node, result); err != nil {
-                       return err
-               }
-       }
-
-       return nil
-}
-
-func (d *decoder) decodeMap(name string, node ast.Node, result reflect.Value) 
error {
-       if item, ok := node.(*ast.ObjectItem); ok {
-               node = &ast.ObjectList{Items: []*ast.ObjectItem{item}}
-       }
-
-       if ot, ok := node.(*ast.ObjectType); ok {
-               node = ot.List
-       }
-
-       n, ok := node.(*ast.ObjectList)
-       if !ok {
-               return &parser.PosError{
-                       Pos: node.Pos(),
-                       Err: fmt.Errorf("%s: not an object type for map (%T)", 
name, node),
-               }
-       }
-
-       // If we have an interface, then we can address the interface,
-       // but not the slice itself, so get the element but set the interface
-       set := result
-       if result.Kind() == reflect.Interface {
-               result = result.Elem()
-       }
-
-       resultType := result.Type()
-       resultElemType := resultType.Elem()
-       resultKeyType := resultType.Key()
-       if resultKeyType.Kind() != reflect.String {
-               return &parser.PosError{
-                       Pos: node.Pos(),
-                       Err: fmt.Errorf("%s: map must have string keys", name),
-               }
-       }
-
-       // Make a map if it is nil
-       resultMap := result
-       if result.IsNil() {
-               resultMap = reflect.MakeMap(
-                       reflect.MapOf(resultKeyType, resultElemType))
-       }
-
-       // Go through each element and decode it.
-       done := make(map[string]struct{})
-       for _, item := range n.Items {
-               if item.Val == nil {
-                       continue
-               }
-
-               // Get the key we're dealing with, which is the first item
-               keyStr := item.Keys[0].Token.Value().(string)
-
-               // If we've already processed this key, then ignore it
-               if _, ok := done[keyStr]; ok {
-                       continue
-               }
-
-               // Determine the value. If we have more than one key, then we
-               // get the objectlist of only these keys.
-               itemVal := item.Val
-               if len(item.Keys) > 1 {
-                       itemVal = n.Filter(keyStr)
-                       done[keyStr] = struct{}{}
-               }
-
-               // Make the field name
-               fieldName := fmt.Sprintf("%s.%s", name, keyStr)
-
-               // Get the key/value as reflection values
-               key := reflect.ValueOf(keyStr)
-               val := reflect.Indirect(reflect.New(resultElemType))
-
-               // If we have a pre-existing value in the map, use that
-               oldVal := resultMap.MapIndex(key)
-               if oldVal.IsValid() {
-                       val.Set(oldVal)
-               }
-
-               // Decode!
-               if err := d.decode(fieldName, itemVal, val); err != nil {
-                       return err
-               }
-
-               // Set the value on the map
-               resultMap.SetMapIndex(key, val)
-       }
-
-       // Set the final map if we can
-       set.Set(resultMap)
-       return nil
-}
-
-func (d *decoder) decodePtr(name string, node ast.Node, result reflect.Value) 
error {
-       // Create an element of the concrete (non pointer) type and decode
-       // into that. Then set the value of the pointer to this type.
-       resultType := result.Type()
-       resultElemType := resultType.Elem()
-       val := reflect.New(resultElemType)
-       if err := d.decode(name, node, reflect.Indirect(val)); err != nil {
-               return err
-       }
-
-       result.Set(val)
-       return nil
-}
-
-func (d *decoder) decodeSlice(name string, node ast.Node, result 
reflect.Value) error {
-       // If we have an interface, then we can address the interface,
-       // but not the slice itself, so get the element but set the interface
-       set := result
-       if result.Kind() == reflect.Interface {
-               result = result.Elem()
-       }
-
-       // Create the slice if it isn't nil
-       resultType := result.Type()
-       resultElemType := resultType.Elem()
-       if result.IsNil() {
-               resultSliceType := reflect.SliceOf(resultElemType)
-               result = reflect.MakeSlice(
-                       resultSliceType, 0, 0)
-       }
-
-       // Figure out the items we'll be copying into the slice
-       var items []ast.Node
-       switch n := node.(type) {
-       case *ast.ObjectList:
-               items = make([]ast.Node, len(n.Items))
-               for i, item := range n.Items {
-                       items[i] = item
-               }
-       case *ast.ObjectType:
-               items = []ast.Node{n}
-       case *ast.ListType:
-               items = n.List
-       default:
-               return &parser.PosError{
-                       Pos: node.Pos(),
-                       Err: fmt.Errorf("unknown slice type: %T", node),
-               }
-       }
-
-       for i, item := range items {
-               fieldName := fmt.Sprintf("%s[%d]", name, i)
-
-               // Decode
-               val := reflect.Indirect(reflect.New(resultElemType))
-               if err := d.decode(fieldName, item, val); err != nil {
-                       return err
-               }
-
-               // Append it onto the slice
-               result = reflect.Append(result, val)
-       }
-
-       set.Set(result)
-       return nil
-}
-
-func (d *decoder) decodeString(name string, node ast.Node, result 
reflect.Value) error {
-       switch n := node.(type) {
-       case *ast.LiteralType:
-               switch n.Token.Type {
-               case token.NUMBER:
-                       
result.Set(reflect.ValueOf(n.Token.Text).Convert(result.Type()))
-                       return nil
-               case token.STRING, token.HEREDOC:
-                       
result.Set(reflect.ValueOf(n.Token.Value()).Convert(result.Type()))
-                       return nil
-               }
-       }
-
-       return &parser.PosError{
-               Pos: node.Pos(),
-               Err: fmt.Errorf("%s: unknown type for string %T", name, node),
-       }
-}
-
-func (d *decoder) decodeStruct(name string, node ast.Node, result 
reflect.Value) error {
-       var item *ast.ObjectItem
-       if it, ok := node.(*ast.ObjectItem); ok {
-               item = it
-               node = it.Val
-       }
-
-       if ot, ok := node.(*ast.ObjectType); ok {
-               node = ot.List
-       }
-
-       list, ok := node.(*ast.ObjectList)
-       if !ok {
-               return &parser.PosError{
-                       Pos: node.Pos(),
-                       Err: fmt.Errorf("%s: not an object type for struct 
(%T)", name, node),
-               }
-       }
-
-       // This slice will keep track of all the structs we'll be decoding.
-       // There can be more than one struct if there are embedded structs
-       // that are squashed.
-       structs := make([]reflect.Value, 1, 5)
-       structs[0] = result
-
-       // Compile the list of all the fields that we're going to be decoding
-       // from all the structs.
-       fields := make(map[*reflect.StructField]reflect.Value)
-       for len(structs) > 0 {
-               structVal := structs[0]
-               structs = structs[1:]
-
-               structType := structVal.Type()
-               for i := 0; i < structType.NumField(); i++ {
-                       fieldType := structType.Field(i)
-
-                       if fieldType.Anonymous {
-                               fieldKind := fieldType.Type.Kind()
-                               if fieldKind != reflect.Struct {
-                                       return &parser.PosError{
-                                               Pos: node.Pos(),
-                                               Err: fmt.Errorf("%s: 
unsupported type to struct: %s",
-                                                       fieldType.Name, 
fieldKind),
-                                       }
-                               }
-
-                               // We have an embedded field. We "squash" the 
fields down
-                               // if specified in the tag.
-                               squash := false
-                               tagParts := 
strings.Split(fieldType.Tag.Get(tagName), ",")
-                               for _, tag := range tagParts[1:] {
-                                       if tag == "squash" {
-                                               squash = true
-                                               break
-                                       }
-                               }
-
-                               if squash {
-                                       structs = append(
-                                               structs, 
result.FieldByName(fieldType.Name))
-                                       continue
-                               }
-                       }
-
-                       // Normal struct field, store it away
-                       fields[&fieldType] = structVal.Field(i)
-               }
-       }
-
-       usedKeys := make(map[string]struct{})
-       decodedFields := make([]string, 0, len(fields))
-       decodedFieldsVal := make([]reflect.Value, 0)
-       unusedKeysVal := make([]reflect.Value, 0)
-       for fieldType, field := range fields {
-               if !field.IsValid() {
-                       // This should never happen
-                       panic("field is not valid")
-               }
-
-               // If we can't set the field, then it is unexported or 
something,
-               // and we just continue onwards.
-               if !field.CanSet() {
-                       continue
-               }
-
-               fieldName := fieldType.Name
-
-               tagValue := fieldType.Tag.Get(tagName)
-               tagParts := strings.SplitN(tagValue, ",", 2)
-               if len(tagParts) >= 2 {
-                       switch tagParts[1] {
-                       case "decodedFields":
-                               decodedFieldsVal = append(decodedFieldsVal, 
field)
-                               continue
-                       case "key":
-                               if item == nil {
-                                       return &parser.PosError{
-                                               Pos: node.Pos(),
-                                               Err: fmt.Errorf("%s: %s asked 
for 'key', impossible",
-                                                       name, fieldName),
-                                       }
-                               }
-
-                               
field.SetString(item.Keys[0].Token.Value().(string))
-                               continue
-                       case "unusedKeys":
-                               unusedKeysVal = append(unusedKeysVal, field)
-                               continue
-                       }
-               }
-
-               if tagParts[0] != "" {
-                       fieldName = tagParts[0]
-               }
-
-               // Determine the element we'll use to decode. If it is a single
-               // match (only object with the field), then we decode it 
exactly.
-               // If it is a prefix match, then we decode the matches.
-               filter := list.Filter(fieldName)
-               prefixMatches := filter.Children()
-               matches := filter.Elem()
-               if len(matches.Items) == 0 && len(prefixMatches.Items) == 0 {
-                       continue
-               }
-
-               // Track the used key
-               usedKeys[fieldName] = struct{}{}
-
-               // Create the field name and decode. We range over the elements
-               // because we actually want the value.
-               fieldName = fmt.Sprintf("%s.%s", name, fieldName)
-               if len(prefixMatches.Items) > 0 {
-                       if err := d.decode(fieldName, prefixMatches, field); 
err != nil {
-                               return err
-                       }
-               }
-               for _, match := range matches.Items {
-                       var decodeNode ast.Node = match.Val
-                       if ot, ok := decodeNode.(*ast.ObjectType); ok {
-                               decodeNode = &ast.ObjectList{Items: 
ot.List.Items}
-                       }
-
-                       if err := d.decode(fieldName, decodeNode, field); err 
!= nil {
-                               return err
-                       }
-               }
-
-               decodedFields = append(decodedFields, fieldType.Name)
-       }
-
-       if len(decodedFieldsVal) > 0 {
-               // Sort it so that it is deterministic
-               sort.Strings(decodedFields)
-
-               for _, v := range decodedFieldsVal {
-                       v.Set(reflect.ValueOf(decodedFields))
-               }
-       }
-
-       return nil
-}
-
-// findNodeType returns the type of ast.Node
-func findNodeType() reflect.Type {
-       var nodeContainer struct {
-               Node ast.Node
-       }
-       value := reflect.ValueOf(nodeContainer).FieldByName("Node")
-       return value.Type()
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go
deleted file mode 100644
index e976271..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/decoder_test.go
+++ /dev/null
@@ -1,669 +0,0 @@
-package hcl
-
-import (
-       "io/ioutil"
-       "path/filepath"
-       "reflect"
-       "testing"
-
-       "github.com/hashicorp/hcl/hcl/ast"
-)
-
-func TestDecode_interface(t *testing.T) {
-       cases := []struct {
-               File string
-               Err  bool
-               Out  interface{}
-       }{
-               {
-                       "basic.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo": "bar",
-                               "bar": "${file(\"bing/bong.txt\")}",
-                       },
-               },
-               {
-                       "basic_squish.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo":     "bar",
-                               "bar":     "${file(\"bing/bong.txt\")}",
-                               "foo-bar": "baz",
-                       },
-               },
-               {
-                       "empty.hcl",
-                       false,
-                       map[string]interface{}{
-                               "resource": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "foo": []map[string]interface{}{
-                                                       
map[string]interface{}{},
-                                               },
-                                       },
-                               },
-                       },
-               },
-               {
-                       "tfvars.hcl",
-                       false,
-                       map[string]interface{}{
-                               "regularvar": "Should work",
-                               "map.key1":   "Value",
-                               "map.key2":   "Other value",
-                       },
-               },
-               {
-                       "escape.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo": "bar\"baz\\n",
-                       },
-               },
-               {
-                       "interpolate_escape.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo": "${file(\"bing/bong.txt\")}",
-                       },
-               },
-               {
-                       "float.hcl",
-                       false,
-                       map[string]interface{}{
-                               "a": 1.02,
-                       },
-               },
-               {
-                       "multiline_bad.hcl",
-                       true,
-                       nil,
-               },
-               {
-                       "multiline_no_marker.hcl",
-                       true,
-                       nil,
-               },
-               {
-                       "multiline.hcl",
-                       false,
-                       map[string]interface{}{"foo": "bar\nbaz\n"},
-               },
-               {
-                       "multiline_no_eof.hcl",
-                       false,
-                       map[string]interface{}{"foo": "bar\nbaz\n", "key": 
"value"},
-               },
-               {
-                       "multiline.json",
-                       false,
-                       map[string]interface{}{"foo": "bar\nbaz"},
-               },
-               {
-                       "scientific.json",
-                       false,
-                       map[string]interface{}{
-                               "a": 1e-10,
-                               "b": 1e+10,
-                               "c": 1e10,
-                               "d": 1.2e-10,
-                               "e": 1.2e+10,
-                               "f": 1.2e10,
-                       },
-               },
-               {
-                       "scientific.hcl",
-                       false,
-                       map[string]interface{}{
-                               "a": 1e-10,
-                               "b": 1e+10,
-                               "c": 1e10,
-                               "d": 1.2e-10,
-                               "e": 1.2e+10,
-                               "f": 1.2e10,
-                       },
-               },
-               {
-                       "terraform_heroku.hcl",
-                       false,
-                       map[string]interface{}{
-                               "name": "terraform-test-app",
-                               "config_vars": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "FOO": "bar",
-                                       },
-                               },
-                       },
-               },
-               {
-                       "structure_multi.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "baz": []map[string]interface{}{
-                                                       
map[string]interface{}{"key": 7},
-                                               },
-                                       },
-                                       map[string]interface{}{
-                                               "bar": []map[string]interface{}{
-                                                       
map[string]interface{}{"key": 12},
-                                               },
-                                       },
-                               },
-                       },
-               },
-               {
-                       "structure_multi.json",
-                       false,
-                       map[string]interface{}{
-                               "foo": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "baz": []map[string]interface{}{
-                                                       
map[string]interface{}{"key": 7},
-                                               },
-                                       },
-                                       map[string]interface{}{
-                                               "bar": []map[string]interface{}{
-                                                       
map[string]interface{}{"key": 12},
-                                               },
-                                       },
-                               },
-                       },
-               },
-               {
-                       "structure_list.hcl",
-                       false,
-                       map[string]interface{}{
-                               "foo": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "key": 7,
-                                       },
-                                       map[string]interface{}{
-                                               "key": 12,
-                                       },
-                               },
-                       },
-               },
-               {
-                       "structure_list.json",
-                       false,
-                       map[string]interface{}{
-                               "foo": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "key": 7,
-                                       },
-                                       map[string]interface{}{
-                                               "key": 12,
-                                       },
-                               },
-                       },
-               },
-               {
-                       "structure_list_deep.json",
-                       false,
-                       map[string]interface{}{
-                               "bar": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "foo": []map[string]interface{}{
-                                                       map[string]interface{}{
-                                                               "name": 
"terraform_example",
-                                                               "ingress": 
[]map[string]interface{}{
-                                                                       
map[string]interface{}{
-                                                                               
"from_port": 22,
-                                                                       },
-                                                                       
map[string]interface{}{
-                                                                               
"from_port": 80,
-                                                                       },
-                                                               },
-                                                       },
-                                               },
-                                       },
-                               },
-                       },
-               },
-
-               {
-                       "nested_block_comment.hcl",
-                       false,
-                       map[string]interface{}{
-                               "bar": "value",
-                       },
-               },
-
-               {
-                       "unterminated_block_comment.hcl",
-                       true,
-                       nil,
-               },
-
-               {
-                       "unterminated_brace.hcl",
-                       true,
-                       nil,
-               },
-
-               {
-                       "object_list.json",
-                       false,
-                       map[string]interface{}{
-                               "resource": []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "aws_instance": 
[]map[string]interface{}{
-                                                       map[string]interface{}{
-                                                               "db": 
[]map[string]interface{}{
-                                                                       
map[string]interface{}{
-                                                                               
"vpc": "foo",
-                                                                               
"provisioner": []map[string]interface{}{
-                                                                               
        map[string]interface{}{
-                                                                               
                "file": []map[string]interface{}{
-                                                                               
                        map[string]interface{}{
-                                                                               
                                "source":      "foo",
-                                                                               
                                "destination": "bar",
-                                                                               
                        },
-                                                                               
                },
-                                                                               
        },
-                                                                               
},
-                                                                       },
-                                                               },
-                                                       },
-                                               },
-                                       },
-                               },
-                       },
-               },
-       }
-
-       for _, tc := range cases {
-               t.Logf("Testing: %s", tc.File)
-               d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.File))
-               if err != nil {
-                       t.Fatalf("err: %s", err)
-               }
-
-               var out interface{}
-               err = Decode(&out, string(d))
-               if (err != nil) != tc.Err {
-                       t.Fatalf("Input: %s\n\nError: %s", tc.File, err)
-               }
-
-               if !reflect.DeepEqual(out, tc.Out) {
-                       t.Fatalf("Input: %s. Actual, Expected.\n\n%#v\n\n%#v", 
tc.File, out, tc.Out)
-               }
-       }
-}
-
-func TestDecode_equal(t *testing.T) {
-       cases := []struct {
-               One, Two string
-       }{
-               {
-                       "basic.hcl",
-                       "basic.json",
-               },
-               {
-                       "float.hcl",
-                       "float.json",
-               },
-               /*
-                       {
-                               "structure.hcl",
-                               "structure.json",
-                       },
-               */
-               {
-                       "structure.hcl",
-                       "structure_flat.json",
-               },
-               {
-                       "terraform_heroku.hcl",
-                       "terraform_heroku.json",
-               },
-       }
-
-       for _, tc := range cases {
-               p1 := filepath.Join(fixtureDir, tc.One)
-               p2 := filepath.Join(fixtureDir, tc.Two)
-
-               d1, err := ioutil.ReadFile(p1)
-               if err != nil {
-                       t.Fatalf("err: %s", err)
-               }
-
-               d2, err := ioutil.ReadFile(p2)
-               if err != nil {
-                       t.Fatalf("err: %s", err)
-               }
-
-               var i1, i2 interface{}
-               err = Decode(&i1, string(d1))
-               if err != nil {
-                       t.Fatalf("err: %s", err)
-               }
-
-               err = Decode(&i2, string(d2))
-               if err != nil {
-                       t.Fatalf("err: %s", err)
-               }
-
-               if !reflect.DeepEqual(i1, i2) {
-                       t.Fatalf(
-                               "%s != %s\n\n%#v\n\n%#v",
-                               tc.One, tc.Two,
-                               i1, i2)
-               }
-       }
-}
-
-func TestDecode_flatMap(t *testing.T) {
-       var val map[string]map[string]string
-
-       err := Decode(&val, testReadFile(t, "structure_flatmap.hcl"))
-       if err != nil {
-               t.Fatalf("err: %s", err)
-       }
-
-       expected := map[string]map[string]string{
-               "foo": map[string]string{
-                       "foo": "bar",
-                       "key": "7",
-               },
-       }
-
-       if !reflect.DeepEqual(val, expected) {
-               t.Fatalf("Actual: %#v\n\nExpected: %#v", val, expected)
-       }
-}
-
-func TestDecode_structure(t *testing.T) {
-       type V struct {
-               Key int
-               Foo string
-       }
-
-       var actual V
-
-       err := Decode(&actual, testReadFile(t, "flat.hcl"))
-       if err != nil {
-               t.Fatalf("err: %s", err)
-       }
-
-       expected := V{
-               Key: 7,
-               Foo: "bar",
-       }
-
-       if !reflect.DeepEqual(actual, expected) {
-               t.Fatalf("Actual: %#v\n\nExpected: %#v", actual, expected)
-       }
-}
-
-func TestDecode_structurePtr(t *testing.T) {
-       type V struct {
-               Key int
-               Foo string
-       }
-
-       var actual *V
-
-       err := Decode(&actual, testReadFile(t, "flat.hcl"))
-       if err != nil {
-               t.Fatalf("err: %s", err)
-       }
-
-       expected := &V{
-               Key: 7,
-               Foo: "bar",
-       }
-
-       if !reflect.DeepEqual(actual, expected) {
-               t.Fatalf("Actual: %#v\n\nExpected: %#v", actual, expected)
-       }
-}
-
-func TestDecode_structureArray(t *testing.T) {
-       // This test is extracted from a failure in Consul (consul.io),
-       // hence the interesting structure naming.
-
-       type KeyPolicyType string
-
-       type KeyPolicy struct {
-               Prefix string `hcl:",key"`
-               Policy KeyPolicyType
-       }
-
-       type Policy struct {
-               Keys []KeyPolicy `hcl:"key,expand"`
-       }
-
-       expected := Policy{
-               Keys: []KeyPolicy{
-                       KeyPolicy{
-                               Prefix: "",
-                               Policy: "read",
-                       },
-                       KeyPolicy{
-                               Prefix: "foo/",
-                               Policy: "write",
-                       },
-                       KeyPolicy{
-                               Prefix: "foo/bar/",
-                               Policy: "read",
-                       },
-                       KeyPolicy{
-                               Prefix: "foo/bar/baz",
-                               Policy: "deny",
-                       },
-               },
-       }
-
-       files := []string{
-               "decode_policy.hcl",
-               "decode_policy.json",
-       }
-
-       for _, f := range files {
-               var actual Policy
-
-               err := Decode(&actual, testReadFile(t, f))
-               if err != nil {
-                       t.Fatalf("Input: %s\n\nerr: %s", f, err)
-               }
-
-               if !reflect.DeepEqual(actual, expected) {
-                       t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", 
f, actual, expected)
-               }
-       }
-}
-
-func TestDecode_sliceExpand(t *testing.T) {
-       type testInner struct {
-               Name string `hcl:",key"`
-               Key  string
-       }
-
-       type testStruct struct {
-               Services []testInner `hcl:"service,expand"`
-       }
-
-       expected := testStruct{
-               Services: []testInner{
-                       testInner{
-                               Name: "my-service-0",
-                               Key:  "value",
-                       },
-                       testInner{
-                               Name: "my-service-1",
-                               Key:  "value",
-                       },
-               },
-       }
-
-       files := []string{
-               "slice_expand.hcl",
-       }
-
-       for _, f := range files {
-               t.Logf("Testing: %s", f)
-
-               var actual testStruct
-               err := Decode(&actual, testReadFile(t, f))
-               if err != nil {
-                       t.Fatalf("Input: %s\n\nerr: %s", f, err)
-               }
-
-               if !reflect.DeepEqual(actual, expected) {
-                       t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", 
f, actual, expected)
-               }
-       }
-}
-
-func TestDecode_structureMap(t *testing.T) {
-       // This test is extracted from a failure in Terraform (terraform.io),
-       // hence the interesting structure naming.
-
-       type hclVariable struct {
-               Default     interface{}
-               Description string
-               Fields      []string `hcl:",decodedFields"`
-       }
-
-       type rawConfig struct {
-               Variable map[string]hclVariable
-       }
-
-       expected := rawConfig{
-               Variable: map[string]hclVariable{
-                       "foo": hclVariable{
-                               Default:     "bar",
-                               Description: "bar",
-                               Fields:      []string{"Default", "Description"},
-                       },
-
-                       "amis": hclVariable{
-                               Default: []map[string]interface{}{
-                                       map[string]interface{}{
-                                               "east": "foo",
-                                       },
-                               },
-                               Fields: []string{"Default"},
-                       },
-               },
-       }
-
-       files := []string{
-               "decode_tf_variable.hcl",
-               "decode_tf_variable.json",
-       }
-
-       for _, f := range files {
-               t.Logf("Testing: %s", f)
-
-               var actual rawConfig
-               err := Decode(&actual, testReadFile(t, f))
-               if err != nil {
-                       t.Fatalf("Input: %s\n\nerr: %s", f, err)
-               }
-
-               if !reflect.DeepEqual(actual, expected) {
-                       t.Fatalf("Input: %s\n\nActual: %#v\n\nExpected: %#v", 
f, actual, expected)
-               }
-       }
-}
-
-func TestDecode_interfaceNonPointer(t *testing.T) {
-       var value interface{}
-       err := Decode(value, testReadFile(t, "basic_int_string.hcl"))
-       if err == nil {
-               t.Fatal("should error")
-       }
-}
-
-func TestDecode_intString(t *testing.T) {
-       var value struct {
-               Count int
-       }
-
-       err := Decode(&value, testReadFile(t, "basic_int_string.hcl"))
-       if err != nil {
-               t.Fatalf("err: %s", err)
-       }
-
-       if value.Count != 3 {
-               t.Fatalf("bad: %#v", value.Count)
-       }
-}
-
-func TestDecode_Node(t *testing.T) {
-       // given
-       var value struct {
-               Content ast.Node
-               Nested  struct {
-                       Content ast.Node
-               }
-       }
-
-       content := `
-content {
-       hello = "world"
-}
-`
-
-       // when
-       err := Decode(&value, content)
-
-       // then
-       if err != nil {
-               t.Errorf("unable to decode content, %v", err)
-               return
-       }
-
-       // verify ast.Node can be decoded later
-       var v map[string]interface{}
-       err = DecodeObject(&v, value.Content)
-       if err != nil {
-               t.Errorf("unable to decode content, %v", err)
-               return
-       }
-
-       if v["hello"] != "world" {
-               t.Errorf("expected mapping to be returned")
-       }
-}
-
-func TestDecode_NestedNode(t *testing.T) {
-       // given
-       var value struct {
-               Nested struct {
-                       Content ast.Node
-               }
-       }
-
-       content := `
-nested "content" {
-       hello = "world"
-}
-`
-
-       // when
-       err := Decode(&value, content)
-
-       // then
-       if err != nil {
-               t.Errorf("unable to decode content, %v", err)
-               return
-       }
-
-       // verify ast.Node can be decoded later
-       var v map[string]interface{}
-       err = DecodeObject(&v, value.Nested.Content)
-       if err != nil {
-               t.Errorf("unable to decode content, %v", err)
-               return
-       }
-
-       if v["hello"] != "world" {
-               t.Errorf("expected mapping to be returned")
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go
deleted file mode 100644
index 575a20b..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl.go
+++ /dev/null
@@ -1,11 +0,0 @@
-// Package hcl decodes HCL into usable Go structures.
-//
-// hcl input can come in either pure HCL format or JSON format.
-// It can be parsed into an AST, and then decoded into a structure,
-// or it can be decoded directly from a string into a structure.
-//
-// If you choose to parse HCL into a raw AST, the benefit is that you
-// can write custom visitor implementations to implement custom
-// semantic checks. By default, HCL does not perform any semantic
-// checks.
-package hcl

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go
deleted file mode 100644
index f8bb71a..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast.go
+++ /dev/null
@@ -1,211 +0,0 @@
-// Package ast declares the types used to represent syntax trees for HCL
-// (HashiCorp Configuration Language)
-package ast
-
-import (
-       "fmt"
-       "strings"
-
-       "github.com/hashicorp/hcl/hcl/token"
-)
-
-// Node is an element in the abstract syntax tree.
-type Node interface {
-       node()
-       Pos() token.Pos
-}
-
-func (File) node()         {}
-func (ObjectList) node()   {}
-func (ObjectKey) node()    {}
-func (ObjectItem) node()   {}
-func (Comment) node()      {}
-func (CommentGroup) node() {}
-func (ObjectType) node()   {}
-func (LiteralType) node()  {}
-func (ListType) node()     {}
-
-// File represents a single HCL file
-type File struct {
-       Node     Node            // usually a *ObjectList
-       Comments []*CommentGroup // list of all comments in the source
-}
-
-func (f *File) Pos() token.Pos {
-       return f.Node.Pos()
-}
-
-// ObjectList represents a list of ObjectItems. An HCL file itself is an
-// ObjectList.
-type ObjectList struct {
-       Items []*ObjectItem
-}
-
-func (o *ObjectList) Add(item *ObjectItem) {
-       o.Items = append(o.Items, item)
-}
-
-// Filter filters out the objects with the given key list as a prefix.
-//
-// The returned list of objects contain ObjectItems where the keys have
-// this prefix already stripped off. This might result in objects with
-// zero-length key lists if they have no children.
-//
-// If no matches are found, an empty ObjectList (non-nil) is returned.
-func (o *ObjectList) Filter(keys ...string) *ObjectList {
-       var result ObjectList
-       for _, item := range o.Items {
-               // If there aren't enough keys, then ignore this
-               if len(item.Keys) < len(keys) {
-                       continue
-               }
-
-               match := true
-               for i, key := range item.Keys[:len(keys)] {
-                       key := key.Token.Value().(string)
-                       if key != keys[i] && !strings.EqualFold(key, keys[i]) {
-                               match = false
-                               break
-                       }
-               }
-               if !match {
-                       continue
-               }
-
-               // Strip off the prefix from the children
-               newItem := *item
-               newItem.Keys = newItem.Keys[len(keys):]
-               result.Add(&newItem)
-       }
-
-       return &result
-}
-
-// Children returns further nested objects (key length > 0) within this
-// ObjectList. This should be used with Filter to get at child items.
-func (o *ObjectList) Children() *ObjectList {
-       var result ObjectList
-       for _, item := range o.Items {
-               if len(item.Keys) > 0 {
-                       result.Add(item)
-               }
-       }
-
-       return &result
-}
-
-// Elem returns items in the list that are direct element assignments
-// (key length == 0). This should be used with Filter to get at elements.
-func (o *ObjectList) Elem() *ObjectList {
-       var result ObjectList
-       for _, item := range o.Items {
-               if len(item.Keys) == 0 {
-                       result.Add(item)
-               }
-       }
-
-       return &result
-}
-
-func (o *ObjectList) Pos() token.Pos {
-       // always returns the uninitiliazed position
-       return o.Items[0].Pos()
-}
-
-// ObjectItem represents a HCL Object Item. An item is represented with a key
-// (or keys). It can be an assignment or an object (both normal and nested)
-type ObjectItem struct {
-       // keys is only one length long if it's of type assignment. If it's a
-       // nested object it can be larger than one. In that case "assign" is
-       // invalid as there is no assignments for a nested object.
-       Keys []*ObjectKey
-
-       // assign contains the position of "=", if any
-       Assign token.Pos
-
-       // val is the item itself. It can be an object,list, number, bool or a
-       // string. If key length is larger than one, val can be only of type
-       // Object.
-       Val Node
-
-       LeadComment *CommentGroup // associated lead comment
-       LineComment *CommentGroup // associated line comment
-}
-
-func (o *ObjectItem) Pos() token.Pos {
-       return o.Keys[0].Pos()
-}
-
-// ObjectKeys are either an identifier or of type string.
-type ObjectKey struct {
-       Token token.Token
-}
-
-func (o *ObjectKey) Pos() token.Pos {
-       return o.Token.Pos
-}
-
-// LiteralType represents a literal of basic type. Valid types are:
-// token.NUMBER, token.FLOAT, token.BOOL and token.STRING
-type LiteralType struct {
-       Token token.Token
-
-       // associated line comment, only when used in a list
-       LineComment *CommentGroup
-}
-
-func (l *LiteralType) Pos() token.Pos {
-       return l.Token.Pos
-}
-
-// ListStatement represents a HCL List type
-type ListType struct {
-       Lbrack token.Pos // position of "["
-       Rbrack token.Pos // position of "]"
-       List   []Node    // the elements in lexical order
-}
-
-func (l *ListType) Pos() token.Pos {
-       return l.Lbrack
-}
-
-func (l *ListType) Add(node Node) {
-       l.List = append(l.List, node)
-}
-
-// ObjectType represents a HCL Object Type
-type ObjectType struct {
-       Lbrace token.Pos   // position of "{"
-       Rbrace token.Pos   // position of "}"
-       List   *ObjectList // the nodes in lexical order
-}
-
-func (o *ObjectType) Pos() token.Pos {
-       return o.Lbrace
-}
-
-// Comment node represents a single //, # style or /*- style commment
-type Comment struct {
-       Start token.Pos // position of / or #
-       Text  string
-}
-
-func (c *Comment) Pos() token.Pos {
-       return c.Start
-}
-
-// CommentGroup node represents a sequence of comments with no other tokens and
-// no empty lines between.
-type CommentGroup struct {
-       List []*Comment // len(List) > 0
-}
-
-func (c *CommentGroup) Pos() token.Pos {
-       return c.List[0].Pos()
-}
-
-//-------------------------------------------------------------------
-// GoStringer
-//-------------------------------------------------------------------
-
-func (o *ObjectKey) GoString() string { return fmt.Sprintf("*%#v", *o) }

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast_test.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast_test.go
deleted file mode 100644
index 942256c..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/ast_test.go
+++ /dev/null
@@ -1,200 +0,0 @@
-package ast
-
-import (
-       "reflect"
-       "strings"
-       "testing"
-
-       "github.com/hashicorp/hcl/hcl/token"
-)
-
-func TestObjectListFilter(t *testing.T) {
-       var cases = []struct {
-               Filter []string
-               Input  []*ObjectItem
-               Output []*ObjectItem
-       }{
-               {
-                       []string{"foo"},
-                       []*ObjectItem{
-                               &ObjectItem{
-                                       Keys: []*ObjectKey{
-                                               &ObjectKey{
-                                                       Token: 
token.Token{Type: token.STRING, Text: `"foo"`},
-                                               },
-                                       },
-                               },
-                       },
-                       []*ObjectItem{
-                               &ObjectItem{
-                                       Keys: []*ObjectKey{},
-                               },
-                       },
-               },
-
-               {
-                       []string{"foo"},
-                       []*ObjectItem{
-                               &ObjectItem{
-                                       Keys: []*ObjectKey{
-                                               &ObjectKey{Token: 
token.Token{Type: token.STRING, Text: `"foo"`}},
-                                               &ObjectKey{Token: 
token.Token{Type: token.STRING, Text: `"bar"`}},
-                                       },
-                               },
-                               &ObjectItem{
-                                       Keys: []*ObjectKey{
-                                               &ObjectKey{Token: 
token.Token{Type: token.STRING, Text: `"baz"`}},
-                                       },
-                               },
-                       },
-                       []*ObjectItem{
-                               &ObjectItem{
-                                       Keys: []*ObjectKey{
-                                               &ObjectKey{Token: 
token.Token{Type: token.STRING, Text: `"bar"`}},
-                                       },
-                               },
-                       },
-               },
-       }
-
-       for _, tc := range cases {
-               input := &ObjectList{Items: tc.Input}
-               expected := &ObjectList{Items: tc.Output}
-               if actual := input.Filter(tc.Filter...); 
!reflect.DeepEqual(actual, expected) {
-                       t.Fatalf("in order: input, expected, 
actual\n\n%#v\n\n%#v\n\n%#v", input, expected, actual)
-               }
-       }
-}
-
-func TestWalk(t *testing.T) {
-       items := []*ObjectItem{
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"foo"`}},
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"bar"`}},
-                       },
-                       Val: &LiteralType{Token: token.Token{Type: 
token.STRING, Text: `"example"`}},
-               },
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"baz"`}},
-                       },
-               },
-       }
-
-       node := &ObjectList{Items: items}
-
-       order := []string{
-               "*ast.ObjectList",
-               "*ast.ObjectItem",
-               "*ast.ObjectKey",
-               "*ast.ObjectKey",
-               "*ast.LiteralType",
-               "*ast.ObjectItem",
-               "*ast.ObjectKey",
-       }
-       count := 0
-
-       Walk(node, func(n Node) (Node, bool) {
-               if n == nil {
-                       return n, false
-               }
-
-               typeName := reflect.TypeOf(n).String()
-               if order[count] != typeName {
-                       t.Errorf("expected '%s' got: '%s'", order[count], 
typeName)
-               }
-               count++
-               return n, true
-       })
-}
-
-func TestWalkEquality(t *testing.T) {
-       items := []*ObjectItem{
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"foo"`}},
-                       },
-               },
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"bar"`}},
-                       },
-               },
-       }
-
-       node := &ObjectList{Items: items}
-
-       rewritten := Walk(node, func(n Node) (Node, bool) { return n, true })
-
-       newNode, ok := rewritten.(*ObjectList)
-       if !ok {
-               t.Fatalf("expected Objectlist, got %T", rewritten)
-       }
-
-       if !reflect.DeepEqual(node, newNode) {
-               t.Fatal("rewritten node is not equal to the given node")
-       }
-
-       if len(newNode.Items) != 2 {
-               t.Error("expected newNode length 2, got: %d", 
len(newNode.Items))
-       }
-
-       expected := []string{
-               `"foo"`,
-               `"bar"`,
-       }
-
-       for i, item := range newNode.Items {
-               if len(item.Keys) != 1 {
-                       t.Error("expected keys newNode length 1, got: %d", 
len(item.Keys))
-               }
-
-               if item.Keys[0].Token.Text != expected[i] {
-                       t.Errorf("expected key %s, got %s", expected[i], 
item.Keys[0].Token.Text)
-               }
-
-               if item.Val != nil {
-                       t.Errorf("expected item value should be nil")
-               }
-       }
-}
-
-func TestWalkRewrite(t *testing.T) {
-       items := []*ObjectItem{
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"foo"`}},
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"bar"`}},
-                       },
-               },
-               &ObjectItem{
-                       Keys: []*ObjectKey{
-                               &ObjectKey{Token: token.Token{Type: 
token.STRING, Text: `"baz"`}},
-                       },
-               },
-       }
-
-       node := &ObjectList{Items: items}
-
-       suffix := "_example"
-       node = Walk(node, func(n Node) (Node, bool) {
-               switch i := n.(type) {
-               case *ObjectKey:
-                       i.Token.Text = i.Token.Text + suffix
-                       n = i
-               }
-               return n, true
-       }).(*ObjectList)
-
-       Walk(node, func(n Node) (Node, bool) {
-               switch i := n.(type) {
-               case *ObjectKey:
-                       if !strings.HasSuffix(i.Token.Text, suffix) {
-                               t.Errorf("Token '%s' should have suffix: %s", 
i.Token.Text, suffix)
-                       }
-               }
-               return n, true
-       })
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go
deleted file mode 100644
index ba07ad4..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/ast/walk.go
+++ /dev/null
@@ -1,52 +0,0 @@
-package ast
-
-import "fmt"
-
-// WalkFunc describes a function to be called for each node during a Walk. The
-// returned node can be used to rewrite the AST. Walking stops the returned
-// bool is false.
-type WalkFunc func(Node) (Node, bool)
-
-// Walk traverses an AST in depth-first order: It starts by calling fn(node);
-// node must not be nil. If fn returns true, Walk invokes fn recursively for
-// each of the non-nil children of node, followed by a call of fn(nil). The
-// returned node of fn can be used to rewrite the passed node to fn.
-func Walk(node Node, fn WalkFunc) Node {
-       rewritten, ok := fn(node)
-       if !ok {
-               return rewritten
-       }
-
-       switch n := node.(type) {
-       case *File:
-               n.Node = Walk(n.Node, fn)
-       case *ObjectList:
-               for i, item := range n.Items {
-                       n.Items[i] = Walk(item, fn).(*ObjectItem)
-               }
-       case *ObjectKey:
-               // nothing to do
-       case *ObjectItem:
-               for i, k := range n.Keys {
-                       n.Keys[i] = Walk(k, fn).(*ObjectKey)
-               }
-
-               if n.Val != nil {
-                       n.Val = Walk(n.Val, fn)
-               }
-       case *LiteralType:
-               // nothing to do
-       case *ListType:
-               for i, l := range n.List {
-                       n.List[i] = Walk(l, fn)
-               }
-       case *ObjectType:
-               n.List = Walk(n.List, fn).(*ObjectList)
-       default:
-               // should we panic here?
-               fmt.Printf("unknown type: %T\n", n)
-       }
-
-       fn(nil)
-       return rewritten
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd.go
deleted file mode 100644
index afc1e4e..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd.go
+++ /dev/null
@@ -1,164 +0,0 @@
-// Derivative work from:
-//     - https://golang.org/src/cmd/gofmt/gofmt.go
-//     - https://github.com/fatih/hclfmt
-
-package fmtcmd
-
-import (
-       "bytes"
-       "errors"
-       "fmt"
-       "io"
-       "io/ioutil"
-       "os"
-       "os/exec"
-       "path/filepath"
-       "strings"
-
-       "github.com/hashicorp/hcl/hcl/printer"
-)
-
-var (
-       ErrWriteStdin = errors.New("cannot use write option with standard 
input")
-)
-
-type Options struct {
-       List  bool // list files whose formatting differs
-       Write bool // write result to (source) file instead of stdout
-       Diff  bool // display diffs instead of rewriting files
-}
-
-func isValidFile(f os.FileInfo, extensions []string) bool {
-       if !f.IsDir() && !strings.HasPrefix(f.Name(), ".") {
-               for _, ext := range extensions {
-                       if strings.HasSuffix(f.Name(), "."+ext) {
-                               return true
-                       }
-               }
-       }
-
-       return false
-}
-
-// If in == nil, the source is the contents of the file with the given 
filename.
-func processFile(filename string, in io.Reader, out io.Writer, stdin bool, 
opts Options) error {
-       if in == nil {
-               f, err := os.Open(filename)
-               if err != nil {
-                       return err
-               }
-               defer f.Close()
-               in = f
-       }
-
-       src, err := ioutil.ReadAll(in)
-       if err != nil {
-               return err
-       }
-
-       res, err := printer.Format(src)
-       if err != nil {
-               return err
-       }
-       // Files should end with newlines
-       res = append(res, []byte("\n")...)
-
-       if !bytes.Equal(src, res) {
-               // formatting has changed
-               if opts.List {
-                       fmt.Fprintln(out, filename)
-               }
-               if opts.Write {
-                       err = ioutil.WriteFile(filename, res, 0644)
-                       if err != nil {
-                               return err
-                       }
-               }
-               if opts.Diff {
-                       data, err := diff(src, res)
-                       if err != nil {
-                               return fmt.Errorf("computing diff: %s", err)
-                       }
-                       fmt.Fprintf(out, "diff a/%s b/%s\n", filename, filename)
-                       out.Write(data)
-               }
-       }
-
-       if !opts.List && !opts.Write && !opts.Diff {
-               _, err = out.Write(res)
-       }
-
-       return err
-}
-
-func walkDir(path string, extensions []string, stdout io.Writer, opts Options) 
error {
-       visitFile := func(path string, f os.FileInfo, err error) error {
-               if err == nil && isValidFile(f, extensions) {
-                       err = processFile(path, nil, stdout, false, opts)
-               }
-               return err
-       }
-
-       return filepath.Walk(path, visitFile)
-}
-
-func Run(
-       paths, extensions []string,
-       stdin io.Reader,
-       stdout io.Writer,
-       opts Options,
-) error {
-       if len(paths) == 0 {
-               if opts.Write {
-                       return ErrWriteStdin
-               }
-               if err := processFile("<standard input>", stdin, stdout, true, 
opts); err != nil {
-                       return err
-               }
-               return nil
-       }
-
-       for _, path := range paths {
-               switch dir, err := os.Stat(path); {
-               case err != nil:
-                       return err
-               case dir.IsDir():
-                       if err := walkDir(path, extensions, stdout, opts); err 
!= nil {
-                               return err
-                       }
-               default:
-                       if err := processFile(path, nil, stdout, false, opts); 
err != nil {
-                               return err
-                       }
-               }
-       }
-
-       return nil
-}
-
-func diff(b1, b2 []byte) (data []byte, err error) {
-       f1, err := ioutil.TempFile("", "")
-       if err != nil {
-               return
-       }
-       defer os.Remove(f1.Name())
-       defer f1.Close()
-
-       f2, err := ioutil.TempFile("", "")
-       if err != nil {
-               return
-       }
-       defer os.Remove(f2.Name())
-       defer f2.Close()
-
-       f1.Write(b1)
-       f2.Write(b2)
-
-       data, err = exec.Command("diff", "-u", f1.Name(), 
f2.Name()).CombinedOutput()
-       if len(data) > 0 {
-               // diff exits with a non-zero status when the files don't match.
-               // Ignore that failure as long as we get output.
-               err = nil
-       }
-       return
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd_test.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd_test.go
deleted file mode 100644
index 4467b3e..0000000
--- 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/fmtcmd_test.go
+++ /dev/null
@@ -1,431 +0,0 @@
-package fmtcmd
-
-import (
-       "bytes"
-       "fmt"
-       "io/ioutil"
-       "os"
-       "path/filepath"
-       "reflect"
-       "regexp"
-       "sort"
-       "syscall"
-       "testing"
-)
-
-var fixtureExtensions = []string{"hcl"}
-
-func init() {
-       sort.Sort(ByFilename(fixtures))
-}
-
-func TestIsValidFile(t *testing.T) {
-       const fixtureDir = "./test-fixtures"
-
-       cases := []struct {
-               Path     string
-               Expected bool
-       }{
-               {"good.hcl", true},
-               {".hidden.ignore", false},
-               {"file.ignore", false},
-               {"dir.ignore", false},
-       }
-
-       for _, tc := range cases {
-               file, err := os.Stat(filepath.Join(fixtureDir, tc.Path))
-               if err != nil {
-                       t.Errorf("unexpected error: %s", err)
-               }
-
-               if res := isValidFile(file, fixtureExtensions); res != 
tc.Expected {
-                       t.Errorf("want: %b, got: %b", tc.Expected, res)
-               }
-       }
-}
-
-func TestRunMultiplePaths(t *testing.T) {
-       path1, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path1)
-       path2, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path2)
-
-       var expectedOut bytes.Buffer
-       for _, path := range []string{path1, path2} {
-               for _, fixture := range fixtures {
-                       if !bytes.Equal(fixture.golden, fixture.input) {
-                               expectedOut.WriteString(filepath.Join(path, 
fixture.filename) + "\n")
-                       }
-               }
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path1, path2},
-               fixtureExtensions,
-               nil, stdout,
-               Options{
-                       List: true,
-               },
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if stdout.String() != expectedOut.String() {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunSubDirectories(t *testing.T) {
-       pathParent, err := ioutil.TempDir("", "")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(pathParent)
-
-       path1, err := renderFixtures(pathParent)
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       path2, err := renderFixtures(pathParent)
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-
-       paths := []string{path1, path2}
-       sort.Strings(paths)
-
-       var expectedOut bytes.Buffer
-       for _, path := range paths {
-               for _, fixture := range fixtures {
-                       if !bytes.Equal(fixture.golden, fixture.input) {
-                               expectedOut.WriteString(filepath.Join(path, 
fixture.filename) + "\n")
-                       }
-               }
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{pathParent},
-               fixtureExtensions,
-               nil, stdout,
-               Options{
-                       List: true,
-               },
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if stdout.String() != expectedOut.String() {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunStdin(t *testing.T) {
-       var expectedOut bytes.Buffer
-       for i, fixture := range fixtures {
-               if i != 0 {
-                       expectedOut.WriteString("\n")
-               }
-               expectedOut.Write(fixture.golden)
-       }
-
-       stdin, stdout := mockIO()
-       for _, fixture := range fixtures {
-               stdin.Write(fixture.input)
-       }
-
-       err := Run(
-               []string{},
-               fixtureExtensions,
-               stdin, stdout,
-               Options{},
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if !bytes.Equal(stdout.Bytes(), expectedOut.Bytes()) {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunStdinAndWrite(t *testing.T) {
-       var expectedOut = []byte{}
-
-       stdin, stdout := mockIO()
-       stdin.WriteString("")
-       err := Run(
-               []string{}, []string{},
-               stdin, stdout,
-               Options{
-                       Write: true,
-               },
-       )
-
-       if err != ErrWriteStdin {
-               t.Errorf("error want:\n%s\ngot:\n%s", ErrWriteStdin, err)
-       }
-       if !bytes.Equal(stdout.Bytes(), expectedOut) {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunFileError(t *testing.T) {
-       path, err := ioutil.TempDir("", "")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path)
-       filename := filepath.Join(path, "unreadable.hcl")
-
-       var expectedError = &os.PathError{
-               Op:   "open",
-               Path: filename,
-               Err:  syscall.EACCES,
-       }
-
-       err = ioutil.WriteFile(filename, []byte{}, 0000)
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path},
-               fixtureExtensions,
-               nil, stdout,
-               Options{},
-       )
-
-       if !reflect.DeepEqual(err, expectedError) {
-               t.Errorf("error want: %#v, got: %#v", expectedError, err)
-       }
-}
-
-func TestRunNoOptions(t *testing.T) {
-       path, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path)
-
-       var expectedOut bytes.Buffer
-       for _, fixture := range fixtures {
-               expectedOut.Write(fixture.golden)
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path},
-               fixtureExtensions,
-               nil, stdout,
-               Options{},
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if stdout.String() != expectedOut.String() {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunList(t *testing.T) {
-       path, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path)
-
-       var expectedOut bytes.Buffer
-       for _, fixture := range fixtures {
-               if !bytes.Equal(fixture.golden, fixture.input) {
-                       
expectedOut.WriteString(fmt.Sprintln(filepath.Join(path, fixture.filename)))
-               }
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path},
-               fixtureExtensions,
-               nil, stdout,
-               Options{
-                       List: true,
-               },
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if stdout.String() != expectedOut.String() {
-               t.Errorf("stdout want:\n%s\ngot:\n%s", expectedOut, stdout)
-       }
-}
-
-func TestRunWrite(t *testing.T) {
-       path, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path)
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path},
-               fixtureExtensions,
-               nil, stdout,
-               Options{
-                       Write: true,
-               },
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       for _, fixture := range fixtures {
-               res, err := ioutil.ReadFile(filepath.Join(path, 
fixture.filename))
-               if err != nil {
-                       t.Errorf("unexpected error: %s", err)
-               }
-               if !bytes.Equal(res, fixture.golden) {
-                       t.Errorf("file %q contents want:\n%s\ngot:\n%s", 
fixture.filename, fixture.golden, res)
-               }
-       }
-}
-
-func TestRunDiff(t *testing.T) {
-       path, err := renderFixtures("")
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       defer os.RemoveAll(path)
-
-       var expectedOut bytes.Buffer
-       for _, fixture := range fixtures {
-               if len(fixture.diff) > 0 {
-                       expectedOut.WriteString(
-                               regexp.QuoteMeta(
-                                       fmt.Sprintf("diff a/%s/%s b/%s/%s\n", 
path, fixture.filename, path, fixture.filename),
-                               ),
-                       )
-                       // Need to use regex to ignore datetimes in diff.
-                       expectedOut.WriteString(`--- .+?\n`)
-                       expectedOut.WriteString(`\+\+\+ .+?\n`)
-                       
expectedOut.WriteString(regexp.QuoteMeta(string(fixture.diff)))
-               }
-       }
-
-       _, stdout := mockIO()
-       err = Run(
-               []string{path},
-               fixtureExtensions,
-               nil, stdout,
-               Options{
-                       Diff: true,
-               },
-       )
-
-       if err != nil {
-               t.Errorf("unexpected error: %s", err)
-       }
-       if !regexp.MustCompile(expectedOut.String()).Match(stdout.Bytes()) {
-               t.Errorf("stdout want match:\n%s\ngot:\n%q", expectedOut, 
stdout)
-       }
-}
-
-func mockIO() (stdin, stdout *bytes.Buffer) {
-       return new(bytes.Buffer), new(bytes.Buffer)
-}
-
-type fixture struct {
-       filename            string
-       input, golden, diff []byte
-}
-
-type ByFilename []fixture
-
-func (s ByFilename) Len() int           { return len(s) }
-func (s ByFilename) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }
-func (s ByFilename) Less(i, j int) bool { return len(s[i].filename) > 
len(s[j].filename) }
-
-var fixtures = []fixture{
-       {
-               "noop.hcl",
-               []byte(`resource "aws_security_group" "firewall" {
-  count = 5
-}
-`),
-               []byte(`resource "aws_security_group" "firewall" {
-  count = 5
-}
-`),
-               []byte(``),
-       }, {
-               "align_equals.hcl",
-               []byte(`variable "foo" {
-  default = "bar"
-  description = "bar"
-}
-`),
-               []byte(`variable "foo" {
-  default     = "bar"
-  description = "bar"
-}
-`),
-               []byte(`@@ -1,4 +1,4 @@
- variable "foo" {
--  default = "bar"
-+  default     = "bar"
-   description = "bar"
- }
-`),
-       }, {
-               "indentation.hcl",
-               []byte(`provider "aws" {
-    access_key = "foo"
-    secret_key = "bar"
-}
-`),
-               []byte(`provider "aws" {
-  access_key = "foo"
-  secret_key = "bar"
-}
-`),
-               []byte(`@@ -1,4 +1,4 @@
- provider "aws" {
--    access_key = "foo"
--    secret_key = "bar"
-+  access_key = "foo"
-+  secret_key = "bar"
- }
-`),
-       },
-}
-
-// parent can be an empty string, in which case the system's default
-// temporary directory will be used.
-func renderFixtures(parent string) (path string, err error) {
-       path, err = ioutil.TempDir(parent, "")
-       if err != nil {
-               return "", err
-       }
-
-       for _, fixture := range fixtures {
-               err = ioutil.WriteFile(filepath.Join(path, fixture.filename), 
[]byte(fixture.input), 0644)
-               if err != nil {
-                       os.RemoveAll(path)
-                       return "", err
-               }
-       }
-
-       return path, nil
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/.hidden.ignore
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/.hidden.ignore
 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/.hidden.ignore
deleted file mode 100644
index 9977a28..0000000
--- 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/.hidden.ignore
+++ /dev/null
@@ -1 +0,0 @@
-invalid

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/dir.ignore
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/dir.ignore
 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/dir.ignore
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/file.ignore
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/file.ignore
 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/file.ignore
deleted file mode 100644
index 9977a28..0000000
--- 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/file.ignore
+++ /dev/null
@@ -1 +0,0 @@
-invalid

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/good.hcl
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/good.hcl
 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/fmtcmd/test-fixtures/good.hcl
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go
deleted file mode 100644
index 5c99381..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error.go
+++ /dev/null
@@ -1,17 +0,0 @@
-package parser
-
-import (
-       "fmt"
-
-       "github.com/hashicorp/hcl/hcl/token"
-)
-
-// PosError is a parse error that contains a position.
-type PosError struct {
-       Pos token.Pos
-       Err error
-}
-
-func (e *PosError) Error() string {
-       return fmt.Sprintf("At %s: %s", e.Pos, e.Err)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error_test.go 
b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error_test.go
deleted file mode 100644
index 32399fe..0000000
--- 
a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/parser/error_test.go
+++ /dev/null
@@ -1,9 +0,0 @@
-package parser
-
-import (
-       "testing"
-)
-
-func TestPosError_impl(t *testing.T) {
-       var _ error = new(PosError)
-}


Reply via email to