diff --git a/cmd/kube-conversion/conversion.go b/cmd/kube-conversion/conversion.go index 58e0e884393..3a607c416b5 100644 --- a/cmd/kube-conversion/conversion.go +++ b/cmd/kube-conversion/conversion.go @@ -34,7 +34,6 @@ import ( var ( functionDest = flag.StringP("funcDest", "f", "-", "Output for conversion functions; '-' means stdout") - namesDest = flag.StringP("nameDest", "n", "-", "Output for function names; '-' means stdout") version = flag.StringP("version", "v", "v1beta3", "Version for conversion.") ) @@ -53,21 +52,11 @@ func main() { defer file.Close() funcOut = file } - var nameOut io.Writer - if *namesDest == "-" { - nameOut = os.Stdout - } else { - file, err := os.Create(*namesDest) - if err != nil { - glog.Fatalf("Couldn't open %v: %v", *functionDest, err) - } - defer file.Close() - nameOut = file - } generator := pkg_runtime.NewConversionGenerator(api.Scheme.Raw()) // TODO(wojtek-t): Change the overwrites to a flag. generator.OverwritePackage(*version, "") + // TODO(wojtek-t): Get rid of this overwrite. generator.OverwritePackage("api", "newer") for _, knownType := range api.Scheme.KnownTypes(*version) { if err := generator.GenerateConversionsForType(*version, knownType); err != nil { @@ -77,7 +66,7 @@ func main() { if err := generator.WriteConversionFunctions(funcOut); err != nil { glog.Fatalf("Error while writing conversion functions: %v", err) } - if err := generator.WriteConversionFunctionNames(nameOut); err != nil { + if err := generator.RegisterConversionFunctions(funcOut); err != nil { glog.Fatalf("Error while writing conversion functions: %v", err) } } diff --git a/hack/update-generated-conversions.sh b/hack/update-generated-conversions.sh new file mode 100755 index 00000000000..29030137192 --- /dev/null +++ b/hack/update-generated-conversions.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +# Copyright 2015 The Kubernetes Authors All rights reserved. +# +# 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. + +# Script to fetch latest swagger spec. +# Puts the updated spec at swagger-spec/ + +set -o errexit +set -o nounset +set -o pipefail + +function generate_version() { + local version=$1 + local TMPFILE="/tmp/conversion_generated.$(date +%s).go" + + echo "Generating for version ${version}" + + sed 's/YEAR/2015/' hooks/boilerplate.go.txt > $TMPFILE + cat >> $TMPFILE <> $TMPFILE + + cat >> $TMPFILE <