You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by cc...@apache.org on 2016/03/16 21:50:30 UTC

[05/10] incubator-mynewt-newt git commit: Replace hashicorp logutils with logrus.

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner_test.go
deleted file mode 100644
index 8abcbf3..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/scanner/scanner_test.go
+++ /dev/null
@@ -1,536 +0,0 @@
-package scanner
-
-import (
-	"bytes"
-	"fmt"
-	"testing"
-
-	"github.com/hashicorp/hcl/hcl/token"
-	"strings"
-)
-
-var f100 = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
-
-type tokenPair struct {
-	tok  token.Type
-	text string
-}
-
-var tokenLists = map[string][]tokenPair{
-	"comment": []tokenPair{
-		{token.COMMENT, "//"},
-		{token.COMMENT, "////"},
-		{token.COMMENT, "// comment"},
-		{token.COMMENT, "// /* comment */"},
-		{token.COMMENT, "// // comment //"},
-		{token.COMMENT, "//" + f100},
-		{token.COMMENT, "#"},
-		{token.COMMENT, "##"},
-		{token.COMMENT, "# comment"},
-		{token.COMMENT, "# /* comment */"},
-		{token.COMMENT, "# # comment #"},
-		{token.COMMENT, "#" + f100},
-		{token.COMMENT, "/**/"},
-		{token.COMMENT, "/***/"},
-		{token.COMMENT, "/* comment */"},
-		{token.COMMENT, "/* // comment */"},
-		{token.COMMENT, "/* /* comment */"},
-		{token.COMMENT, "/*\n comment\n*/"},
-		{token.COMMENT, "/*" + f100 + "*/"},
-	},
-	"operator": []tokenPair{
-		{token.LBRACK, "["},
-		{token.LBRACE, "{"},
-		{token.COMMA, ","},
-		{token.PERIOD, "."},
-		{token.RBRACK, "]"},
-		{token.RBRACE, "}"},
-		{token.ASSIGN, "="},
-		{token.ADD, "+"},
-		{token.SUB, "-"},
-	},
-	"bool": []tokenPair{
-		{token.BOOL, "true"},
-		{token.BOOL, "false"},
-	},
-	"ident": []tokenPair{
-		{token.IDENT, "a"},
-		{token.IDENT, "a0"},
-		{token.IDENT, "foobar"},
-		{token.IDENT, "foo-bar"},
-		{token.IDENT, "abc123"},
-		{token.IDENT, "LGTM"},
-		{token.IDENT, "_"},
-		{token.IDENT, "_abc123"},
-		{token.IDENT, "abc123_"},
-		{token.IDENT, "_abc_123_"},
-		{token.IDENT, "_äöü"},
-		{token.IDENT, "_本"},
-		{token.IDENT, "äöü"},
-		{token.IDENT, "本"},
-		{token.IDENT, "a۰۱۸"},
-		{token.IDENT, "foo६४"},
-		{token.IDENT, "bar9876"},
-	},
-	"heredoc": []tokenPair{
-		{token.HEREDOC, "<<EOF\nhello\nworld\nEOF"},
-		{token.HEREDOC, "<<EOF123\nhello\nworld\nEOF123"},
-	},
-	"string": []tokenPair{
-		{token.STRING, `" "`},
-		{token.STRING, `"a"`},
-		{token.STRING, `"本"`},
-		{token.STRING, `"${file("foo")}"`},
-		{token.STRING, `"${file(\"foo\")}"`},
-		{token.STRING, `"\a"`},
-		{token.STRING, `"\b"`},
-		{token.STRING, `"\f"`},
-		{token.STRING, `"\n"`},
-		{token.STRING, `"\r"`},
-		{token.STRING, `"\t"`},
-		{token.STRING, `"\v"`},
-		{token.STRING, `"\""`},
-		{token.STRING, `"\000"`},
-		{token.STRING, `"\777"`},
-		{token.STRING, `"\x00"`},
-		{token.STRING, `"\xff"`},
-		{token.STRING, `"\u0000"`},
-		{token.STRING, `"\ufA16"`},
-		{token.STRING, `"\U00000000"`},
-		{token.STRING, `"\U0000ffAB"`},
-		{token.STRING, `"` + f100 + `"`},
-	},
-	"number": []tokenPair{
-		{token.NUMBER, "0"},
-		{token.NUMBER, "1"},
-		{token.NUMBER, "9"},
-		{token.NUMBER, "42"},
-		{token.NUMBER, "1234567890"},
-		{token.NUMBER, "00"},
-		{token.NUMBER, "01"},
-		{token.NUMBER, "07"},
-		{token.NUMBER, "042"},
-		{token.NUMBER, "01234567"},
-		{token.NUMBER, "0x0"},
-		{token.NUMBER, "0x1"},
-		{token.NUMBER, "0xf"},
-		{token.NUMBER, "0x42"},
-		{token.NUMBER, "0x123456789abcDEF"},
-		{token.NUMBER, "0x" + f100},
-		{token.NUMBER, "0X0"},
-		{token.NUMBER, "0X1"},
-		{token.NUMBER, "0XF"},
-		{token.NUMBER, "0X42"},
-		{token.NUMBER, "0X123456789abcDEF"},
-		{token.NUMBER, "0X" + f100},
-		{token.NUMBER, "-0"},
-		{token.NUMBER, "-1"},
-		{token.NUMBER, "-9"},
-		{token.NUMBER, "-42"},
-		{token.NUMBER, "-1234567890"},
-		{token.NUMBER, "-00"},
-		{token.NUMBER, "-01"},
-		{token.NUMBER, "-07"},
-		{token.NUMBER, "-29"},
-		{token.NUMBER, "-042"},
-		{token.NUMBER, "-01234567"},
-		{token.NUMBER, "-0x0"},
-		{token.NUMBER, "-0x1"},
-		{token.NUMBER, "-0xf"},
-		{token.NUMBER, "-0x42"},
-		{token.NUMBER, "-0x123456789abcDEF"},
-		{token.NUMBER, "-0x" + f100},
-		{token.NUMBER, "-0X0"},
-		{token.NUMBER, "-0X1"},
-		{token.NUMBER, "-0XF"},
-		{token.NUMBER, "-0X42"},
-		{token.NUMBER, "-0X123456789abcDEF"},
-		{token.NUMBER, "-0X" + f100},
-	},
-	"float": []tokenPair{
-		{token.FLOAT, "0."},
-		{token.FLOAT, "1."},
-		{token.FLOAT, "42."},
-		{token.FLOAT, "01234567890."},
-		{token.FLOAT, ".0"},
-		{token.FLOAT, ".1"},
-		{token.FLOAT, ".42"},
-		{token.FLOAT, ".0123456789"},
-		{token.FLOAT, "0.0"},
-		{token.FLOAT, "1.0"},
-		{token.FLOAT, "42.0"},
-		{token.FLOAT, "01234567890.0"},
-		{token.FLOAT, "0e0"},
-		{token.FLOAT, "1e0"},
-		{token.FLOAT, "42e0"},
-		{token.FLOAT, "01234567890e0"},
-		{token.FLOAT, "0E0"},
-		{token.FLOAT, "1E0"},
-		{token.FLOAT, "42E0"},
-		{token.FLOAT, "01234567890E0"},
-		{token.FLOAT, "0e+10"},
-		{token.FLOAT, "1e-10"},
-		{token.FLOAT, "42e+10"},
-		{token.FLOAT, "01234567890e-10"},
-		{token.FLOAT, "0E+10"},
-		{token.FLOAT, "1E-10"},
-		{token.FLOAT, "42E+10"},
-		{token.FLOAT, "01234567890E-10"},
-		{token.FLOAT, "01.8e0"},
-		{token.FLOAT, "1.4e0"},
-		{token.FLOAT, "42.2e0"},
-		{token.FLOAT, "01234567890.12e0"},
-		{token.FLOAT, "0.E0"},
-		{token.FLOAT, "1.12E0"},
-		{token.FLOAT, "42.123E0"},
-		{token.FLOAT, "01234567890.213E0"},
-		{token.FLOAT, "0.2e+10"},
-		{token.FLOAT, "1.2e-10"},
-		{token.FLOAT, "42.54e+10"},
-		{token.FLOAT, "01234567890.98e-10"},
-		{token.FLOAT, "0.1E+10"},
-		{token.FLOAT, "1.1E-10"},
-		{token.FLOAT, "42.1E+10"},
-		{token.FLOAT, "01234567890.1E-10"},
-		{token.FLOAT, "-0.0"},
-		{token.FLOAT, "-1.0"},
-		{token.FLOAT, "-42.0"},
-		{token.FLOAT, "-01234567890.0"},
-		{token.FLOAT, "-0e0"},
-		{token.FLOAT, "-1e0"},
-		{token.FLOAT, "-42e0"},
-		{token.FLOAT, "-01234567890e0"},
-		{token.FLOAT, "-0E0"},
-		{token.FLOAT, "-1E0"},
-		{token.FLOAT, "-42E0"},
-		{token.FLOAT, "-01234567890E0"},
-		{token.FLOAT, "-0e+10"},
-		{token.FLOAT, "-1e-10"},
-		{token.FLOAT, "-42e+10"},
-		{token.FLOAT, "-01234567890e-10"},
-		{token.FLOAT, "-0E+10"},
-		{token.FLOAT, "-1E-10"},
-		{token.FLOAT, "-42E+10"},
-		{token.FLOAT, "-01234567890E-10"},
-		{token.FLOAT, "-01.8e0"},
-		{token.FLOAT, "-1.4e0"},
-		{token.FLOAT, "-42.2e0"},
-		{token.FLOAT, "-01234567890.12e0"},
-		{token.FLOAT, "-0.E0"},
-		{token.FLOAT, "-1.12E0"},
-		{token.FLOAT, "-42.123E0"},
-		{token.FLOAT, "-01234567890.213E0"},
-		{token.FLOAT, "-0.2e+10"},
-		{token.FLOAT, "-1.2e-10"},
-		{token.FLOAT, "-42.54e+10"},
-		{token.FLOAT, "-01234567890.98e-10"},
-		{token.FLOAT, "-0.1E+10"},
-		{token.FLOAT, "-1.1E-10"},
-		{token.FLOAT, "-42.1E+10"},
-		{token.FLOAT, "-01234567890.1E-10"},
-	},
-}
-
-var orderedTokenLists = []string{
-	"comment",
-	"operator",
-	"bool",
-	"ident",
-	"heredoc",
-	"string",
-	"number",
-	"float",
-}
-
-func TestPosition(t *testing.T) {
-	// create artifical source code
-	buf := new(bytes.Buffer)
-
-	for _, listName := range orderedTokenLists {
-		for _, ident := range tokenLists[listName] {
-			fmt.Fprintf(buf, "\t\t\t\t%s\n", ident.text)
-		}
-	}
-
-	s := New(buf.Bytes())
-
-	pos := token.Pos{"", 4, 1, 5}
-	s.Scan()
-	for _, listName := range orderedTokenLists {
-
-		for _, k := range tokenLists[listName] {
-			curPos := s.tokPos
-			// fmt.Printf("[%q] s = %+v:%+v\n", k.text, curPos.Offset, curPos.Column)
-
-			if curPos.Offset != pos.Offset {
-				t.Fatalf("offset = %d, want %d for %q", curPos.Offset, pos.Offset, k.text)
-			}
-			if curPos.Line != pos.Line {
-				t.Fatalf("line = %d, want %d for %q", curPos.Line, pos.Line, k.text)
-			}
-			if curPos.Column != pos.Column {
-				t.Fatalf("column = %d, want %d for %q", curPos.Column, pos.Column, k.text)
-			}
-			pos.Offset += 4 + len(k.text) + 1     // 4 tabs + token bytes + newline
-			pos.Line += countNewlines(k.text) + 1 // each token is on a new line
-			s.Scan()
-		}
-	}
-	// make sure there were no token-internal errors reported by scanner
-	if s.ErrorCount != 0 {
-		t.Errorf("%d errors", s.ErrorCount)
-	}
-}
-
-func TestComment(t *testing.T) {
-	testTokenList(t, tokenLists["comment"])
-}
-
-func TestOperator(t *testing.T) {
-	testTokenList(t, tokenLists["operator"])
-}
-
-func TestBool(t *testing.T) {
-	testTokenList(t, tokenLists["bool"])
-}
-
-func TestIdent(t *testing.T) {
-	testTokenList(t, tokenLists["ident"])
-}
-
-func TestString(t *testing.T) {
-	testTokenList(t, tokenLists["string"])
-}
-
-func TestNumber(t *testing.T) {
-	testTokenList(t, tokenLists["number"])
-}
-
-func TestFloat(t *testing.T) {
-	testTokenList(t, tokenLists["float"])
-}
-
-func TestWindowsLineEndings(t *testing.T) {
-	hcl := `// This should have Windows line endings
-resource "aws_instance" "foo" {
-    user_data=<<HEREDOC
-    test script
-HEREDOC
-}`
-	hclWindowsEndings := strings.Replace(hcl, "\n", "\r\n", -1)
-
-	literals := []struct {
-		tokenType token.Type
-		literal   string
-	}{
-		{token.COMMENT, "// This should have Windows line endings\r"},
-		{token.IDENT, `resource`},
-		{token.STRING, `"aws_instance"`},
-		{token.STRING, `"foo"`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `user_data`},
-		{token.ASSIGN, `=`},
-		{token.HEREDOC, "<<HEREDOC\r\n    test script\r\nHEREDOC\r\n"},
-		{token.RBRACE, `}`},
-	}
-
-	s := New([]byte(hclWindowsEndings))
-	for _, l := range literals {
-		tok := s.Scan()
-
-		if l.tokenType != tok.Type {
-			t.Errorf("got: %s want %s for %s\n", tok, l.tokenType, tok.String())
-		}
-
-		if l.literal != tok.Text {
-			t.Errorf("got:\n%v\nwant:\n%v\n", []byte(tok.Text), []byte(l.literal))
-		}
-	}
-}
-
-func TestRealExample(t *testing.T) {
-	complexHCL := `// This comes from Terraform, as a test
-	variable "foo" {
-	    default = "bar"
-	    description = "bar"
-	}
-
-	provider "aws" {
-	  access_key = "foo"
-	  secret_key = "bar"
-	}
-
-	resource "aws_security_group" "firewall" {
-	    count = 5
-	}
-
-	resource aws_instance "web" {
-	    ami = "${var.foo}"
-	    security_groups = [
-	        "foo",
-	        "${aws_security_group.firewall.foo}"
-	    ]
-
-	    network_interface {
-	        device_index = 0
-	        description = <<EOF
-Main interface
-EOF
-	    }
-	}`
-
-	literals := []struct {
-		tokenType token.Type
-		literal   string
-	}{
-		{token.COMMENT, `// This comes from Terraform, as a test`},
-		{token.IDENT, `variable`},
-		{token.STRING, `"foo"`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `default`},
-		{token.ASSIGN, `=`},
-		{token.STRING, `"bar"`},
-		{token.IDENT, `description`},
-		{token.ASSIGN, `=`},
-		{token.STRING, `"bar"`},
-		{token.RBRACE, `}`},
-		{token.IDENT, `provider`},
-		{token.STRING, `"aws"`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `access_key`},
-		{token.ASSIGN, `=`},
-		{token.STRING, `"foo"`},
-		{token.IDENT, `secret_key`},
-		{token.ASSIGN, `=`},
-		{token.STRING, `"bar"`},
-		{token.RBRACE, `}`},
-		{token.IDENT, `resource`},
-		{token.STRING, `"aws_security_group"`},
-		{token.STRING, `"firewall"`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `count`},
-		{token.ASSIGN, `=`},
-		{token.NUMBER, `5`},
-		{token.RBRACE, `}`},
-		{token.IDENT, `resource`},
-		{token.IDENT, `aws_instance`},
-		{token.STRING, `"web"`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `ami`},
-		{token.ASSIGN, `=`},
-		{token.STRING, `"${var.foo}"`},
-		{token.IDENT, `security_groups`},
-		{token.ASSIGN, `=`},
-		{token.LBRACK, `[`},
-		{token.STRING, `"foo"`},
-		{token.COMMA, `,`},
-		{token.STRING, `"${aws_security_group.firewall.foo}"`},
-		{token.RBRACK, `]`},
-		{token.IDENT, `network_interface`},
-		{token.LBRACE, `{`},
-		{token.IDENT, `device_index`},
-		{token.ASSIGN, `=`},
-		{token.NUMBER, `0`},
-		{token.IDENT, `description`},
-		{token.ASSIGN, `=`},
-		{token.HEREDOC, "<<EOF\nMain interface\nEOF\n"},
-		{token.RBRACE, `}`},
-		{token.RBRACE, `}`},
-		{token.EOF, ``},
-	}
-
-	s := New([]byte(complexHCL))
-	for _, l := range literals {
-		tok := s.Scan()
-		if l.tokenType != tok.Type {
-			t.Errorf("got: %s want %s for %s\n", tok, l.tokenType, tok.String())
-		}
-
-		if l.literal != tok.Text {
-			t.Errorf("got: %s want %s\n", tok, l.literal)
-		}
-	}
-
-}
-
-func TestError(t *testing.T) {
-	testError(t, "\x80", "1:1", "illegal UTF-8 encoding", token.ILLEGAL)
-	testError(t, "\xff", "1:1", "illegal UTF-8 encoding", token.ILLEGAL)
-
-	testError(t, "ab\x80", "1:3", "illegal UTF-8 encoding", token.IDENT)
-	testError(t, "abc\xff", "1:4", "illegal UTF-8 encoding", token.IDENT)
-
-	testError(t, `"ab`+"\x80", "1:4", "illegal UTF-8 encoding", token.STRING)
-	testError(t, `"abc`+"\xff", "1:5", "illegal UTF-8 encoding", token.STRING)
-
-	testError(t, `01238`, "1:6", "illegal octal number", token.NUMBER)
-	testError(t, `01238123`, "1:9", "illegal octal number", token.NUMBER)
-	testError(t, `0x`, "1:3", "illegal hexadecimal number", token.NUMBER)
-	testError(t, `0xg`, "1:3", "illegal hexadecimal number", token.NUMBER)
-	testError(t, `'aa'`, "1:1", "illegal char", token.ILLEGAL)
-
-	testError(t, `"`, "1:2", "literal not terminated", token.STRING)
-	testError(t, `"abc`, "1:5", "literal not terminated", token.STRING)
-	testError(t, `"abc`+"\n", "1:5", "literal not terminated", token.STRING)
-	testError(t, `/*/`, "1:4", "comment not terminated", token.COMMENT)
-}
-
-func testError(t *testing.T, src, pos, msg string, tok token.Type) {
-	s := New([]byte(src))
-
-	errorCalled := false
-	s.Error = func(p token.Pos, m string) {
-		if !errorCalled {
-			if pos != p.String() {
-				t.Errorf("pos = %q, want %q for %q", p, pos, src)
-			}
-
-			if m != msg {
-				t.Errorf("msg = %q, want %q for %q", m, msg, src)
-			}
-			errorCalled = true
-		}
-	}
-
-	tk := s.Scan()
-	if tk.Type != tok {
-		t.Errorf("tok = %s, want %s for %q", tk, tok, src)
-	}
-	if !errorCalled {
-		t.Errorf("error handler not called for %q", src)
-	}
-	if s.ErrorCount == 0 {
-		t.Errorf("count = %d, want > 0 for %q", s.ErrorCount, src)
-	}
-}
-
-func testTokenList(t *testing.T, tokenList []tokenPair) {
-	// create artifical source code
-	buf := new(bytes.Buffer)
-	for _, ident := range tokenList {
-		fmt.Fprintf(buf, "%s\n", ident.text)
-	}
-
-	s := New(buf.Bytes())
-	for _, ident := range tokenList {
-		tok := s.Scan()
-		if tok.Type != ident.tok {
-			t.Errorf("tok = %q want %q for %q\n", tok, ident.tok, ident.text)
-		}
-
-		if tok.Text != ident.text {
-			t.Errorf("text = %q want %q", tok.String(), ident.text)
-		}
-
-	}
-}
-
-func countNewlines(s string) int {
-	n := 0
-	for _, ch := range s {
-		if ch == '\n' {
-			n++
-		}
-	}
-	return n
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go
deleted file mode 100644
index e87ac63..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote.go
+++ /dev/null
@@ -1,245 +0,0 @@
-package strconv
-
-import (
-	"errors"
-	"unicode/utf8"
-)
-
-// ErrSyntax indicates that a value does not have the right syntax for the target type.
-var ErrSyntax = errors.New("invalid syntax")
-
-// Unquote interprets s as a single-quoted, double-quoted,
-// or backquoted Go string literal, returning the string value
-// that s quotes.  (If s is single-quoted, it would be a Go
-// character literal; Unquote returns the corresponding
-// one-character string.)
-func Unquote(s string) (t string, err error) {
-	n := len(s)
-	if n < 2 {
-		return "", ErrSyntax
-	}
-	quote := s[0]
-	if quote != s[n-1] {
-		return "", ErrSyntax
-	}
-	s = s[1 : n-1]
-
-	if quote != '"' {
-		return "", ErrSyntax
-	}
-	if contains(s, '\n') {
-		return "", ErrSyntax
-	}
-
-	// Is it trivial?  Avoid allocation.
-	if !contains(s, '\\') && !contains(s, quote) && !contains(s, '$') {
-		switch quote {
-		case '"':
-			return s, nil
-		case '\'':
-			r, size := utf8.DecodeRuneInString(s)
-			if size == len(s) && (r != utf8.RuneError || size != 1) {
-				return s, nil
-			}
-		}
-	}
-
-	var runeTmp [utf8.UTFMax]byte
-	buf := make([]byte, 0, 3*len(s)/2) // Try to avoid more allocations.
-	for len(s) > 0 {
-		// If we're starting a '${}' then let it through un-unquoted.
-		// Specifically: we don't unquote any characters within the `${}`
-		// section, except for escaped quotes, which we handle specifically.
-		if s[0] == '$' && len(s) > 1 && s[1] == '{' {
-			buf = append(buf, '$', '{')
-			s = s[2:]
-
-			// Continue reading until we find the closing brace, copying as-is
-			braces := 1
-			for len(s) > 0 && braces > 0 {
-				r, size := utf8.DecodeRuneInString(s)
-				if r == utf8.RuneError {
-					return "", ErrSyntax
-				}
-
-				s = s[size:]
-
-				// We special case escaped double quotes in interpolations, converting
-				// them to straight double quotes.
-				if r == '\\' {
-					if q, _ := utf8.DecodeRuneInString(s); q == '"' {
-						continue
-					}
-				}
-
-				n := utf8.EncodeRune(runeTmp[:], r)
-				buf = append(buf, runeTmp[:n]...)
-
-				switch r {
-				case '{':
-					braces++
-				case '}':
-					braces--
-				}
-			}
-			if braces != 0 {
-				return "", ErrSyntax
-			}
-			if len(s) == 0 {
-				// If there's no string left, we're done!
-				break
-			} else {
-				// If there's more left, we need to pop back up to the top of the loop
-				// in case there's another interpolation in this string.
-				continue
-			}
-		}
-
-		c, multibyte, ss, err := unquoteChar(s, quote)
-		if err != nil {
-			return "", err
-		}
-		s = ss
-		if c < utf8.RuneSelf || !multibyte {
-			buf = append(buf, byte(c))
-		} else {
-			n := utf8.EncodeRune(runeTmp[:], c)
-			buf = append(buf, runeTmp[:n]...)
-		}
-		if quote == '\'' && len(s) != 0 {
-			// single-quoted must be single character
-			return "", ErrSyntax
-		}
-	}
-	return string(buf), nil
-}
-
-// contains reports whether the string contains the byte c.
-func contains(s string, c byte) bool {
-	for i := 0; i < len(s); i++ {
-		if s[i] == c {
-			return true
-		}
-	}
-	return false
-}
-
-func unhex(b byte) (v rune, ok bool) {
-	c := rune(b)
-	switch {
-	case '0' <= c && c <= '9':
-		return c - '0', true
-	case 'a' <= c && c <= 'f':
-		return c - 'a' + 10, true
-	case 'A' <= c && c <= 'F':
-		return c - 'A' + 10, true
-	}
-	return
-}
-
-func unquoteChar(s string, quote byte) (value rune, multibyte bool, tail string, err error) {
-	// easy cases
-	switch c := s[0]; {
-	case c == quote && (quote == '\'' || quote == '"'):
-		err = ErrSyntax
-		return
-	case c >= utf8.RuneSelf:
-		r, size := utf8.DecodeRuneInString(s)
-		return r, true, s[size:], nil
-	case c != '\\':
-		return rune(s[0]), false, s[1:], nil
-	}
-
-	// hard case: c is backslash
-	if len(s) <= 1 {
-		err = ErrSyntax
-		return
-	}
-	c := s[1]
-	s = s[2:]
-
-	switch c {
-	case 'a':
-		value = '\a'
-	case 'b':
-		value = '\b'
-	case 'f':
-		value = '\f'
-	case 'n':
-		value = '\n'
-	case 'r':
-		value = '\r'
-	case 't':
-		value = '\t'
-	case 'v':
-		value = '\v'
-	case 'x', 'u', 'U':
-		n := 0
-		switch c {
-		case 'x':
-			n = 2
-		case 'u':
-			n = 4
-		case 'U':
-			n = 8
-		}
-		var v rune
-		if len(s) < n {
-			err = ErrSyntax
-			return
-		}
-		for j := 0; j < n; j++ {
-			x, ok := unhex(s[j])
-			if !ok {
-				err = ErrSyntax
-				return
-			}
-			v = v<<4 | x
-		}
-		s = s[n:]
-		if c == 'x' {
-			// single-byte string, possibly not UTF-8
-			value = v
-			break
-		}
-		if v > utf8.MaxRune {
-			err = ErrSyntax
-			return
-		}
-		value = v
-		multibyte = true
-	case '0', '1', '2', '3', '4', '5', '6', '7':
-		v := rune(c) - '0'
-		if len(s) < 2 {
-			err = ErrSyntax
-			return
-		}
-		for j := 0; j < 2; j++ { // one digit already; two more
-			x := rune(s[j]) - '0'
-			if x < 0 || x > 7 {
-				err = ErrSyntax
-				return
-			}
-			v = (v << 3) | x
-		}
-		s = s[2:]
-		if v > 255 {
-			err = ErrSyntax
-			return
-		}
-		value = v
-	case '\\':
-		value = '\\'
-	case '\'', '"':
-		if c != quote {
-			err = ErrSyntax
-			return
-		}
-		value = rune(c)
-	default:
-		err = ErrSyntax
-		return
-	}
-	tail = s
-	return
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote_test.go
deleted file mode 100644
index 4a810aa..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/strconv/quote_test.go
+++ /dev/null
@@ -1,93 +0,0 @@
-package strconv
-
-import "testing"
-
-type quoteTest struct {
-	in    string
-	out   string
-	ascii string
-}
-
-var quotetests = []quoteTest{
-	{"\a\b\f\r\n\t\v", `"\a\b\f\r\n\t\v"`, `"\a\b\f\r\n\t\v"`},
-	{"\\", `"\\"`, `"\\"`},
-	{"abc\xffdef", `"abc\xffdef"`, `"abc\xffdef"`},
-	{"\u263a", `"☺"`, `"\u263a"`},
-	{"\U0010ffff", `"\U0010ffff"`, `"\U0010ffff"`},
-	{"\x04", `"\x04"`, `"\x04"`},
-}
-
-type unQuoteTest struct {
-	in  string
-	out string
-}
-
-var unquotetests = []unQuoteTest{
-	{`""`, ""},
-	{`"a"`, "a"},
-	{`"abc"`, "abc"},
-	{`"☺"`, "☺"},
-	{`"hello world"`, "hello world"},
-	{`"\xFF"`, "\xFF"},
-	{`"\377"`, "\377"},
-	{`"\u1234"`, "\u1234"},
-	{`"\U00010111"`, "\U00010111"},
-	{`"\U0001011111"`, "\U0001011111"},
-	{`"\a\b\f\n\r\t\v\\\""`, "\a\b\f\n\r\t\v\\\""},
-	{`"'"`, "'"},
-	{`"${file("foo")}"`, `${file("foo")}`},
-	{`"${file(\"foo\")}"`, `${file("foo")}`},
-	{`"echo ${var.region}${element(split(",",var.zones),0)}"`,
-		`echo ${var.region}${element(split(",",var.zones),0)}`},
-}
-
-var misquoted = []string{
-	``,
-	`"`,
-	`"a`,
-	`"'`,
-	`b"`,
-	`"\"`,
-	`"\9"`,
-	`"\19"`,
-	`"\129"`,
-	`'\'`,
-	`'\9'`,
-	`'\19'`,
-	`'\129'`,
-	`'ab'`,
-	`"\x1!"`,
-	`"\U12345678"`,
-	`"\z"`,
-	"`",
-	"`xxx",
-	"`\"",
-	`"\'"`,
-	`'\"'`,
-	"\"\n\"",
-	"\"\\n\n\"",
-	"'\n'",
-	`"${"`,
-	`"${foo{}"`,
-}
-
-func TestUnquote(t *testing.T) {
-	for _, tt := range unquotetests {
-		if out, err := Unquote(tt.in); err != nil || out != tt.out {
-			t.Errorf("Unquote(%#q) = %q, %v want %q, nil", tt.in, out, err, tt.out)
-		}
-	}
-
-	// run the quote tests too, backward
-	for _, tt := range quotetests {
-		if in, err := Unquote(tt.out); in != tt.in {
-			t.Errorf("Unquote(%#q) = %q, %v, want %q, nil", tt.out, in, err, tt.in)
-		}
-	}
-
-	for _, s := range misquoted {
-		if out, err := Unquote(s); out != "" || err != ErrSyntax {
-			t.Errorf("Unquote(%#q) = %q, %v want %q, %v", s, out, err, "", ErrSyntax)
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/array_comment.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/array_comment.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/array_comment.hcl
deleted file mode 100644
index 78c2675..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/array_comment.hcl
+++ /dev/null
@@ -1,4 +0,0 @@
-foo = [
-    "1",
-    "2", # comment
-]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl
deleted file mode 100644
index eb5a99a..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_colon.hcl
+++ /dev/null
@@ -1,6 +0,0 @@
-resource = [{
-	"foo": {
-		"bar": {},
-		"baz": [1, 2, "foo"],
-	}
-}]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl
deleted file mode 100644
index dd3151c..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/assign_deep.hcl
+++ /dev/null
@@ -1,5 +0,0 @@
-resource = [{
-	foo = [{
-		bar = {}
-	}]
-}]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl
deleted file mode 100644
index 1ff7f29..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/comment.hcl
+++ /dev/null
@@ -1,15 +0,0 @@
-// Foo
-
-/* Bar */
-
-/*
-/*
-Baz
-*/
-
-# Another
-
-# Multiple
-# Lines
-
-foo = "bar"

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

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl
deleted file mode 100644
index cccb5b0..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex.hcl
+++ /dev/null
@@ -1,42 +0,0 @@
-// This comes from Terraform, as a test
-variable "foo" {
-    default = "bar"
-    description = "bar"
-}
-
-provider "aws" {
-  access_key = "foo"
-  secret_key = "bar"
-}
-
-provider "do" {
-  api_key = "${var.foo}"
-}
-
-resource "aws_security_group" "firewall" {
-    count = 5
-}
-
-resource aws_instance "web" {
-    ami = "${var.foo}"
-    security_groups = [
-        "foo",
-        "${aws_security_group.firewall.foo}"
-    ]
-
-    network_interface {
-        device_index = 0
-        description = "Main network interface"
-    }
-}
-
-resource "aws_instance" "db" {
-    security_groups = "${aws_security_group.firewall.*.id}"
-    VPC = "foo"
-
-    depends_on = ["aws_instance.web"]
-}
-
-output "web_ip" {
-    value = "${aws_instance.web.private_ip}"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl
deleted file mode 100644
index 0007aaf..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/complex_key.hcl
+++ /dev/null
@@ -1 +0,0 @@
-foo.bar = "baz"

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/empty.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/empty.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/empty.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/test-fixtures/list.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl
deleted file mode 100644
index 059d4ce..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list.hcl
+++ /dev/null
@@ -1 +0,0 @@
-foo = [1, 2, "foo"]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl
deleted file mode 100644
index 50f4218..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/list_comma.hcl
+++ /dev/null
@@ -1 +0,0 @@
-foo = [1, 2, "foo",]

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl
deleted file mode 100644
index 029c54b..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/multiple.hcl
+++ /dev/null
@@ -1,2 +0,0 @@
-foo = "bar"
-key = 7

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl
deleted file mode 100644
index e9f77ca..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/old.hcl
+++ /dev/null
@@ -1,3 +0,0 @@
-default = {
-    "eu-west-1": "ami-b1cf19c6",
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl
deleted file mode 100644
index 92592fb..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure.hcl
+++ /dev/null
@@ -1,5 +0,0 @@
-// This is a test structure for the lexer
-foo bar "baz" {
-	key = 7
-	foo = "bar"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl
deleted file mode 100644
index 7229a1f..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_basic.hcl
+++ /dev/null
@@ -1,5 +0,0 @@
-foo {
-	value = 7
-	"value" = 8
-	"complex::value" = 9
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl
deleted file mode 100644
index 4d156dd..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/structure_empty.hcl
+++ /dev/null
@@ -1 +0,0 @@
-resource "foo" "bar" {}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl
deleted file mode 100644
index cf2747e..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/test-fixtures/types.hcl
+++ /dev/null
@@ -1,7 +0,0 @@
-foo = "bar"
-bar = 7
-baz = [1,2,3]
-foo = -12
-bar = 3.14159
-foo = true
-bar = false

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go
deleted file mode 100644
index 59c1bb7..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/position.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package token
-
-import "fmt"
-
-// Pos describes an arbitrary source position
-// including the file, line, and column location.
-// A Position is valid if the line number is > 0.
-type Pos struct {
-	Filename string // filename, if any
-	Offset   int    // offset, starting at 0
-	Line     int    // line number, starting at 1
-	Column   int    // column number, starting at 1 (character count)
-}
-
-// IsValid returns true if the position is valid.
-func (p *Pos) IsValid() bool { return p.Line > 0 }
-
-// String returns a string in one of several forms:
-//
-//	file:line:column    valid position with file name
-//	line:column         valid position without file name
-//	file                invalid position with file name
-//	-                   invalid position without file name
-func (p Pos) String() string {
-	s := p.Filename
-	if p.IsValid() {
-		if s != "" {
-			s += ":"
-		}
-		s += fmt.Sprintf("%d:%d", p.Line, p.Column)
-	}
-	if s == "" {
-		s = "-"
-	}
-	return s
-}
-
-// Before reports whether the position p is before u.
-func (p Pos) Before(u Pos) bool {
-	return u.Offset > p.Offset || u.Line > p.Line
-}
-
-// After reports whether the position p is after u.
-func (p Pos) After(u Pos) bool {
-	return u.Offset < p.Offset || u.Line < p.Line
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go
deleted file mode 100644
index 696ee8d..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token.go
+++ /dev/null
@@ -1,170 +0,0 @@
-// Package token defines constants representing the lexical tokens for HCL
-// (HashiCorp Configuration Language)
-package token
-
-import (
-	"fmt"
-	"strconv"
-	"strings"
-
-	hclstrconv "github.com/hashicorp/hcl/hcl/strconv"
-)
-
-// Token defines a single HCL token which can be obtained via the Scanner
-type Token struct {
-	Type Type
-	Pos  Pos
-	Text string
-	JSON bool
-}
-
-// Type is the set of lexical tokens of the HCL (HashiCorp Configuration Language)
-type Type int
-
-const (
-	// Special tokens
-	ILLEGAL Type = iota
-	EOF
-	COMMENT
-
-	identifier_beg
-	IDENT // literals
-	literal_beg
-	NUMBER  // 12345
-	FLOAT   // 123.45
-	BOOL    // true,false
-	STRING  // "abc"
-	HEREDOC // <<FOO\nbar\nFOO
-	literal_end
-	identifier_end
-
-	operator_beg
-	LBRACK // [
-	LBRACE // {
-	COMMA  // ,
-	PERIOD // .
-
-	RBRACK // ]
-	RBRACE // }
-
-	ASSIGN // =
-	ADD    // +
-	SUB    // -
-	operator_end
-)
-
-var tokens = [...]string{
-	ILLEGAL: "ILLEGAL",
-
-	EOF:     "EOF",
-	COMMENT: "COMMENT",
-
-	IDENT:  "IDENT",
-	NUMBER: "NUMBER",
-	FLOAT:  "FLOAT",
-	BOOL:   "BOOL",
-	STRING: "STRING",
-
-	LBRACK:  "LBRACK",
-	LBRACE:  "LBRACE",
-	COMMA:   "COMMA",
-	PERIOD:  "PERIOD",
-	HEREDOC: "HEREDOC",
-
-	RBRACK: "RBRACK",
-	RBRACE: "RBRACE",
-
-	ASSIGN: "ASSIGN",
-	ADD:    "ADD",
-	SUB:    "SUB",
-}
-
-// String returns the string corresponding to the token tok.
-func (t Type) String() string {
-	s := ""
-	if 0 <= t && t < Type(len(tokens)) {
-		s = tokens[t]
-	}
-	if s == "" {
-		s = "token(" + strconv.Itoa(int(t)) + ")"
-	}
-	return s
-}
-
-// IsIdentifier returns true for tokens corresponding to identifiers and basic
-// type literals; it returns false otherwise.
-func (t Type) IsIdentifier() bool { return identifier_beg < t && t < identifier_end }
-
-// IsLiteral returns true for tokens corresponding to basic type literals; it
-// returns false otherwise.
-func (t Type) IsLiteral() bool { return literal_beg < t && t < literal_end }
-
-// IsOperator returns true for tokens corresponding to operators and
-// delimiters; it returns false otherwise.
-func (t Type) IsOperator() bool { return operator_beg < t && t < operator_end }
-
-// String returns the token's literal text. Note that this is only
-// applicable for certain token types, such as token.IDENT,
-// token.STRING, etc..
-func (t Token) String() string {
-	return fmt.Sprintf("%s %s %s", t.Pos.String(), t.Type.String(), t.Text)
-}
-
-// Value returns the properly typed value for this token. The type of
-// the returned interface{} is guaranteed based on the Type field.
-//
-// This can only be called for literal types. If it is called for any other
-// type, this will panic.
-func (t Token) Value() interface{} {
-	switch t.Type {
-	case BOOL:
-		if t.Text == "true" {
-			return true
-		} else if t.Text == "false" {
-			return false
-		}
-
-		panic("unknown bool value: " + t.Text)
-	case FLOAT:
-		v, err := strconv.ParseFloat(t.Text, 64)
-		if err != nil {
-			panic(err)
-		}
-
-		return float64(v)
-	case NUMBER:
-		v, err := strconv.ParseInt(t.Text, 0, 64)
-		if err != nil {
-			panic(err)
-		}
-
-		return int64(v)
-	case IDENT:
-		return t.Text
-	case HEREDOC:
-		// We need to find the end of the marker
-		idx := strings.IndexByte(t.Text, '\n')
-		if idx == -1 {
-			panic("heredoc doesn't contain newline")
-		}
-
-		return string(t.Text[idx+1 : len(t.Text)-idx+1])
-	case STRING:
-		// Determine the Unquote method to use. If it came from JSON,
-		// then we need to use the built-in unquote since we have to
-		// escape interpolations there.
-		f := hclstrconv.Unquote
-		if t.JSON {
-			f = strconv.Unquote
-		}
-
-		v, err := f(t.Text)
-		if err != nil {
-			panic(fmt.Sprintf("unquote %s err: %s", t.Text, err))
-		}
-
-		return v
-	default:
-		panic(fmt.Sprintf("unimplemented Value for type: %s", t.Type))
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token_test.go
deleted file mode 100644
index b5b766c..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl/token/token_test.go
+++ /dev/null
@@ -1,63 +0,0 @@
-package token
-
-import (
-	"reflect"
-	"testing"
-)
-
-func TestTypeString(t *testing.T) {
-	var tokens = []struct {
-		tt  Type
-		str string
-	}{
-		{ILLEGAL, "ILLEGAL"},
-		{EOF, "EOF"},
-		{COMMENT, "COMMENT"},
-		{IDENT, "IDENT"},
-		{NUMBER, "NUMBER"},
-		{FLOAT, "FLOAT"},
-		{BOOL, "BOOL"},
-		{STRING, "STRING"},
-		{HEREDOC, "HEREDOC"},
-		{LBRACK, "LBRACK"},
-		{LBRACE, "LBRACE"},
-		{COMMA, "COMMA"},
-		{PERIOD, "PERIOD"},
-		{RBRACK, "RBRACK"},
-		{RBRACE, "RBRACE"},
-		{ASSIGN, "ASSIGN"},
-		{ADD, "ADD"},
-		{SUB, "SUB"},
-	}
-
-	for _, token := range tokens {
-		if token.tt.String() != token.str {
-			t.Errorf("want: %q got:%q\n", token.str, token.tt)
-		}
-	}
-
-}
-
-func TestTokenValue(t *testing.T) {
-	var tokens = []struct {
-		tt Token
-		v  interface{}
-	}{
-		{Token{Type: BOOL, Text: `true`}, true},
-		{Token{Type: BOOL, Text: `false`}, false},
-		{Token{Type: FLOAT, Text: `3.14`}, float64(3.14)},
-		{Token{Type: NUMBER, Text: `42`}, int64(42)},
-		{Token{Type: IDENT, Text: `foo`}, "foo"},
-		{Token{Type: STRING, Text: `"foo"`}, "foo"},
-		{Token{Type: STRING, Text: `"foo\nbar"`}, "foo\nbar"},
-		{Token{Type: STRING, Text: `"${file(\"foo\")}"`}, `${file("foo")}`},
-		{Token{Type: HEREDOC, Text: "<<EOF\nfoo\nbar\nEOF"}, "foo\nbar"},
-	}
-
-	for _, token := range tokens {
-		if val := token.tt.Value(); !reflect.DeepEqual(val, token.v) {
-			t.Errorf("want: %v got:%v\n", token.v, val)
-		}
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go
deleted file mode 100644
index 31dff7c..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/hcl_test.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package hcl
-
-import (
-	"io/ioutil"
-	"path/filepath"
-	"testing"
-)
-
-// This is the directory where our test fixtures are.
-const fixtureDir = "./test-fixtures"
-
-func testReadFile(t *testing.T, n string) string {
-	d, err := ioutil.ReadFile(filepath.Join(fixtureDir, n))
-	if err != nil {
-		t.Fatalf("err: %s", err)
-	}
-
-	return string(d)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go
deleted file mode 100644
index 6eb14a2..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/flatten.go
+++ /dev/null
@@ -1,111 +0,0 @@
-package parser
-
-import "github.com/hashicorp/hcl/hcl/ast"
-
-// flattenObjects takes an AST node, walks it, and flattens
-func flattenObjects(node ast.Node) {
-	ast.Walk(node, func(n ast.Node) (ast.Node, bool) {
-		// We only care about lists, because this is what we modify
-		list, ok := n.(*ast.ObjectList)
-		if !ok {
-			return n, true
-		}
-
-		// Rebuild the item list
-		items := make([]*ast.ObjectItem, 0, len(list.Items))
-		frontier := make([]*ast.ObjectItem, len(list.Items))
-		copy(frontier, list.Items)
-		for len(frontier) > 0 {
-			// Pop the current item
-			n := len(frontier)
-			item := frontier[n-1]
-			frontier = frontier[:n-1]
-
-			switch v := item.Val.(type) {
-			case *ast.ObjectType:
-				items, frontier = flattenObjectType(v, item, items, frontier)
-			case *ast.ListType:
-				items, frontier = flattenListType(v, item, items, frontier)
-			default:
-				items = append(items, item)
-			}
-		}
-
-		// Reverse the list since the frontier model runs things backwards
-		for i := len(items)/2 - 1; i >= 0; i-- {
-			opp := len(items) - 1 - i
-			items[i], items[opp] = items[opp], items[i]
-		}
-
-		// Done! Set the original items
-		list.Items = items
-		return n, true
-	})
-}
-
-func flattenListType(
-	ot *ast.ListType,
-	item *ast.ObjectItem,
-	items []*ast.ObjectItem,
-	frontier []*ast.ObjectItem) ([]*ast.ObjectItem, []*ast.ObjectItem) {
-	// All the elements of this object must also be objects!
-	for _, subitem := range ot.List {
-		if _, ok := subitem.(*ast.ObjectType); !ok {
-			items = append(items, item)
-			return items, frontier
-		}
-	}
-
-	// Great! We have a match go through all the items and flatten
-	for _, elem := range ot.List {
-		// Add it to the frontier so that we can recurse
-		frontier = append(frontier, &ast.ObjectItem{
-			Keys:        item.Keys,
-			Assign:      item.Assign,
-			Val:         elem,
-			LeadComment: item.LeadComment,
-			LineComment: item.LineComment,
-		})
-	}
-
-	return items, frontier
-}
-
-func flattenObjectType(
-	ot *ast.ObjectType,
-	item *ast.ObjectItem,
-	items []*ast.ObjectItem,
-	frontier []*ast.ObjectItem) ([]*ast.ObjectItem, []*ast.ObjectItem) {
-	// If the list has no items we do not have to flatten anything
-	if ot.List.Items == nil {
-		items = append(items, item)
-		return items, frontier
-	}
-
-	// All the elements of this object must also be objects!
-	for _, subitem := range ot.List.Items {
-		if _, ok := subitem.Val.(*ast.ObjectType); !ok {
-			items = append(items, item)
-			return items, frontier
-		}
-	}
-
-	// Great! We have a match go through all the items and flatten
-	for _, subitem := range ot.List.Items {
-		// Copy the new key
-		keys := make([]*ast.ObjectKey, len(item.Keys)+len(subitem.Keys))
-		copy(keys, item.Keys)
-		copy(keys[len(item.Keys):], subitem.Keys)
-
-		// Add it to the frontier so that we can recurse
-		frontier = append(frontier, &ast.ObjectItem{
-			Keys:        keys,
-			Assign:      item.Assign,
-			Val:         subitem.Val,
-			LeadComment: item.LeadComment,
-			LineComment: item.LineComment,
-		})
-	}
-
-	return items, frontier
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go
deleted file mode 100644
index 65d56c9..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser.go
+++ /dev/null
@@ -1,297 +0,0 @@
-package parser
-
-import (
-	"errors"
-	"fmt"
-
-	"github.com/hashicorp/hcl/hcl/ast"
-	"github.com/hashicorp/hcl/json/scanner"
-	"github.com/hashicorp/hcl/json/token"
-)
-
-type Parser struct {
-	sc *scanner.Scanner
-
-	// Last read token
-	tok       token.Token
-	commaPrev token.Token
-
-	enableTrace bool
-	indent      int
-	n           int // buffer size (max = 1)
-}
-
-func newParser(src []byte) *Parser {
-	return &Parser{
-		sc: scanner.New(src),
-	}
-}
-
-// Parse returns the fully parsed source and returns the abstract syntax tree.
-func Parse(src []byte) (*ast.File, error) {
-	p := newParser(src)
-	return p.Parse()
-}
-
-var errEofToken = errors.New("EOF token found")
-
-// Parse returns the fully parsed source and returns the abstract syntax tree.
-func (p *Parser) Parse() (*ast.File, error) {
-	f := &ast.File{}
-	var err, scerr error
-	p.sc.Error = func(pos token.Pos, msg string) {
-		scerr = fmt.Errorf("%s: %s", pos, msg)
-	}
-
-	// The root must be an object in JSON
-	object, err := p.object()
-	if scerr != nil {
-		return nil, scerr
-	}
-	if err != nil {
-		return nil, err
-	}
-
-	// We make our final node an object list so it is more HCL compatible
-	f.Node = object.List
-
-	// Flatten it, which finds patterns and turns them into more HCL-like
-	// AST trees.
-	flattenObjects(f.Node)
-
-	return f, nil
-}
-
-func (p *Parser) objectList() (*ast.ObjectList, error) {
-	defer un(trace(p, "ParseObjectList"))
-	node := &ast.ObjectList{}
-
-	for {
-		n, err := p.objectItem()
-		if err == errEofToken {
-			break // we are finished
-		}
-
-		// we don't return a nil node, because might want to use already
-		// collected items.
-		if err != nil {
-			return node, err
-		}
-
-		node.Add(n)
-
-		// Check for a followup comma. If it isn't a comma, then we're done
-		if tok := p.scan(); tok.Type != token.COMMA {
-			break
-		}
-	}
-	return node, nil
-}
-
-// objectItem parses a single object item
-func (p *Parser) objectItem() (*ast.ObjectItem, error) {
-	defer un(trace(p, "ParseObjectItem"))
-
-	keys, err := p.objectKey()
-	if err != nil {
-		return nil, err
-	}
-
-	o := &ast.ObjectItem{
-		Keys: keys,
-	}
-
-	switch p.tok.Type {
-	case token.COLON:
-		o.Val, err = p.objectValue()
-		if err != nil {
-			return nil, err
-		}
-	}
-
-	return o, nil
-}
-
-// objectKey parses an object key and returns a ObjectKey AST
-func (p *Parser) objectKey() ([]*ast.ObjectKey, error) {
-	keyCount := 0
-	keys := make([]*ast.ObjectKey, 0)
-
-	for {
-		tok := p.scan()
-		switch tok.Type {
-		case token.EOF:
-			return nil, errEofToken
-		case token.STRING:
-			keyCount++
-			keys = append(keys, &ast.ObjectKey{
-				Token: p.tok.HCLToken(),
-			})
-		case token.COLON:
-			// Done
-			return keys, nil
-		case token.ILLEGAL:
-			fmt.Println("illegal")
-		default:
-			return nil, fmt.Errorf("expected: STRING got: %s", p.tok.Type)
-		}
-	}
-}
-
-// object parses any type of object, such as number, bool, string, object or
-// list.
-func (p *Parser) objectValue() (ast.Node, error) {
-	defer un(trace(p, "ParseObjectValue"))
-	tok := p.scan()
-
-	switch tok.Type {
-	case token.NUMBER, token.FLOAT, token.BOOL, token.NULL, token.STRING:
-		return p.literalType()
-	case token.LBRACE:
-		return p.objectType()
-	case token.LBRACK:
-		return p.listType()
-	case token.EOF:
-		return nil, errEofToken
-	}
-
-	return nil, fmt.Errorf("Expected object value, got unknown token: %+v", tok)
-}
-
-// object parses any type of object, such as number, bool, string, object or
-// list.
-func (p *Parser) object() (*ast.ObjectType, error) {
-	defer un(trace(p, "ParseType"))
-	tok := p.scan()
-
-	switch tok.Type {
-	case token.LBRACE:
-		return p.objectType()
-	case token.EOF:
-		return nil, errEofToken
-	}
-
-	return nil, fmt.Errorf("Expected object, got unknown token: %+v", tok)
-}
-
-// objectType parses an object type and returns a ObjectType AST
-func (p *Parser) objectType() (*ast.ObjectType, error) {
-	defer un(trace(p, "ParseObjectType"))
-
-	// we assume that the currently scanned token is a LBRACE
-	o := &ast.ObjectType{}
-
-	l, err := p.objectList()
-
-	// if we hit RBRACE, we are good to go (means we parsed all Items), if it's
-	// not a RBRACE, it's an syntax error and we just return it.
-	if err != nil && p.tok.Type != token.RBRACE {
-		return nil, err
-	}
-
-	o.List = l
-	return o, nil
-}
-
-// listType parses a list type and returns a ListType AST
-func (p *Parser) listType() (*ast.ListType, error) {
-	defer un(trace(p, "ParseListType"))
-
-	// we assume that the currently scanned token is a LBRACK
-	l := &ast.ListType{}
-
-	for {
-		tok := p.scan()
-		switch tok.Type {
-		case token.NUMBER, token.FLOAT, token.STRING:
-			node, err := p.literalType()
-			if err != nil {
-				return nil, err
-			}
-
-			l.Add(node)
-		case token.COMMA:
-			continue
-		case token.LBRACE:
-			node, err := p.objectType()
-			if err != nil {
-				return nil, err
-			}
-
-			l.Add(node)
-		case token.BOOL:
-			// TODO(arslan) should we support? not supported by HCL yet
-		case token.LBRACK:
-			// TODO(arslan) should we support nested lists? Even though it's
-			// written in README of HCL, it's not a part of the grammar
-			// (not defined in parse.y)
-		case token.RBRACK:
-			// finished
-			return l, nil
-		default:
-			return nil, fmt.Errorf("unexpected token while parsing list: %s", tok.Type)
-		}
-
-	}
-}
-
-// literalType parses a literal type and returns a LiteralType AST
-func (p *Parser) literalType() (*ast.LiteralType, error) {
-	defer un(trace(p, "ParseLiteral"))
-
-	return &ast.LiteralType{
-		Token: p.tok.HCLToken(),
-	}, nil
-}
-
-// scan returns the next token from the underlying scanner. If a token has
-// been unscanned then read that instead.
-func (p *Parser) scan() token.Token {
-	// If we have a token on the buffer, then return it.
-	if p.n != 0 {
-		p.n = 0
-		return p.tok
-	}
-
-	p.tok = p.sc.Scan()
-	return p.tok
-}
-
-// unscan pushes the previously read token back onto the buffer.
-func (p *Parser) unscan() {
-	p.n = 1
-}
-
-// ----------------------------------------------------------------------------
-// Parsing support
-
-func (p *Parser) printTrace(a ...interface{}) {
-	if !p.enableTrace {
-		return
-	}
-
-	const dots = ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "
-	const n = len(dots)
-	fmt.Printf("%5d:%3d: ", p.tok.Pos.Line, p.tok.Pos.Column)
-
-	i := 2 * p.indent
-	for i > n {
-		fmt.Print(dots)
-		i -= n
-	}
-	// i <= n
-	fmt.Print(dots[0:i])
-	fmt.Println(a...)
-}
-
-func trace(p *Parser, msg string) *Parser {
-	p.printTrace(msg, "(")
-	p.indent++
-	return p
-}
-
-// Usage pattern: defer un(trace(p, "..."))
-func un(p *Parser) {
-	p.indent--
-	p.printTrace(")")
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser_test.go
deleted file mode 100644
index 8c66fb9..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/parser_test.go
+++ /dev/null
@@ -1,338 +0,0 @@
-package parser
-
-import (
-	"fmt"
-	"io/ioutil"
-	"path/filepath"
-	"reflect"
-	"runtime"
-	"testing"
-
-	"github.com/hashicorp/hcl/hcl/ast"
-	"github.com/hashicorp/hcl/hcl/token"
-)
-
-func TestType(t *testing.T) {
-	var literals = []struct {
-		typ token.Type
-		src string
-	}{
-		{token.STRING, `"foo": "bar"`},
-		{token.NUMBER, `"foo": 123`},
-		{token.FLOAT, `"foo": 123.12`},
-		{token.FLOAT, `"foo": -123.12`},
-		{token.BOOL, `"foo": true`},
-		{token.STRING, `"foo": null`},
-	}
-
-	for _, l := range literals {
-		t.Logf("Testing: %s", l.src)
-
-		p := newParser([]byte(l.src))
-		item, err := p.objectItem()
-		if err != nil {
-			t.Error(err)
-		}
-
-		lit, ok := item.Val.(*ast.LiteralType)
-		if !ok {
-			t.Errorf("node should be of type LiteralType, got: %T", item.Val)
-		}
-
-		if lit.Token.Type != l.typ {
-			t.Errorf("want: %s, got: %s", l.typ, lit.Token.Type)
-		}
-	}
-}
-
-func TestListType(t *testing.T) {
-	var literals = []struct {
-		src    string
-		tokens []token.Type
-	}{
-		{
-			`"foo": ["123", 123]`,
-			[]token.Type{token.STRING, token.NUMBER},
-		},
-		{
-			`"foo": [123, "123",]`,
-			[]token.Type{token.NUMBER, token.STRING},
-		},
-		{
-			`"foo": []`,
-			[]token.Type{},
-		},
-		{
-			`"foo": ["123", 123]`,
-			[]token.Type{token.STRING, token.NUMBER},
-		},
-		{
-			`"foo": ["123", {}]`,
-			[]token.Type{token.STRING, token.LBRACE},
-		},
-	}
-
-	for _, l := range literals {
-		t.Logf("Testing: %s", l.src)
-
-		p := newParser([]byte(l.src))
-		item, err := p.objectItem()
-		if err != nil {
-			t.Error(err)
-		}
-
-		list, ok := item.Val.(*ast.ListType)
-		if !ok {
-			t.Errorf("node should be of type LiteralType, got: %T", item.Val)
-		}
-
-		tokens := []token.Type{}
-		for _, li := range list.List {
-			switch v := li.(type) {
-			case *ast.LiteralType:
-				tokens = append(tokens, v.Token.Type)
-			case *ast.ObjectType:
-				tokens = append(tokens, token.LBRACE)
-			}
-		}
-
-		equals(t, l.tokens, tokens)
-	}
-}
-
-func TestObjectType(t *testing.T) {
-	var literals = []struct {
-		src      string
-		nodeType []ast.Node
-		itemLen  int
-	}{
-		{
-			`"foo": {}`,
-			nil,
-			0,
-		},
-		{
-			`"foo": {
-				"bar": "fatih"
-			 }`,
-			[]ast.Node{&ast.LiteralType{}},
-			1,
-		},
-		{
-			`"foo": {
-				"bar": "fatih",
-				"baz": ["arslan"]
-			 }`,
-			[]ast.Node{
-				&ast.LiteralType{},
-				&ast.ListType{},
-			},
-			2,
-		},
-		{
-			`"foo": {
-				"bar": {}
-			 }`,
-			[]ast.Node{
-				&ast.ObjectType{},
-			},
-			1,
-		},
-		{
-			`"foo": {
-				"bar": {},
-				"foo": true
-			 }`,
-			[]ast.Node{
-				&ast.ObjectType{},
-				&ast.LiteralType{},
-			},
-			2,
-		},
-	}
-
-	for _, l := range literals {
-		t.Logf("Testing:\n%s\n", l.src)
-
-		p := newParser([]byte(l.src))
-		// p.enableTrace = true
-		item, err := p.objectItem()
-		if err != nil {
-			t.Error(err)
-		}
-
-		// we know that the ObjectKey name is foo for all cases, what matters
-		// is the object
-		obj, ok := item.Val.(*ast.ObjectType)
-		if !ok {
-			t.Errorf("node should be of type LiteralType, got: %T", item.Val)
-		}
-
-		// check if the total length of items are correct
-		equals(t, l.itemLen, len(obj.List.Items))
-
-		// check if the types are correct
-		for i, item := range obj.List.Items {
-			equals(t, reflect.TypeOf(l.nodeType[i]), reflect.TypeOf(item.Val))
-		}
-	}
-}
-
-func TestFlattenObjects(t *testing.T) {
-	var literals = []struct {
-		src      string
-		nodeType []ast.Node
-		itemLen  int
-	}{
-		{
-			`{
-				"foo": [
-					{
-						"foo": "svh",
-						"bar": "fatih"
-					}
-				]
-			}`,
-			[]ast.Node{
-				&ast.ObjectType{},
-				&ast.LiteralType{},
-				&ast.LiteralType{},
-			},
-			3,
-		},
-		{
-			`{
-				"variable": {
-					"foo": {}
-				}
-			}`,
-			[]ast.Node{
-				&ast.ObjectType{},
-			},
-			1,
-		},
-	}
-
-	for _, l := range literals {
-		t.Logf("Testing:\n%s\n", l.src)
-
-		f, err := Parse([]byte(l.src))
-		if err != nil {
-			t.Error(err)
-		}
-
-		// the first object is always an ObjectList so just assert that one
-		// so we can use it as such
-		obj, ok := f.Node.(*ast.ObjectList)
-		if !ok {
-			t.Errorf("node should be *ast.ObjectList, got: %T", f.Node)
-		}
-
-		// check if the types are correct
-		var i int
-		for _, item := range obj.Items {
-			equals(t, reflect.TypeOf(l.nodeType[i]), reflect.TypeOf(item.Val))
-			i++
-
-			if obj, ok := item.Val.(*ast.ObjectType); ok {
-				for _, item := range obj.List.Items {
-					equals(t, reflect.TypeOf(l.nodeType[i]), reflect.TypeOf(item.Val))
-					i++
-				}
-			}
-		}
-
-		// check if the number of items is correct
-		equals(t, l.itemLen, i)
-
-	}
-}
-
-func TestObjectKey(t *testing.T) {
-	keys := []struct {
-		exp []token.Type
-		src string
-	}{
-		{[]token.Type{token.STRING}, `"foo": {}`},
-	}
-
-	for _, k := range keys {
-		p := newParser([]byte(k.src))
-		keys, err := p.objectKey()
-		if err != nil {
-			t.Fatal(err)
-		}
-
-		tokens := []token.Type{}
-		for _, o := range keys {
-			tokens = append(tokens, o.Token.Type)
-		}
-
-		equals(t, k.exp, tokens)
-	}
-
-	errKeys := []struct {
-		src string
-	}{
-		{`foo 12 {}`},
-		{`foo bar = {}`},
-		{`foo []`},
-		{`12 {}`},
-	}
-
-	for _, k := range errKeys {
-		p := newParser([]byte(k.src))
-		_, err := p.objectKey()
-		if err == nil {
-			t.Errorf("case '%s' should give an error", k.src)
-		}
-	}
-}
-
-// Official HCL tests
-func TestParse(t *testing.T) {
-	cases := []struct {
-		Name string
-		Err  bool
-	}{
-		{
-			"array.json",
-			false,
-		},
-		{
-			"basic.json",
-			false,
-		},
-		{
-			"object.json",
-			false,
-		},
-		{
-			"types.json",
-			false,
-		},
-	}
-
-	const fixtureDir = "./test-fixtures"
-
-	for _, tc := range cases {
-		d, err := ioutil.ReadFile(filepath.Join(fixtureDir, tc.Name))
-		if err != nil {
-			t.Fatalf("err: %s", err)
-		}
-
-		_, err = Parse(d)
-		if (err != nil) != tc.Err {
-			t.Fatalf("Input: %s\n\nError: %s", tc.Name, err)
-		}
-	}
-}
-
-// equals fails the test if exp is not equal to act.
-func equals(tb testing.TB, exp, act interface{}) {
-	if !reflect.DeepEqual(exp, act) {
-		_, file, line, _ := runtime.Caller(1)
-		fmt.Printf("\033[31m%s:%d:\n\n\texp: %#v\n\n\tgot: %#v\033[39m\n\n", filepath.Base(file), line, exp, act)
-		tb.FailNow()
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/array.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/array.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/array.json
deleted file mode 100644
index e320f17..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/array.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"foo": [1, 2, "bar"],
-	"bar": "baz"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/basic.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/basic.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/basic.json
deleted file mode 100644
index b54bde9..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/basic.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-	"foo": "bar"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/object.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/object.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/object.json
deleted file mode 100644
index 72168a3..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/object.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"foo": {
-		"bar": [1,2]
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/types.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/types.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/types.json
deleted file mode 100644
index 9a142a6..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/parser/test-fixtures/types.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"foo": "bar",
-	"bar": 7,
-	"baz": [1,2,3],
-	"foo": -12,
-	"bar": 3.14159,
-    "foo": true,
-    "bar": false,
-    "foo": null
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go
deleted file mode 100644
index 477f71f..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner.go
+++ /dev/null
@@ -1,451 +0,0 @@
-package scanner
-
-import (
-	"bytes"
-	"fmt"
-	"os"
-	"unicode"
-	"unicode/utf8"
-
-	"github.com/hashicorp/hcl/json/token"
-)
-
-// eof represents a marker rune for the end of the reader.
-const eof = rune(0)
-
-// Scanner defines a lexical scanner
-type Scanner struct {
-	buf *bytes.Buffer // Source buffer for advancing and scanning
-	src []byte        // Source buffer for immutable access
-
-	// Source Position
-	srcPos  token.Pos // current position
-	prevPos token.Pos // previous position, used for peek() method
-
-	lastCharLen int // length of last character in bytes
-	lastLineLen int // length of last line in characters (for correct column reporting)
-
-	tokStart int // token text start position
-	tokEnd   int // token text end  position
-
-	// Error is called for each error encountered. If no Error
-	// function is set, the error is reported to os.Stderr.
-	Error func(pos token.Pos, msg string)
-
-	// ErrorCount is incremented by one for each error encountered.
-	ErrorCount int
-
-	// tokPos is the start position of most recently scanned token; set by
-	// Scan. The Filename field is always left untouched by the Scanner.  If
-	// an error is reported (via Error) and Position is invalid, the scanner is
-	// not inside a token.
-	tokPos token.Pos
-}
-
-// New creates and initializes a new instance of Scanner using src as
-// its source content.
-func New(src []byte) *Scanner {
-	// even though we accept a src, we read from a io.Reader compatible type
-	// (*bytes.Buffer). So in the future we might easily change it to streaming
-	// read.
-	b := bytes.NewBuffer(src)
-	s := &Scanner{
-		buf: b,
-		src: src,
-	}
-
-	// srcPosition always starts with 1
-	s.srcPos.Line = 1
-	return s
-}
-
-// next reads the next rune from the bufferred reader. Returns the rune(0) if
-// an error occurs (or io.EOF is returned).
-func (s *Scanner) next() rune {
-	ch, size, err := s.buf.ReadRune()
-	if err != nil {
-		// advance for error reporting
-		s.srcPos.Column++
-		s.srcPos.Offset += size
-		s.lastCharLen = size
-		return eof
-	}
-
-	if ch == utf8.RuneError && size == 1 {
-		s.srcPos.Column++
-		s.srcPos.Offset += size
-		s.lastCharLen = size
-		s.err("illegal UTF-8 encoding")
-		return ch
-	}
-
-	// remember last position
-	s.prevPos = s.srcPos
-
-	s.srcPos.Column++
-	s.lastCharLen = size
-	s.srcPos.Offset += size
-
-	if ch == '\n' {
-		s.srcPos.Line++
-		s.lastLineLen = s.srcPos.Column
-		s.srcPos.Column = 0
-	}
-
-	// debug
-	// fmt.Printf("ch: %q, offset:column: %d:%d\n", ch, s.srcPos.Offset, s.srcPos.Column)
-	return ch
-}
-
-// unread unreads the previous read Rune and updates the source position
-func (s *Scanner) unread() {
-	if err := s.buf.UnreadRune(); err != nil {
-		panic(err) // this is user fault, we should catch it
-	}
-	s.srcPos = s.prevPos // put back last position
-}
-
-// peek returns the next rune without advancing the reader.
-func (s *Scanner) peek() rune {
-	peek, _, err := s.buf.ReadRune()
-	if err != nil {
-		return eof
-	}
-
-	s.buf.UnreadRune()
-	return peek
-}
-
-// Scan scans the next token and returns the token.
-func (s *Scanner) Scan() token.Token {
-	ch := s.next()
-
-	// skip white space
-	for isWhitespace(ch) {
-		ch = s.next()
-	}
-
-	var tok token.Type
-
-	// token text markings
-	s.tokStart = s.srcPos.Offset - s.lastCharLen
-
-	// token position, initial next() is moving the offset by one(size of rune
-	// actually), though we are interested with the starting point
-	s.tokPos.Offset = s.srcPos.Offset - s.lastCharLen
-	if s.srcPos.Column > 0 {
-		// common case: last character was not a '\n'
-		s.tokPos.Line = s.srcPos.Line
-		s.tokPos.Column = s.srcPos.Column
-	} else {
-		// last character was a '\n'
-		// (we cannot be at the beginning of the source
-		// since we have called next() at least once)
-		s.tokPos.Line = s.srcPos.Line - 1
-		s.tokPos.Column = s.lastLineLen
-	}
-
-	switch {
-	case isLetter(ch):
-		lit := s.scanIdentifier()
-		if lit == "true" || lit == "false" {
-			tok = token.BOOL
-		} else if lit == "null" {
-			tok = token.NULL
-		} else {
-			s.err("illegal char")
-		}
-	case isDecimal(ch):
-		tok = s.scanNumber(ch)
-	default:
-		switch ch {
-		case eof:
-			tok = token.EOF
-		case '"':
-			tok = token.STRING
-			s.scanString()
-		case '.':
-			tok = token.PERIOD
-			ch = s.peek()
-			if isDecimal(ch) {
-				tok = token.FLOAT
-				ch = s.scanMantissa(ch)
-				ch = s.scanExponent(ch)
-			}
-		case '[':
-			tok = token.LBRACK
-		case ']':
-			tok = token.RBRACK
-		case '{':
-			tok = token.LBRACE
-		case '}':
-			tok = token.RBRACE
-		case ',':
-			tok = token.COMMA
-		case ':':
-			tok = token.COLON
-		case '-':
-			if isDecimal(s.peek()) {
-				ch := s.next()
-				tok = s.scanNumber(ch)
-			} else {
-				s.err("illegal char")
-			}
-		default:
-			s.err("illegal char: " + string(ch))
-		}
-	}
-
-	// finish token ending
-	s.tokEnd = s.srcPos.Offset
-
-	// create token literal
-	var tokenText string
-	if s.tokStart >= 0 {
-		tokenText = string(s.src[s.tokStart:s.tokEnd])
-	}
-	s.tokStart = s.tokEnd // ensure idempotency of tokenText() call
-
-	return token.Token{
-		Type: tok,
-		Pos:  s.tokPos,
-		Text: tokenText,
-	}
-}
-
-// scanNumber scans a HCL number definition starting with the given rune
-func (s *Scanner) scanNumber(ch rune) token.Type {
-	zero := ch == '0'
-	pos := s.srcPos
-
-	s.scanMantissa(ch)
-	ch = s.next() // seek forward
-	if ch == 'e' || ch == 'E' {
-		ch = s.scanExponent(ch)
-		return token.FLOAT
-	}
-
-	if ch == '.' {
-		ch = s.scanFraction(ch)
-		if ch == 'e' || ch == 'E' {
-			ch = s.next()
-			ch = s.scanExponent(ch)
-		}
-		return token.FLOAT
-	}
-
-	if ch != eof {
-		s.unread()
-	}
-
-	// If we have a larger number and this is zero, error
-	if zero && pos != s.srcPos {
-		s.err("numbers cannot start with 0")
-	}
-
-	return token.NUMBER
-}
-
-// scanMantissa scans the mantissa begining from the rune. It returns the next
-// non decimal rune. It's used to determine wheter it's a fraction or exponent.
-func (s *Scanner) scanMantissa(ch rune) rune {
-	scanned := false
-	for isDecimal(ch) {
-		ch = s.next()
-		scanned = true
-	}
-
-	if scanned && ch != eof {
-		s.unread()
-	}
-	return ch
-}
-
-// scanFraction scans the fraction after the '.' rune
-func (s *Scanner) scanFraction(ch rune) rune {
-	if ch == '.' {
-		ch = s.peek() // we peek just to see if we can move forward
-		ch = s.scanMantissa(ch)
-	}
-	return ch
-}
-
-// scanExponent scans the remaining parts of an exponent after the 'e' or 'E'
-// rune.
-func (s *Scanner) scanExponent(ch rune) rune {
-	if ch == 'e' || ch == 'E' {
-		ch = s.next()
-		if ch == '-' || ch == '+' {
-			ch = s.next()
-		}
-		ch = s.scanMantissa(ch)
-	}
-	return ch
-}
-
-// scanString scans a quoted string
-func (s *Scanner) scanString() {
-	braces := 0
-	for {
-		// '"' opening already consumed
-		// read character after quote
-		ch := s.next()
-
-		if ch == '\n' || ch < 0 || ch == eof {
-			s.err("literal not terminated")
-			return
-		}
-
-		if ch == '"' && braces == 0 {
-			break
-		}
-
-		// If we're going into a ${} then we can ignore quotes for awhile
-		if braces == 0 && ch == '$' && s.peek() == '{' {
-			braces++
-			s.next()
-		} else if braces > 0 && ch == '{' {
-			braces++
-		}
-		if braces > 0 && ch == '}' {
-			braces--
-		}
-
-		if ch == '\\' {
-			s.scanEscape()
-		}
-	}
-
-	return
-}
-
-// scanEscape scans an escape sequence
-func (s *Scanner) scanEscape() rune {
-	// http://en.cppreference.com/w/cpp/language/escape
-	ch := s.next() // read character after '/'
-	switch ch {
-	case 'a', 'b', 'f', 'n', 'r', 't', 'v', '\\', '"':
-		// nothing to do
-	case '0', '1', '2', '3', '4', '5', '6', '7':
-		// octal notation
-		ch = s.scanDigits(ch, 8, 3)
-	case 'x':
-		// hexademical notation
-		ch = s.scanDigits(s.next(), 16, 2)
-	case 'u':
-		// universal character name
-		ch = s.scanDigits(s.next(), 16, 4)
-	case 'U':
-		// universal character name
-		ch = s.scanDigits(s.next(), 16, 8)
-	default:
-		s.err("illegal char escape")
-	}
-	return ch
-}
-
-// scanDigits scans a rune with the given base for n times. For example an
-// octal notation \184 would yield in scanDigits(ch, 8, 3)
-func (s *Scanner) scanDigits(ch rune, base, n int) rune {
-	for n > 0 && digitVal(ch) < base {
-		ch = s.next()
-		n--
-	}
-	if n > 0 {
-		s.err("illegal char escape")
-	}
-
-	// we scanned all digits, put the last non digit char back
-	s.unread()
-	return ch
-}
-
-// scanIdentifier scans an identifier and returns the literal string
-func (s *Scanner) scanIdentifier() string {
-	offs := s.srcPos.Offset - s.lastCharLen
-	ch := s.next()
-	for isLetter(ch) || isDigit(ch) || ch == '-' {
-		ch = s.next()
-	}
-
-	if ch != eof {
-		s.unread() // we got identifier, put back latest char
-	}
-
-	return string(s.src[offs:s.srcPos.Offset])
-}
-
-// recentPosition returns the position of the character immediately after the
-// character or token returned by the last call to Scan.
-func (s *Scanner) recentPosition() (pos token.Pos) {
-	pos.Offset = s.srcPos.Offset - s.lastCharLen
-	switch {
-	case s.srcPos.Column > 0:
-		// common case: last character was not a '\n'
-		pos.Line = s.srcPos.Line
-		pos.Column = s.srcPos.Column
-	case s.lastLineLen > 0:
-		// last character was a '\n'
-		// (we cannot be at the beginning of the source
-		// since we have called next() at least once)
-		pos.Line = s.srcPos.Line - 1
-		pos.Column = s.lastLineLen
-	default:
-		// at the beginning of the source
-		pos.Line = 1
-		pos.Column = 1
-	}
-	return
-}
-
-// err prints the error of any scanning to s.Error function. If the function is
-// not defined, by default it prints them to os.Stderr
-func (s *Scanner) err(msg string) {
-	s.ErrorCount++
-	pos := s.recentPosition()
-
-	if s.Error != nil {
-		s.Error(pos, msg)
-		return
-	}
-
-	fmt.Fprintf(os.Stderr, "%s: %s\n", pos, msg)
-}
-
-// isHexadecimal returns true if the given rune is a letter
-func isLetter(ch rune) bool {
-	return 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z' || ch == '_' || ch >= 0x80 && unicode.IsLetter(ch)
-}
-
-// isHexadecimal returns true if the given rune is a decimal digit
-func isDigit(ch rune) bool {
-	return '0' <= ch && ch <= '9' || ch >= 0x80 && unicode.IsDigit(ch)
-}
-
-// isHexadecimal returns true if the given rune is a decimal number
-func isDecimal(ch rune) bool {
-	return '0' <= ch && ch <= '9'
-}
-
-// isHexadecimal returns true if the given rune is an hexadecimal number
-func isHexadecimal(ch rune) bool {
-	return '0' <= ch && ch <= '9' || 'a' <= ch && ch <= 'f' || 'A' <= ch && ch <= 'F'
-}
-
-// isWhitespace returns true if the rune is a space, tab, newline or carriage return
-func isWhitespace(ch rune) bool {
-	return ch == ' ' || ch == '\t' || ch == '\n' || ch == '\r'
-}
-
-// digitVal returns the integer value of a given octal,decimal or hexadecimal rune
-func digitVal(ch rune) int {
-	switch {
-	case '0' <= ch && ch <= '9':
-		return int(ch - '0')
-	case 'a' <= ch && ch <= 'f':
-		return int(ch - 'a' + 10)
-	case 'A' <= ch && ch <= 'F':
-		return int(ch - 'A' + 10)
-	}
-	return 16 // larger than any legal digit val
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner_test.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner_test.go
deleted file mode 100644
index fe2d755..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/scanner/scanner_test.go
+++ /dev/null
@@ -1,363 +0,0 @@
-package scanner
-
-import (
-	"bytes"
-	"fmt"
-	"testing"
-
-	"github.com/hashicorp/hcl/json/token"
-)
-
-var f100 = "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
-
-type tokenPair struct {
-	tok  token.Type
-	text string
-}
-
-var tokenLists = map[string][]tokenPair{
-	"operator": []tokenPair{
-		{token.LBRACK, "["},
-		{token.LBRACE, "{"},
-		{token.COMMA, ","},
-		{token.PERIOD, "."},
-		{token.RBRACK, "]"},
-		{token.RBRACE, "}"},
-	},
-	"bool": []tokenPair{
-		{token.BOOL, "true"},
-		{token.BOOL, "false"},
-	},
-	"string": []tokenPair{
-		{token.STRING, `" "`},
-		{token.STRING, `"a"`},
-		{token.STRING, `"本"`},
-		{token.STRING, `"${file("foo")}"`},
-		{token.STRING, `"${file(\"foo\")}"`},
-		{token.STRING, `"\a"`},
-		{token.STRING, `"\b"`},
-		{token.STRING, `"\f"`},
-		{token.STRING, `"\n"`},
-		{token.STRING, `"\r"`},
-		{token.STRING, `"\t"`},
-		{token.STRING, `"\v"`},
-		{token.STRING, `"\""`},
-		{token.STRING, `"\000"`},
-		{token.STRING, `"\777"`},
-		{token.STRING, `"\x00"`},
-		{token.STRING, `"\xff"`},
-		{token.STRING, `"\u0000"`},
-		{token.STRING, `"\ufA16"`},
-		{token.STRING, `"\U00000000"`},
-		{token.STRING, `"\U0000ffAB"`},
-		{token.STRING, `"` + f100 + `"`},
-	},
-	"number": []tokenPair{
-		{token.NUMBER, "0"},
-		{token.NUMBER, "1"},
-		{token.NUMBER, "9"},
-		{token.NUMBER, "42"},
-		{token.NUMBER, "1234567890"},
-		{token.NUMBER, "-0"},
-		{token.NUMBER, "-1"},
-		{token.NUMBER, "-9"},
-		{token.NUMBER, "-42"},
-		{token.NUMBER, "-1234567890"},
-	},
-	"float": []tokenPair{
-		{token.FLOAT, "0."},
-		{token.FLOAT, "1."},
-		{token.FLOAT, "42."},
-		{token.FLOAT, "01234567890."},
-		{token.FLOAT, ".0"},
-		{token.FLOAT, ".1"},
-		{token.FLOAT, ".42"},
-		{token.FLOAT, ".0123456789"},
-		{token.FLOAT, "0.0"},
-		{token.FLOAT, "1.0"},
-		{token.FLOAT, "42.0"},
-		{token.FLOAT, "01234567890.0"},
-		{token.FLOAT, "0e0"},
-		{token.FLOAT, "1e0"},
-		{token.FLOAT, "42e0"},
-		{token.FLOAT, "01234567890e0"},
-		{token.FLOAT, "0E0"},
-		{token.FLOAT, "1E0"},
-		{token.FLOAT, "42E0"},
-		{token.FLOAT, "01234567890E0"},
-		{token.FLOAT, "0e+10"},
-		{token.FLOAT, "1e-10"},
-		{token.FLOAT, "42e+10"},
-		{token.FLOAT, "01234567890e-10"},
-		{token.FLOAT, "0E+10"},
-		{token.FLOAT, "1E-10"},
-		{token.FLOAT, "42E+10"},
-		{token.FLOAT, "01234567890E-10"},
-		{token.FLOAT, "01.8e0"},
-		{token.FLOAT, "1.4e0"},
-		{token.FLOAT, "42.2e0"},
-		{token.FLOAT, "01234567890.12e0"},
-		{token.FLOAT, "0.E0"},
-		{token.FLOAT, "1.12E0"},
-		{token.FLOAT, "42.123E0"},
-		{token.FLOAT, "01234567890.213E0"},
-		{token.FLOAT, "0.2e+10"},
-		{token.FLOAT, "1.2e-10"},
-		{token.FLOAT, "42.54e+10"},
-		{token.FLOAT, "01234567890.98e-10"},
-		{token.FLOAT, "0.1E+10"},
-		{token.FLOAT, "1.1E-10"},
-		{token.FLOAT, "42.1E+10"},
-		{token.FLOAT, "01234567890.1E-10"},
-		{token.FLOAT, "-0.0"},
-		{token.FLOAT, "-1.0"},
-		{token.FLOAT, "-42.0"},
-		{token.FLOAT, "-01234567890.0"},
-		{token.FLOAT, "-0e0"},
-		{token.FLOAT, "-1e0"},
-		{token.FLOAT, "-42e0"},
-		{token.FLOAT, "-01234567890e0"},
-		{token.FLOAT, "-0E0"},
-		{token.FLOAT, "-1E0"},
-		{token.FLOAT, "-42E0"},
-		{token.FLOAT, "-01234567890E0"},
-		{token.FLOAT, "-0e+10"},
-		{token.FLOAT, "-1e-10"},
-		{token.FLOAT, "-42e+10"},
-		{token.FLOAT, "-01234567890e-10"},
-		{token.FLOAT, "-0E+10"},
-		{token.FLOAT, "-1E-10"},
-		{token.FLOAT, "-42E+10"},
-		{token.FLOAT, "-01234567890E-10"},
-		{token.FLOAT, "-01.8e0"},
-		{token.FLOAT, "-1.4e0"},
-		{token.FLOAT, "-42.2e0"},
-		{token.FLOAT, "-01234567890.12e0"},
-		{token.FLOAT, "-0.E0"},
-		{token.FLOAT, "-1.12E0"},
-		{token.FLOAT, "-42.123E0"},
-		{token.FLOAT, "-01234567890.213E0"},
-		{token.FLOAT, "-0.2e+10"},
-		{token.FLOAT, "-1.2e-10"},
-		{token.FLOAT, "-42.54e+10"},
-		{token.FLOAT, "-01234567890.98e-10"},
-		{token.FLOAT, "-0.1E+10"},
-		{token.FLOAT, "-1.1E-10"},
-		{token.FLOAT, "-42.1E+10"},
-		{token.FLOAT, "-01234567890.1E-10"},
-	},
-}
-
-var orderedTokenLists = []string{
-	"comment",
-	"operator",
-	"bool",
-	"string",
-	"number",
-	"float",
-}
-
-func TestPosition(t *testing.T) {
-	// create artifical source code
-	buf := new(bytes.Buffer)
-
-	for _, listName := range orderedTokenLists {
-		for _, ident := range tokenLists[listName] {
-			fmt.Fprintf(buf, "\t\t\t\t%s\n", ident.text)
-		}
-	}
-
-	s := New(buf.Bytes())
-
-	pos := token.Pos{"", 4, 1, 5}
-	s.Scan()
-	for _, listName := range orderedTokenLists {
-
-		for _, k := range tokenLists[listName] {
-			curPos := s.tokPos
-			// fmt.Printf("[%q] s = %+v:%+v\n", k.text, curPos.Offset, curPos.Column)
-
-			if curPos.Offset != pos.Offset {
-				t.Fatalf("offset = %d, want %d for %q", curPos.Offset, pos.Offset, k.text)
-			}
-			if curPos.Line != pos.Line {
-				t.Fatalf("line = %d, want %d for %q", curPos.Line, pos.Line, k.text)
-			}
-			if curPos.Column != pos.Column {
-				t.Fatalf("column = %d, want %d for %q", curPos.Column, pos.Column, k.text)
-			}
-			pos.Offset += 4 + len(k.text) + 1     // 4 tabs + token bytes + newline
-			pos.Line += countNewlines(k.text) + 1 // each token is on a new line
-
-			s.Error = func(pos token.Pos, msg string) {
-				t.Errorf("error %q for %q", msg, k.text)
-			}
-
-			s.Scan()
-		}
-	}
-	// make sure there were no token-internal errors reported by scanner
-	if s.ErrorCount != 0 {
-		t.Errorf("%d errors", s.ErrorCount)
-	}
-}
-
-func TestComment(t *testing.T) {
-	testTokenList(t, tokenLists["comment"])
-}
-
-func TestOperator(t *testing.T) {
-	testTokenList(t, tokenLists["operator"])
-}
-
-func TestBool(t *testing.T) {
-	testTokenList(t, tokenLists["bool"])
-}
-
-func TestIdent(t *testing.T) {
-	testTokenList(t, tokenLists["ident"])
-}
-
-func TestString(t *testing.T) {
-	testTokenList(t, tokenLists["string"])
-}
-
-func TestNumber(t *testing.T) {
-	testTokenList(t, tokenLists["number"])
-}
-
-func TestFloat(t *testing.T) {
-	testTokenList(t, tokenLists["float"])
-}
-
-func TestRealExample(t *testing.T) {
-	complexReal := `
-{
-    "variable": {
-        "foo": {
-            "default": "bar",
-            "description": "bar",
-            "depends_on": ["something"]
-        }
-    }
-}`
-
-	literals := []struct {
-		tokenType token.Type
-		literal   string
-	}{
-		{token.LBRACE, `{`},
-		{token.STRING, `"variable"`},
-		{token.COLON, `:`},
-		{token.LBRACE, `{`},
-		{token.STRING, `"foo"`},
-		{token.COLON, `:`},
-		{token.LBRACE, `{`},
-		{token.STRING, `"default"`},
-		{token.COLON, `:`},
-		{token.STRING, `"bar"`},
-		{token.COMMA, `,`},
-		{token.STRING, `"description"`},
-		{token.COLON, `:`},
-		{token.STRING, `"bar"`},
-		{token.COMMA, `,`},
-		{token.STRING, `"depends_on"`},
-		{token.COLON, `:`},
-		{token.LBRACK, `[`},
-		{token.STRING, `"something"`},
-		{token.RBRACK, `]`},
-		{token.RBRACE, `}`},
-		{token.RBRACE, `}`},
-		{token.RBRACE, `}`},
-		{token.EOF, ``},
-	}
-
-	s := New([]byte(complexReal))
-	for _, l := range literals {
-		tok := s.Scan()
-		if l.tokenType != tok.Type {
-			t.Errorf("got: %s want %s for %s\n", tok, l.tokenType, tok.String())
-		}
-
-		if l.literal != tok.Text {
-			t.Errorf("got: %s want %s\n", tok, l.literal)
-		}
-	}
-
-}
-
-func TestError(t *testing.T) {
-	testError(t, "\x80", "1:1", "illegal UTF-8 encoding", token.ILLEGAL)
-	testError(t, "\xff", "1:1", "illegal UTF-8 encoding", token.ILLEGAL)
-
-	testError(t, `"ab`+"\x80", "1:4", "illegal UTF-8 encoding", token.STRING)
-	testError(t, `"abc`+"\xff", "1:5", "illegal UTF-8 encoding", token.STRING)
-
-	testError(t, `01238`, "1:7", "numbers cannot start with 0", token.NUMBER)
-	testError(t, `01238123`, "1:10", "numbers cannot start with 0", token.NUMBER)
-	testError(t, `'aa'`, "1:1", "illegal char: '", token.ILLEGAL)
-
-	testError(t, `"`, "1:2", "literal not terminated", token.STRING)
-	testError(t, `"abc`, "1:5", "literal not terminated", token.STRING)
-	testError(t, `"abc`+"\n", "1:5", "literal not terminated", token.STRING)
-}
-
-func testError(t *testing.T, src, pos, msg string, tok token.Type) {
-	s := New([]byte(src))
-
-	errorCalled := false
-	s.Error = func(p token.Pos, m string) {
-		if !errorCalled {
-			if pos != p.String() {
-				t.Errorf("pos = %q, want %q for %q", p, pos, src)
-			}
-
-			if m != msg {
-				t.Errorf("msg = %q, want %q for %q", m, msg, src)
-			}
-			errorCalled = true
-		}
-	}
-
-	tk := s.Scan()
-	if tk.Type != tok {
-		t.Errorf("tok = %s, want %s for %q", tk, tok, src)
-	}
-	if !errorCalled {
-		t.Errorf("error handler not called for %q", src)
-	}
-	if s.ErrorCount == 0 {
-		t.Errorf("count = %d, want > 0 for %q", s.ErrorCount, src)
-	}
-}
-
-func testTokenList(t *testing.T, tokenList []tokenPair) {
-	// create artifical source code
-	buf := new(bytes.Buffer)
-	for _, ident := range tokenList {
-		fmt.Fprintf(buf, "%s\n", ident.text)
-	}
-
-	s := New(buf.Bytes())
-	for _, ident := range tokenList {
-		tok := s.Scan()
-		if tok.Type != ident.tok {
-			t.Errorf("tok = %q want %q for %q\n", tok, ident.tok, ident.text)
-		}
-
-		if tok.Text != ident.text {
-			t.Errorf("text = %q want %q", tok.String(), ident.text)
-		}
-
-	}
-}
-
-func countNewlines(s string) int {
-	n := 0
-	for _, ch := range s {
-		if ch == '\n' {
-			n++
-		}
-	}
-	return n
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json
deleted file mode 100644
index e320f17..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/array.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"foo": [1, 2, "bar"],
-	"bar": "baz"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json
deleted file mode 100644
index b54bde9..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/basic.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-	"foo": "bar"
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json
deleted file mode 100644
index 72168a3..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/object.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"foo": {
-		"bar": [1,2]
-	}
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json
deleted file mode 100644
index 9a142a6..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/test-fixtures/types.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-	"foo": "bar",
-	"bar": 7,
-	"baz": [1,2,3],
-	"foo": -12,
-	"bar": 3.14159,
-    "foo": true,
-    "bar": false,
-    "foo": null
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/4ae9684f/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go b/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go
deleted file mode 100644
index 59c1bb7..0000000
--- a/newt/Godeps/_workspace/src/github.com/hashicorp/hcl/json/token/position.go
+++ /dev/null
@@ -1,46 +0,0 @@
-package token
-
-import "fmt"
-
-// Pos describes an arbitrary source position
-// including the file, line, and column location.
-// A Position is valid if the line number is > 0.
-type Pos struct {
-	Filename string // filename, if any
-	Offset   int    // offset, starting at 0
-	Line     int    // line number, starting at 1
-	Column   int    // column number, starting at 1 (character count)
-}
-
-// IsValid returns true if the position is valid.
-func (p *Pos) IsValid() bool { return p.Line > 0 }
-
-// String returns a string in one of several forms:
-//
-//	file:line:column    valid position with file name
-//	line:column         valid position without file name
-//	file                invalid position with file name
-//	-                   invalid position without file name
-func (p Pos) String() string {
-	s := p.Filename
-	if p.IsValid() {
-		if s != "" {
-			s += ":"
-		}
-		s += fmt.Sprintf("%d:%d", p.Line, p.Column)
-	}
-	if s == "" {
-		s = "-"
-	}
-	return s
-}
-
-// Before reports whether the position p is before u.
-func (p Pos) Before(u Pos) bool {
-	return u.Offset > p.Offset || u.Line > p.Line
-}
-
-// After reports whether the position p is after u.
-func (p Pos) After(u Pos) bool {
-	return u.Offset < p.Offset || u.Line < p.Line
-}