mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-10-31 16:13:45 +08:00 
			
		
		
		
	vendor: hashicorp/hcl v2.6.0
full diff: https://github.com/hashicorp/hcl/compare/v2.4.0...v2.6.0 v2.6.0 ------------------------- Enhancements: - hcldec: Add a new Spec, ValidateSpec, which allows custom validation of values at decode-time. Bugs Fixed: - hclsyntax: Fix panic with combination of sequences and null arguments - hclsyntax: Fix handling of unknown values and sequences v2.5.1 ------------------------- - hclwrite: handle legacy dot access of numeric indexes. (#369) - hclwrite: Fix panic for dotted full splat (foo.*) v2.5.0 ------------------------- - hclwrite: Generate multi-line objects and maps. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							| @@ -30,7 +30,7 @@ require ( | |||||||
| 	github.com/googleapis/gnostic v0.3.1 // indirect | 	github.com/googleapis/gnostic v0.3.1 // indirect | ||||||
| 	github.com/gophercloud/gophercloud v0.6.0 // indirect | 	github.com/gophercloud/gophercloud v0.6.0 // indirect | ||||||
| 	github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect | 	github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect | ||||||
| 	github.com/hashicorp/hcl/v2 v2.4.0 | 	github.com/hashicorp/hcl/v2 v2.6.0 | ||||||
| 	github.com/jinzhu/gorm v1.9.2 // indirect | 	github.com/jinzhu/gorm v1.9.2 // indirect | ||||||
| 	github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a // indirect | 	github.com/jinzhu/inflection v0.0.0-20180308033659-04140366298a // indirect | ||||||
| 	github.com/jinzhu/now v1.0.0 // indirect | 	github.com/jinzhu/now v1.0.0 // indirect | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							| @@ -273,8 +273,8 @@ github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+ | |||||||
| github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= | ||||||
| github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= | ||||||
| github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= | ||||||
| github.com/hashicorp/hcl/v2 v2.4.0 h1:xwVa1aj4nCSoAjUnFPBAIfqlzPgSZEVMdkJv/mgj4jY= | github.com/hashicorp/hcl/v2 v2.6.0 h1:3krZOfGY6SziUXa6H9PJU6TyohHn7I+ARYnhbeNBz+o= | ||||||
| github.com/hashicorp/hcl/v2 v2.4.0/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= | github.com/hashicorp/hcl/v2 v2.6.0/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= | ||||||
| github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= | github.com/hashicorp/uuid v0.0.0-20160311170451-ebb0a03e909c/go.mod h1:fHzc09UnyJyqyW+bFuq864eh+wC7dj65aXmXLRe5to0= | ||||||
| github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= | ||||||
| github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,5 +1,29 @@ | |||||||
| # HCL Changelog | # HCL Changelog | ||||||
|  |  | ||||||
|  | ## v2.6.0 (June 4, 2020) | ||||||
|  |  | ||||||
|  | ### Enhancements | ||||||
|  |  | ||||||
|  | * hcldec: Add a new `Spec`, `ValidateSpec`, which allows custom validation of values at decode-time. ([#387](https://github.com/hashicorp/hcl/pull/387)) | ||||||
|  |  | ||||||
|  | ### Bugs Fixed | ||||||
|  |  | ||||||
|  | * hclsyntax: Fix panic with combination of sequences and null arguments ([#386](https://github.com/hashicorp/hcl/pull/386)) | ||||||
|  | * hclsyntax: Fix handling of unknown values and sequences ([#386](https://github.com/hashicorp/hcl/pull/386)) | ||||||
|  |  | ||||||
|  | ## v2.5.1 (May 14, 2020) | ||||||
|  |  | ||||||
|  | ### Bugs Fixed | ||||||
|  |  | ||||||
|  | * hclwrite: handle legacy dot access of numeric indexes. ([#369](https://github.com/hashicorp/hcl/pull/369)) | ||||||
|  | * hclwrite: Fix panic for dotted full splat (`foo.*`) ([#374](https://github.com/hashicorp/hcl/pull/374)) | ||||||
|  |  | ||||||
|  | ## v2.5.0 (May 6, 2020) | ||||||
|  |  | ||||||
|  | ### Enhancements | ||||||
|  |  | ||||||
|  | * hclwrite: Generate multi-line objects and maps. ([#372](https://github.com/hashicorp/hcl/pull/372)) | ||||||
|  |  | ||||||
| ## v2.4.0 (Apr 13, 2020) | ## v2.4.0 (Apr 13, 2020) | ||||||
|  |  | ||||||
| ### Enhancements | ### Enhancements | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								vendor/github.com/hashicorp/hcl/v2/diagnostic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/hashicorp/hcl/v2/diagnostic.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -22,14 +22,14 @@ const ( | |||||||
| ) | ) | ||||||
|  |  | ||||||
| // Diagnostic represents information to be presented to a user about an | // Diagnostic represents information to be presented to a user about an | ||||||
| // error or anomoly in parsing or evaluating configuration. | // error or anomaly in parsing or evaluating configuration. | ||||||
| type Diagnostic struct { | type Diagnostic struct { | ||||||
| 	Severity DiagnosticSeverity | 	Severity DiagnosticSeverity | ||||||
|  |  | ||||||
| 	// Summary and Detail contain the English-language description of the | 	// Summary and Detail contain the English-language description of the | ||||||
| 	// problem. Summary is a terse description of the general problem and | 	// problem. Summary is a terse description of the general problem and | ||||||
| 	// detail is a more elaborate, often-multi-sentence description of | 	// detail is a more elaborate, often-multi-sentence description of | ||||||
| 	// the probem and what might be done to solve it. | 	// the problem and what might be done to solve it. | ||||||
| 	Summary string | 	Summary string | ||||||
| 	Detail  string | 	Detail  string | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										61
									
								
								vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										61
									
								
								vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -260,6 +260,20 @@ func (e *FunctionCallExpr) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnosti | |||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		switch { | 		switch { | ||||||
|  | 		case expandVal.Type().Equals(cty.DynamicPseudoType): | ||||||
|  | 			if expandVal.IsNull() { | ||||||
|  | 				diags = append(diags, &hcl.Diagnostic{ | ||||||
|  | 					Severity:    hcl.DiagError, | ||||||
|  | 					Summary:     "Invalid expanding argument value", | ||||||
|  | 					Detail:      "The expanding argument (indicated by ...) must not be null.", | ||||||
|  | 					Subject:     expandExpr.Range().Ptr(), | ||||||
|  | 					Context:     e.Range().Ptr(), | ||||||
|  | 					Expression:  expandExpr, | ||||||
|  | 					EvalContext: ctx, | ||||||
|  | 				}) | ||||||
|  | 				return cty.DynamicVal, diags | ||||||
|  | 			} | ||||||
|  | 			return cty.DynamicVal, diags | ||||||
| 		case expandVal.Type().IsTupleType() || expandVal.Type().IsListType() || expandVal.Type().IsSetType(): | 		case expandVal.Type().IsTupleType() || expandVal.Type().IsListType() || expandVal.Type().IsSetType(): | ||||||
| 			if expandVal.IsNull() { | 			if expandVal.IsNull() { | ||||||
| 				diags = append(diags, &hcl.Diagnostic{ | 				diags = append(diags, &hcl.Diagnostic{ | ||||||
| @@ -406,22 +420,39 @@ func (e *FunctionCallExpr) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnosti | |||||||
| 			} else { | 			} else { | ||||||
| 				param = varParam | 				param = varParam | ||||||
| 			} | 			} | ||||||
| 			argExpr := e.Args[i] |  | ||||||
|  |  | ||||||
| 			// TODO: we should also unpick a PathError here and show the | 			// this can happen if an argument is (incorrectly) null. | ||||||
| 			// path to the deep value where the error was detected. | 			if i > len(e.Args)-1 { | ||||||
| 			diags = append(diags, &hcl.Diagnostic{ | 				diags = append(diags, &hcl.Diagnostic{ | ||||||
| 				Severity: hcl.DiagError, | 					Severity: hcl.DiagError, | ||||||
| 				Summary:  "Invalid function argument", | 					Summary:  "Invalid function argument", | ||||||
| 				Detail: fmt.Sprintf( | 					Detail: fmt.Sprintf( | ||||||
| 					"Invalid value for %q parameter: %s.", | 						"Invalid value for %q parameter: %s.", | ||||||
| 					param.Name, err, | 						param.Name, err, | ||||||
| 				), | 					), | ||||||
| 				Subject:     argExpr.StartRange().Ptr(), | 					Subject:     args[len(params)].StartRange().Ptr(), | ||||||
| 				Context:     e.Range().Ptr(), | 					Context:     e.Range().Ptr(), | ||||||
| 				Expression:  argExpr, | 					Expression:  e, | ||||||
| 				EvalContext: ctx, | 					EvalContext: ctx, | ||||||
| 			}) | 				}) | ||||||
|  | 			} else { | ||||||
|  | 				argExpr := e.Args[i] | ||||||
|  |  | ||||||
|  | 				// TODO: we should also unpick a PathError here and show the | ||||||
|  | 				// path to the deep value where the error was detected. | ||||||
|  | 				diags = append(diags, &hcl.Diagnostic{ | ||||||
|  | 					Severity: hcl.DiagError, | ||||||
|  | 					Summary:  "Invalid function argument", | ||||||
|  | 					Detail: fmt.Sprintf( | ||||||
|  | 						"Invalid value for %q parameter: %s.", | ||||||
|  | 						param.Name, err, | ||||||
|  | 					), | ||||||
|  | 					Subject:     argExpr.StartRange().Ptr(), | ||||||
|  | 					Context:     e.Range().Ptr(), | ||||||
|  | 					Expression:  argExpr, | ||||||
|  | 					EvalContext: ctx, | ||||||
|  | 				}) | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 		default: | 		default: | ||||||
| 			diags = append(diags, &hcl.Diagnostic{ | 			diags = append(diags, &hcl.Diagnostic{ | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -670,6 +670,7 @@ Traversal: | |||||||
| 				trav := make(hcl.Traversal, 0, 1) | 				trav := make(hcl.Traversal, 0, 1) | ||||||
| 				var firstRange, lastRange hcl.Range | 				var firstRange, lastRange hcl.Range | ||||||
| 				firstRange = p.NextRange() | 				firstRange = p.NextRange() | ||||||
|  | 				lastRange = marker.Range | ||||||
| 				for p.Peek().Type == TokenDot { | 				for p.Peek().Type == TokenDot { | ||||||
| 					dot := p.Read() | 					dot := p.Read() | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								vendor/github.com/hashicorp/hcl/v2/hclwrite/generate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								vendor/github.com/hashicorp/hcl/v2/hclwrite/generate.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -119,15 +119,15 @@ func appendTokensForValue(val cty.Value, toks Tokens) Tokens { | |||||||
| 			Type:  hclsyntax.TokenOBrace, | 			Type:  hclsyntax.TokenOBrace, | ||||||
| 			Bytes: []byte{'{'}, | 			Bytes: []byte{'{'}, | ||||||
| 		}) | 		}) | ||||||
|  | 		if val.LengthInt() > 0 { | ||||||
|  | 			toks = append(toks, &Token{ | ||||||
|  | 				Type:  hclsyntax.TokenNewline, | ||||||
|  | 				Bytes: []byte{'\n'}, | ||||||
|  | 			}) | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		i := 0 | 		i := 0 | ||||||
| 		for it := val.ElementIterator(); it.Next(); { | 		for it := val.ElementIterator(); it.Next(); { | ||||||
| 			if i > 0 { |  | ||||||
| 				toks = append(toks, &Token{ |  | ||||||
| 					Type:  hclsyntax.TokenComma, |  | ||||||
| 					Bytes: []byte{','}, |  | ||||||
| 				}) |  | ||||||
| 			} |  | ||||||
| 			eKey, eVal := it.Element() | 			eKey, eVal := it.Element() | ||||||
| 			if hclsyntax.ValidIdentifier(eKey.AsString()) { | 			if hclsyntax.ValidIdentifier(eKey.AsString()) { | ||||||
| 				toks = append(toks, &Token{ | 				toks = append(toks, &Token{ | ||||||
| @@ -142,6 +142,10 @@ func appendTokensForValue(val cty.Value, toks Tokens) Tokens { | |||||||
| 				Bytes: []byte{'='}, | 				Bytes: []byte{'='}, | ||||||
| 			}) | 			}) | ||||||
| 			toks = appendTokensForValue(eVal, toks) | 			toks = appendTokensForValue(eVal, toks) | ||||||
|  | 			toks = append(toks, &Token{ | ||||||
|  | 				Type:  hclsyntax.TokenNewline, | ||||||
|  | 				Bytes: []byte{'\n'}, | ||||||
|  | 			}) | ||||||
| 			i++ | 			i++ | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								vendor/github.com/hashicorp/hcl/v2/hclwrite/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/hashicorp/hcl/v2/hclwrite/parser.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -88,6 +88,16 @@ func (it inputTokens) PartitionType(ty hclsyntax.TokenType) (before, within, aft | |||||||
| 	panic(fmt.Sprintf("didn't find any token of type %s", ty)) | 	panic(fmt.Sprintf("didn't find any token of type %s", ty)) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (it inputTokens) PartitionTypeOk(ty hclsyntax.TokenType) (before, within, after inputTokens, ok bool) { | ||||||
|  | 	for i, t := range it.writerTokens { | ||||||
|  | 		if t.Type == ty { | ||||||
|  | 			return it.Slice(0, i), it.Slice(i, i+1), it.Slice(i+1, len(it.nativeTokens)), true | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return inputTokens{}, inputTokens{}, inputTokens{}, false | ||||||
|  | } | ||||||
|  |  | ||||||
| func (it inputTokens) PartitionTypeSingle(ty hclsyntax.TokenType) (before inputTokens, found *Token, after inputTokens) { | func (it inputTokens) PartitionTypeSingle(ty hclsyntax.TokenType) (before inputTokens, found *Token, after inputTokens) { | ||||||
| 	before, within, after := it.PartitionType(ty) | 	before, within, after := it.PartitionType(ty) | ||||||
| 	if within.Len() != 1 { | 	if within.Len() != 1 { | ||||||
| @@ -404,6 +414,19 @@ func parseTraversalStep(nativeStep hcl.Traverser, from inputTokens) (before inpu | |||||||
| 		children = step.inTree.children | 		children = step.inTree.children | ||||||
| 		before, from, after = from.Partition(nativeStep.SourceRange()) | 		before, from, after = from.Partition(nativeStep.SourceRange()) | ||||||
|  |  | ||||||
|  | 		if inBefore, dot, from, ok := from.PartitionTypeOk(hclsyntax.TokenDot); ok { | ||||||
|  | 			children.AppendUnstructuredTokens(inBefore.Tokens()) | ||||||
|  | 			children.AppendUnstructuredTokens(dot.Tokens()) | ||||||
|  |  | ||||||
|  | 			valBefore, valToken, valAfter := from.PartitionTypeSingle(hclsyntax.TokenNumberLit) | ||||||
|  | 			children.AppendUnstructuredTokens(valBefore.Tokens()) | ||||||
|  | 			key := newNumber(valToken) | ||||||
|  | 			step.key = children.Append(key) | ||||||
|  | 			children.AppendUnstructuredTokens(valAfter.Tokens()) | ||||||
|  |  | ||||||
|  | 			return before, newNode(step), after | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		var inBefore, oBrack, keyTokens, cBrack inputTokens | 		var inBefore, oBrack, keyTokens, cBrack inputTokens | ||||||
| 		inBefore, oBrack, from = from.PartitionType(hclsyntax.TokenOBrack) | 		inBefore, oBrack, from = from.PartitionType(hclsyntax.TokenOBrack) | ||||||
| 		children.AppendUnstructuredTokens(inBefore.Tokens()) | 		children.AppendUnstructuredTokens(inBefore.Tokens()) | ||||||
| @@ -498,8 +521,8 @@ func writerTokens(nativeTokens hclsyntax.Tokens) Tokens { | |||||||
| // The tokens are assumed to be in source order and non-overlapping, which | // The tokens are assumed to be in source order and non-overlapping, which | ||||||
| // will be true if the token sequence from the scanner is used directly. | // will be true if the token sequence from the scanner is used directly. | ||||||
| func partitionTokens(toks hclsyntax.Tokens, rng hcl.Range) (start, end int) { | func partitionTokens(toks hclsyntax.Tokens, rng hcl.Range) (start, end int) { | ||||||
| 	// We us a linear search here because we assume tha in most cases our | 	// We use a linear search here because we assume that in most cases our | ||||||
| 	// target range is close to the beginning of the sequence, and the seqences | 	// target range is close to the beginning of the sequence, and the sequences | ||||||
| 	// are generally small for most reasonable files anyway. | 	// are generally small for most reasonable files anyway. | ||||||
| 	for i := 0; ; i++ { | 	for i := 0; ; i++ { | ||||||
| 		if i >= len(toks) { | 		if i >= len(toks) { | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							| @@ -208,7 +208,7 @@ github.com/gorilla/mux | |||||||
| github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc | github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc | ||||||
| # github.com/hashicorp/golang-lru v0.5.1 | # github.com/hashicorp/golang-lru v0.5.1 | ||||||
| github.com/hashicorp/golang-lru/simplelru | github.com/hashicorp/golang-lru/simplelru | ||||||
| # github.com/hashicorp/hcl/v2 v2.4.0 | # github.com/hashicorp/hcl/v2 v2.6.0 | ||||||
| github.com/hashicorp/hcl/v2 | github.com/hashicorp/hcl/v2 | ||||||
| github.com/hashicorp/hcl/v2/ext/customdecode | github.com/hashicorp/hcl/v2/ext/customdecode | ||||||
| github.com/hashicorp/hcl/v2/ext/userfunc | github.com/hashicorp/hcl/v2/ext/userfunc | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Sebastiaan van Stijn
					Sebastiaan van Stijn