mirror of
				https://gitea.com/Lydanne/buildx.git
				synced 2025-11-01 00:23:56 +08:00 
			
		
		
		
	vendor: update compose-go to v2.0.0-rc.8
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										15
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/build.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -25,9 +25,6 @@ import ( | ||||
| func transformBuild(data any, p tree.Path) (any, error) { | ||||
| 	switch v := data.(type) { | ||||
| 	case map[string]any: | ||||
| 		if _, ok := v["context"]; !ok { | ||||
| 			v["context"] = "." // TODO(ndeloof) maybe we miss an explicit "set-defaults" loading phase | ||||
| 		} | ||||
| 		return transformMapping(v, p) | ||||
| 	case string: | ||||
| 		return map[string]any{ | ||||
| @@ -37,3 +34,15 @@ func transformBuild(data any, p tree.Path) (any, error) { | ||||
| 		return data, fmt.Errorf("%s: invalid type %T for build", p, v) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func defaultBuildContext(data any, _ tree.Path) (any, error) { | ||||
| 	switch v := data.(type) { | ||||
| 	case map[string]any: | ||||
| 		if _, ok := v["context"]; !ok { | ||||
| 			v["context"] = "." | ||||
| 		} | ||||
| 		return v, nil | ||||
| 	default: | ||||
| 		return data, nil | ||||
| 	} | ||||
| } | ||||
|   | ||||
							
								
								
									
										87
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| /* | ||||
|    Copyright 2020 The Compose Specification Authors. | ||||
|  | ||||
|    Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|    you may not use this file except in compliance with the License. | ||||
|    You may obtain a copy of the License at | ||||
|  | ||||
|        http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
|    Unless required by applicable law or agreed to in writing, software | ||||
|    distributed under the License is distributed on an "AS IS" BASIS, | ||||
|    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
|    See the License for the specific language governing permissions and | ||||
|    limitations under the License. | ||||
| */ | ||||
|  | ||||
| package transform | ||||
|  | ||||
| import ( | ||||
| 	"github.com/compose-spec/compose-go/v2/tree" | ||||
| ) | ||||
|  | ||||
| var defaultValues = map[tree.Path]transformFunc{} | ||||
|  | ||||
| func init() { | ||||
| 	defaultValues["services.*.build"] = defaultBuildContext | ||||
| 	defaultValues["services.*.secrets.*"] = defaultSecretMount | ||||
| } | ||||
|  | ||||
| // SetDefaultValues transforms a compose model to set default values to missing attributes | ||||
| func SetDefaultValues(yaml map[string]any) (map[string]any, error) { | ||||
| 	result, err := setDefaults(yaml, tree.NewPath()) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return result.(map[string]any), nil | ||||
| } | ||||
|  | ||||
| func setDefaults(data any, p tree.Path) (any, error) { | ||||
| 	for pattern, transformer := range defaultValues { | ||||
| 		if p.Matches(pattern) { | ||||
| 			t, err := transformer(data, p) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| 			return t, nil | ||||
| 		} | ||||
| 	} | ||||
| 	switch v := data.(type) { | ||||
| 	case map[string]any: | ||||
| 		a, err := setDefaultsMapping(v, p) | ||||
| 		if err != nil { | ||||
| 			return a, err | ||||
| 		} | ||||
| 		return v, nil | ||||
| 	case []any: | ||||
| 		a, err := setDefaultsSequence(v, p) | ||||
| 		if err != nil { | ||||
| 			return a, err | ||||
| 		} | ||||
| 		return v, nil | ||||
| 	default: | ||||
| 		return data, nil | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func setDefaultsSequence(v []any, p tree.Path) ([]any, error) { | ||||
| 	for i, e := range v { | ||||
| 		t, err := setDefaults(e, p.Next("[]")) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		v[i] = t | ||||
| 	} | ||||
| 	return v, nil | ||||
| } | ||||
|  | ||||
| func setDefaultsMapping(v map[string]any, p tree.Path) (map[string]any, error) { | ||||
| 	for k, e := range v { | ||||
| 		t, err := setDefaults(e, p.Next(k)) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		v[k] = t | ||||
| 	} | ||||
| 	return v, nil | ||||
| } | ||||
							
								
								
									
										2
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/ports.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/ports.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -48,7 +48,7 @@ func transformPorts(data any, p tree.Path) (any, error) { | ||||
| 			case string: | ||||
| 				parsed, err := types.ParsePortConfig(value) | ||||
| 				if err != nil { | ||||
| 					return data, err | ||||
| 					return data, nil | ||||
| 				} | ||||
| 				if err != nil { | ||||
| 					return nil, err | ||||
|   | ||||
							
								
								
									
										13
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/secrets.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/compose-spec/compose-go/v2/transform/secrets.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -34,3 +34,16 @@ func transformFileMount(data any, p tree.Path) (any, error) { | ||||
| 		return nil, fmt.Errorf("%s: unsupported type %T", p, data) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func defaultSecretMount(data any, p tree.Path) (any, error) { | ||||
| 	switch v := data.(type) { | ||||
| 	case map[string]any: | ||||
| 		source := v["source"] | ||||
| 		if _, ok := v["target"]; !ok { | ||||
| 			v["target"] = fmt.Sprintf("/run/secrets/%s", source) | ||||
| 		} | ||||
| 		return v, nil | ||||
| 	default: | ||||
| 		return nil, fmt.Errorf("%s: unsupported type %T", p, data) | ||||
| 	} | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 CrazyMax
					CrazyMax