github.com/joelanford/operator-sdk@v0.8.2/internal/pkg/scaffold/gopkgtoml.go (about) 1 // Copyright 2018 The Operator-SDK Authors 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package scaffold 16 17 import ( 18 "fmt" 19 20 "github.com/operator-framework/operator-sdk/internal/pkg/scaffold/input" 21 "github.com/operator-framework/operator-sdk/internal/pkg/scaffold/internal/deps" 22 ) 23 24 const GopkgTomlFile = "Gopkg.toml" 25 26 type GopkgToml struct { 27 input.Input 28 } 29 30 func (s *GopkgToml) GetInput() (input.Input, error) { 31 if s.Path == "" { 32 s.Path = GopkgTomlFile 33 } 34 s.TemplateBody = gopkgTomlTmpl 35 return s.Input, nil 36 } 37 38 const gopkgTomlTmpl = `# Force dep to vendor the code generators, which aren't imported just used at dev time. 39 required = [ 40 "k8s.io/code-generator/cmd/deepcopy-gen", 41 "k8s.io/code-generator/cmd/conversion-gen", 42 "k8s.io/code-generator/cmd/client-gen", 43 "k8s.io/code-generator/cmd/lister-gen", 44 "k8s.io/code-generator/cmd/informer-gen", 45 "k8s.io/kube-openapi/cmd/openapi-gen", 46 "k8s.io/gengo/args", 47 "sigs.k8s.io/controller-tools/pkg/crd/generator", 48 ] 49 50 [[override]] 51 name = "k8s.io/code-generator" 52 # revision for tag "kubernetes-1.13.1" 53 revision = "c2090bec4d9b1fb25de3812f868accc2bc9ecbae" 54 55 [[override]] 56 name = "k8s.io/kube-openapi" 57 revision = "0cf8f7e6ed1d2e3d47d02e3b6e559369af24d803" 58 59 [[override]] 60 name = "github.com/go-openapi/spec" 61 branch = "master" 62 63 [[override]] 64 name = "sigs.k8s.io/controller-tools" 65 revision = "9d55346c2bde73fb3326ac22eac2e5210a730207" 66 67 [[override]] 68 name = "k8s.io/api" 69 # revision for tag "kubernetes-1.13.1" 70 revision = "05914d821849570fba9eacfb29466f2d8d3cd229" 71 72 [[override]] 73 name = "k8s.io/apiextensions-apiserver" 74 # revision for tag "kubernetes-1.13.1" 75 revision = "0fe22c71c47604641d9aa352c785b7912c200562" 76 77 [[override]] 78 name = "k8s.io/apimachinery" 79 # revision for tag "kubernetes-1.13.1" 80 revision = "2b1284ed4c93a43499e781493253e2ac5959c4fd" 81 82 [[override]] 83 name = "k8s.io/client-go" 84 # revision for tag "kubernetes-1.13.1" 85 revision = "8d9ed539ba3134352c586810e749e58df4e94e4f" 86 87 [[override]] 88 name = "github.com/coreos/prometheus-operator" 89 version = "=v0.29.0" 90 91 [[override]] 92 name = "sigs.k8s.io/controller-runtime" 93 version = "=v0.1.10" 94 95 [[constraint]] 96 name = "github.com/operator-framework/operator-sdk" 97 # The version rule is used for a specific release and the master branch for in between releases. 98 # branch = "v0.8.x" #osdk_branch_annotation 99 version = "=v0.8.2" #osdk_version_annotation 100 101 [prune] 102 go-tests = true 103 non-go = true 104 105 [[prune.project]] 106 name = "k8s.io/code-generator" 107 non-go = false 108 109 [[prune.project]] 110 name = "k8s.io/gengo" 111 non-go = false 112 ` 113 114 func PrintDepGopkgTOML(asFile bool) error { 115 if asFile { 116 _, err := fmt.Println(gopkgTomlTmpl) 117 return err 118 } 119 return deps.PrintDepGopkgTOML(gopkgTomlTmpl) 120 }