Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
4b709e84
Commit
4b709e84
authored
Jul 24, 2017
by
Dr. Stefan Schimanski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kube-gen: unify update-codecgen.sh scripts
parent
34397721
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
177 additions
and
48 deletions
+177
-48
.golint_failures
hack/.golint_failures
+12
-0
update-codegen.sh
hack/update-codegen.sh
+1
-1
verify-codegen.sh
hack/verify-codegen.sh
+1
-0
main.go
staging/src/k8s.io/kube-gen/cmd/client-gen/main.go
+23
-41
update-codegen.sh
staging/src/k8s.io/kube-gen/hack/update-codegen.sh
+75
-0
verify-codegen.sh
staging/src/k8s.io/kube-gen/hack/verify-codegen.sh
+49
-0
register.go
staging/src/k8s.io/kube-gen/test/apis/testgroup/register.go
+5
-0
register.go
...ng/src/k8s.io/kube-gen/test/apis/testgroup/v1/register.go
+5
-0
clientset_test.go
...k8s.io/kube-gen/test/clientset/internal/clientset_test.go
+1
-1
update-codegen.sh
staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh
+5
-5
No files found.
hack/.golint_failures
View file @
4b709e84
...
...
@@ -779,6 +779,18 @@ staging/src/k8s.io/kube-gen/cmd/informer-gen/generators
staging/src/k8s.io/kube-gen/cmd/lister-gen/generators
staging/src/k8s.io/kube-gen/test/apis/testgroup
staging/src/k8s.io/kube-gen/test/apis/testgroup/v1
staging/src/k8s.io/kube-gen/test/clientset/internal
staging/src/k8s.io/kube-gen/test/clientset/internal/fake
staging/src/k8s.io/kube-gen/test/clientset/internal/scheme
staging/src/k8s.io/kube-gen/test/clientset/internal/typed/testgroup/internalversion
staging/src/k8s.io/kube-gen/test/clientset/internal/typed/testgroup/internalversion/fake
staging/src/k8s.io/kube-gen/test/clientset/versioned
staging/src/k8s.io/kube-gen/test/clientset/versioned/fake
staging/src/k8s.io/kube-gen/test/clientset/versioned/scheme
staging/src/k8s.io/kube-gen/test/clientset/versioned/typed/testgroup/v1
staging/src/k8s.io/kube-gen/test/clientset/versioned/typed/testgroup/v1/fake
staging/src/k8s.io/kube-gen/test/informers/externalversions/internalinterfaces
staging/src/k8s.io/kube-gen/test/informers/internalversion/internalinterfaces
staging/src/k8s.io/metrics/pkg/apis/custom_metrics
staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1alpha1
staging/src/k8s.io/metrics/pkg/apis/metrics
...
...
hack/update-codegen.sh
View file @
4b709e84
...
...
@@ -60,7 +60,6 @@ GV_DIRS_CSV=$(IFS=',';echo "${GV_DIRS[*]// /,}";IFS=$)
# This can be called with one flag, --verify-only, so it works for both the
# update- and verify- scripts.
${
clientgen
}
"
$@
"
${
clientgen
}
-t
"
$@
"
--output-base
"
${
KUBE_ROOT
}
/vendor"
${
clientgen
}
--output-base
"
${
KUBE_ROOT
}
/vendor"
--clientset-path
=
"k8s.io/client-go"
--clientset-name
=
"kubernetes"
--input-base
=
"k8s.io/kubernetes/vendor/k8s.io/api"
--input
=
"
${
GV_DIRS_CSV
}
"
"
$@
"
# Clientgen for federation clientset.
${
clientgen
}
--clientset-name
=
federation_clientset
--clientset-path
=
k8s.io/kubernetes/federation/client/clientset_generated
--input-base
=
"k8s.io/kubernetes/vendor/k8s.io/api"
--input
=
"../../../federation/apis/federation/v1beta1"
,
"core/v1"
,
"extensions/v1beta1"
,
"batch/v1"
,
"autoscaling/v1"
--included-types-overrides
=
"core/v1/Service,core/v1/Namespace,extensions/v1beta1/ReplicaSet,core/v1/Secret,extensions/v1beta1/Ingress,extensions/v1beta1/Deployment,extensions/v1beta1/DaemonSet,core/v1/ConfigMap,core/v1/Event,batch/v1/Job,autoscaling/v1/HorizontalPodAutoscaler"
"
$@
"
...
...
@@ -123,6 +122,7 @@ ${informergen} \
# You may add additional calls of code generators like set-gen above.
# call generation on sub-project for now
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/kube-gen/hack/update-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/kube-aggregator/hack/update-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/sample-apiserver/hack/update-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/apiextensions-apiserver/hack/update-codegen.sh
...
...
hack/verify-codegen.sh
View file @
4b709e84
...
...
@@ -27,6 +27,7 @@ kube::golang::setup_env
#
# Note: these must be before the main script call because the later calls the sub-project's
# update-codegen.sh scripts. We wouldn't see any error on changes then.
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/kube-gen/hack/verify-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/kube-aggregator/hack/verify-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/sample-apiserver/hack/verify-codegen.sh
KUBEGEN_PKG
=
./vendor/k8s.io/kube-gen vendor/k8s.io/apiextensions-apiserver/hack/verify-codegen.sh
...
...
staging/src/k8s.io/kube-gen/cmd/client-gen/main.go
View file @
4b709e84
...
...
@@ -33,7 +33,6 @@ import (
)
var
(
test
=
flag
.
BoolP
(
"test"
,
"t"
,
false
,
"set this flag to generate the client code for the testdata"
)
inputVersions
=
flag
.
StringSlice
(
"input"
,
[]
string
{
"api/"
,
"admissionregistration/"
,
...
...
@@ -170,47 +169,30 @@ func main() {
"k8s.io/apimachinery/pkg/apimachinery/registered"
,
}
if
*
test
{
arguments
.
InputDirs
=
append
(
dependencies
,
[]
string
{
"k8s.io/kube-gen/test/apis/testgroup"
,
}
...
)
arguments
.
CustomArgs
=
clientgenargs
.
Args
{
Groups
:
[]
types
.
GroupVersions
{{
Group
:
"testgroup"
,
Versions
:
[]
types
.
Version
{
""
}}},
GroupVersionToInputPath
:
map
[
types
.
GroupVersion
]
string
{
{
Group
:
"testgroup"
,
Version
:
""
}
:
"k8s.io/kube-gen/test/apis/testgroup"
,
},
ClientsetName
:
"test_internalclientset"
,
ClientsetOutputPath
:
"k8s.io/kube-gen/test/clientset/internal"
,
ClientsetOnly
:
false
,
FakeClient
:
true
,
CmdArgs
:
cmdArgs
,
}
}
else
{
inputPath
,
groups
,
gvToPath
,
err
:=
parseInputVersions
()
if
err
!=
nil
{
glog
.
Fatalf
(
"Error: %v"
,
err
)
}
includedTypesOverrides
,
err
:=
parseIncludedTypesOverrides
()
if
err
!=
nil
{
glog
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
glog
.
V
(
3
)
.
Infof
(
"going to generate clientset from these input paths: %v"
,
inputPath
)
arguments
.
InputDirs
=
append
(
inputPath
,
dependencies
...
)
arguments
.
CustomArgs
=
clientgenargs
.
Args
{
Groups
:
groups
,
GroupVersionToInputPath
:
gvToPath
,
ClientsetName
:
*
clientsetName
,
ClientsetAPIPath
:
*
clientsetAPIPath
,
ClientsetOutputPath
:
*
clientsetPath
,
ClientsetOnly
:
*
clientsetOnly
,
FakeClient
:
*
fakeClient
,
CmdArgs
:
cmdArgs
,
IncludedTypesOverrides
:
includedTypesOverrides
,
}
glog
.
V
(
3
)
.
Infof
(
"==arguments: %v
\n
"
,
arguments
)
inputPath
,
groups
,
gvToPath
,
err
:=
parseInputVersions
()
if
err
!=
nil
{
glog
.
Fatalf
(
"Error: %v"
,
err
)
}
includedTypesOverrides
,
err
:=
parseIncludedTypesOverrides
()
if
err
!=
nil
{
glog
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
glog
.
V
(
3
)
.
Infof
(
"going to generate clientset from these input paths: %v"
,
inputPath
)
arguments
.
InputDirs
=
append
(
inputPath
,
dependencies
...
)
arguments
.
CustomArgs
=
clientgenargs
.
Args
{
Groups
:
groups
,
GroupVersionToInputPath
:
gvToPath
,
ClientsetName
:
*
clientsetName
,
ClientsetAPIPath
:
*
clientsetAPIPath
,
ClientsetOutputPath
:
*
clientsetPath
,
ClientsetOnly
:
*
clientsetOnly
,
FakeClient
:
*
fakeClient
,
CmdArgs
:
cmdArgs
,
IncludedTypesOverrides
:
includedTypesOverrides
,
}
glog
.
V
(
3
)
.
Infof
(
"==arguments: %v
\n
"
,
arguments
)
if
err
:=
arguments
.
Execute
(
generators
.
NameSystems
(),
...
...
staging/src/k8s.io/kube-gen/hack/update-codegen.sh
0 → 100755
View file @
4b709e84
#!/bin/bash
# Copyright 2017 The Kubernetes 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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
SCRIPT_PACKAGE
=
k8s.io/kube-gen
SCRIPT_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
SCRIPT_BASE
=
${
SCRIPT_ROOT
}
/../..
KUBEGEN_PKG
=
${
KUBEGEN_PKG
:-$(
ls
-d
-1
./vendor/k8s.io/kube-gen 2>/dev/null
||
echo
"k8s.io/kube-gen"
)}
clientgen
=
"
${
PWD
}
/client-gen-binary"
listergen
=
"
${
PWD
}
/lister-gen"
informergen
=
"
${
PWD
}
/informer-gen"
# Register function to be called on EXIT to remove generated binary.
function
cleanup
{
rm
-f
"
${
clientgen
:-}
"
rm
-f
"
${
listergen
:-}
"
rm
-f
"
${
informergen
:-}
"
}
trap
cleanup EXIT
function
generate_group
()
{
local
GROUP_NAME
=
$1
local
VERSION
=
$2
local
CLIENT_PKG
=
${
SCRIPT_PACKAGE
}
/test/clientset
local
LISTERS_PKG
=
${
SCRIPT_PACKAGE
}
/test/listers
local
INFORMERS_PKG
=
${
SCRIPT_PACKAGE
}
/test/informers
local
APIS_PKG
=
${
SCRIPT_PACKAGE
}
/test/apis
local
INPUT_APIS
=(
${
GROUP_NAME
}
/
${
GROUP_NAME
}
/
${
VERSION
}
)
echo
"Building client-gen"
go build
-o
"
${
clientgen
}
"
${
KUBEGEN_PKG
}
/cmd/client-gen
echo
"generating clientset for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
CLIENT_PKG
}
"
${
clientgen
}
--clientset-name
=
"internal"
--input-base
${
APIS_PKG
}
--input
${
INPUT_APIS
[@]
}
--clientset-path
${
CLIENT_PKG
}
--output-base
=
${
SCRIPT_BASE
}
${
clientgen
}
--clientset-name
=
"versioned"
--input-base
${
APIS_PKG
}
--input
${
GROUP_NAME
}
/
${
VERSION
}
--clientset-path
${
CLIENT_PKG
}
--output-base
=
${
SCRIPT_BASE
}
echo
"Building lister-gen"
go build
-o
"
${
listergen
}
"
${
KUBEGEN_PKG
}
/cmd/lister-gen
echo
"generating listers for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
LISTERS_PKG
}
"
${
listergen
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
/
${
VERSION
}
--output-package
${
LISTERS_PKG
}
--output-base
${
SCRIPT_BASE
}
echo
"Building informer-gen"
go build
-o
"
${
informergen
}
"
${
KUBEGEN_PKG
}
/cmd/informer-gen
echo
"generating informers for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
INFORMERS_PKG
}
"
${
informergen
}
\
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
/
${
VERSION
}
\
--versioned-clientset-package
${
CLIENT_PKG
}
/versioned
\
--internal-clientset-package
${
CLIENT_PKG
}
/internal
\
--listers-package
${
LISTERS_PKG
}
\
--output-package
${
INFORMERS_PKG
}
\
--output-base
${
SCRIPT_BASE
}
}
generate_group testgroup v1
staging/src/k8s.io/kube-gen/hack/verify-codegen.sh
0 → 100755
View file @
4b709e84
#!/bin/bash
# Copyright 2017 The Kubernetes 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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
SCRIPT_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
SCRIPT_BASE
=
${
SCRIPT_ROOT
}
/../..
DIFFROOT
=
"
${
SCRIPT_ROOT
}
/test"
TMP_DIFFROOT
=
"
${
SCRIPT_ROOT
}
/_tmp/test"
_tmp
=
"
${
SCRIPT_ROOT
}
/_tmp"
cleanup
()
{
rm
-rf
"
${
_tmp
}
"
}
trap
"cleanup"
EXIT SIGINT
cleanup
mkdir
-p
"
${
TMP_DIFFROOT
}
"
cp
-a
"
${
DIFFROOT
}
"
/
*
"
${
TMP_DIFFROOT
}
"
"
${
SCRIPT_ROOT
}
/hack/update-codegen.sh"
echo
"diffing
${
DIFFROOT
}
against freshly generated codegen"
ret
=
0
diff
-Naupr
"
${
DIFFROOT
}
"
"
${
TMP_DIFFROOT
}
"
||
ret
=
$?
cp
-a
"
${
TMP_DIFFROOT
}
"
/
*
"
${
DIFFROOT
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
DIFFROOT
}
up to date."
else
echo
"
${
DIFFROOT
}
is out of date. Please run hack/update-codegen.sh"
exit
1
fi
staging/src/k8s.io/kube-gen/test/apis/testgroup/register.go
View file @
4b709e84
...
...
@@ -28,6 +28,11 @@ var (
AddToScheme
=
SchemeBuilder
.
AddToScheme
)
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func
Resource
(
resource
string
)
schema
.
GroupResource
{
return
SchemeGroupVersion
.
WithResource
(
resource
)
.
GroupResource
()
}
// Adds the list of known types to api.Scheme.
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
...
...
staging/src/k8s.io/kube-gen/test/apis/testgroup/v1/register.go
View file @
4b709e84
...
...
@@ -39,6 +39,11 @@ func init() {
localSchemeBuilder
.
Register
(
addKnownTypes
)
}
// Resource takes an unqualified resource and returns a Group qualified GroupResource
func
Resource
(
resource
string
)
schema
.
GroupResource
{
return
SchemeGroupVersion
.
WithResource
(
resource
)
.
GroupResource
()
}
// Adds the list of known types to api.Scheme.
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
error
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
...
...
staging/src/k8s.io/kube-gen/test/clientset/internal/clientset_test.go
View file @
4b709e84
...
...
@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
package
test_internalclientset
package
internal
import
(
"testing"
...
...
staging/src/k8s.io/sample-apiserver/hack/update-codegen.sh
View file @
4b709e84
...
...
@@ -40,7 +40,7 @@ function generate_group() {
local
CLIENT_PKG
=
${
SCRIPT_PACKAGE
}
/pkg/client
local
LISTERS_PKG
=
${
CLIENT_PKG
}
/listers_generated
local
INFORMERS_PKG
=
${
CLIENT_PKG
}
/informers_generated
local
PREFIX
=
${
SCRIPT_PACKAGE
}
/pkg/apis
local
APIS_PKG
=
${
SCRIPT_PACKAGE
}
/pkg/apis
local
INPUT_APIS
=(
${
GROUP_NAME
}
/
${
GROUP_NAME
}
/
${
VERSION
}
...
...
@@ -50,21 +50,21 @@ function generate_group() {
go build
-o
"
${
clientgen
}
"
${
KUBEGEN_PKG
}
/cmd/client-gen
echo
"generating clientset for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
CLIENT_PKG
}
"
${
clientgen
}
--input-base
${
PREFIX
}
--input
${
INPUT_APIS
[@]
}
--clientset-path
${
CLIENT_PKG
}
/clientset_generated
--output-base
=
${
SCRIPT_BASE
}
${
clientgen
}
--clientset-name
=
"clientset"
--input-base
${
PREFIX
}
--input
${
GROUP_NAME
}
/
${
VERSION
}
--clientset-path
${
CLIENT_PKG
}
/clientset_generated
--output-base
=
${
SCRIPT_BASE
}
${
clientgen
}
--input-base
${
APIS_PKG
}
--input
${
INPUT_APIS
[@]
}
--clientset-path
${
CLIENT_PKG
}
/clientset_generated
--output-base
=
${
SCRIPT_BASE
}
${
clientgen
}
--clientset-name
=
"clientset"
--input-base
${
APIS_PKG
}
--input
${
GROUP_NAME
}
/
${
VERSION
}
--clientset-path
${
CLIENT_PKG
}
/clientset_generated
--output-base
=
${
SCRIPT_BASE
}
echo
"Building lister-gen"
go build
-o
"
${
listergen
}
"
${
KUBEGEN_PKG
}
/cmd/lister-gen
echo
"generating listers for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
LISTERS_PKG
}
"
${
listergen
}
--input-dirs
${
SCRIPT_PACKAGE
}
/pkg/apis/wardle
--input-dirs
${
SCRIPT_PACKAGE
}
/pkg/apis
/
${
GROUP_NAME
}
/
${
VERSION
}
--output-package
${
LISTERS_PKG
}
--output-base
${
SCRIPT_BASE
}
${
listergen
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
/
${
VERSION
}
--output-package
${
LISTERS_PKG
}
--output-base
${
SCRIPT_BASE
}
echo
"Building informer-gen"
go build
-o
"
${
informergen
}
"
${
KUBEGEN_PKG
}
/cmd/informer-gen
echo
"generating informers for group
${
GROUP_NAME
}
and version
${
VERSION
}
at
${
SCRIPT_BASE
}
/
${
INFORMERS_PKG
}
"
${
informergen
}
\
--input-dirs
${
SCRIPT_PACKAGE
}
/pkg/apis/
${
GROUP_NAME
}
--input-dirs
${
SCRIPT_PACKAGE
}
/pkg/apis
/
${
GROUP_NAME
}
/
${
VERSION
}
\
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
--input-dirs
${
APIS_PKG
}
/
${
GROUP_NAME
}
/
${
VERSION
}
\
--versioned-clientset-package
${
CLIENT_PKG
}
/clientset_generated/clientset
\
--internal-clientset-package
${
CLIENT_PKG
}
/clientset_generated/internalclientset
\
--listers-package
${
LISTERS_PKG
}
\
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment