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
9fdd7935
Commit
9fdd7935
authored
Aug 11, 2015
by
CJ Cullen
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #11841 from eparis/commit-speed
Speedups for precommit hooks
parents
389b9657
bf9c3cd6
Show whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
501 additions
and
298 deletions
+501
-298
.gitignore
.gitignore
+1
-1
.travis.yml
.travis.yml
+1
-1
versionize-docs.sh
build/versionize-docs.sh
+1
-1
development.md
docs/devel/development.md
+1
-1
README.md
hack/after-build/README.md
+4
-0
update-generated-conversions.sh
hack/after-build/update-generated-conversions.sh
+57
-0
update-generated-deep-copies.sh
hack/after-build/update-generated-deep-copies.sh
+79
-0
update-generated-docs.sh
hack/after-build/update-generated-docs.sh
+1
-12
update-swagger-spec.sh
hack/after-build/update-swagger-spec.sh
+75
-0
verify-generated-conversions.sh
hack/after-build/verify-generated-conversions.sh
+47
-0
verify-generated-deep-copies.sh
hack/after-build/verify-generated-deep-copies.sh
+49
-0
verify-generated-docs.sh
hack/after-build/verify-generated-docs.sh
+5
-15
verify-linkcheck.sh
hack/after-build/verify-linkcheck.sh
+38
-0
verify-swagger-spec.sh
hack/after-build/verify-swagger-spec.sh
+49
-0
boilerplate.go.txt
hack/boilerplate/boilerplate.go.txt
+0
-0
boilerplate.py
hack/boilerplate/boilerplate.py
+0
-0
boilerplate.py.txt
hack/boilerplate/boilerplate.py.txt
+0
-0
boilerplate.sh.txt
hack/boilerplate/boilerplate.sh.txt
+0
-0
build-ui.sh
hack/build-ui.sh
+1
-1
etcd.sh
hack/lib/etcd.sh
+0
-1
util.sh
hack/lib/util.sh
+5
-1
update-generated-conversions.sh
hack/update-generated-conversions.sh
+3
-26
update-generated-deep-copies.sh
hack/update-generated-deep-copies.sh
+3
-48
update-generated-docs.sh
hack/update-generated-docs.sh
+12
-8
update-swagger-spec.sh
hack/update-swagger-spec.sh
+3
-42
verify-boilerplate.sh
hack/verify-boilerplate.sh
+1
-1
verify-description.sh
hack/verify-description.sh
+10
-5
verify-generated-conversions.sh
hack/verify-generated-conversions.sh
+2
-31
verify-generated-deep-copies.sh
hack/verify-generated-deep-copies.sh
+2
-31
verify-generated-docs.sh
hack/verify-generated-docs.sh
+30
-0
verify-linkcheck.sh
hack/verify-linkcheck.sh
+4
-20
verify-swagger-spec.sh
hack/verify-swagger-spec.sh
+2
-19
pre-commit
hooks/pre-commit
+14
-32
shippable.yml
shippable.yml
+1
-1
No files found.
.gitignore
View file @
9fdd7935
...
@@ -61,6 +61,6 @@ www/master/shared/config/development.json
...
@@ -61,6 +61,6 @@ www/master/shared/config/development.json
# Karma output
# Karma output
www/test_out
www/test_out
# precommit temporary directories created by ./hack/verify-gendocs.sh and ./hack/lib/util.sh
# precommit temporary directories created by ./hack/verify-gen
erated-
docs.sh and ./hack/lib/util.sh
_tmp/
_tmp/
doc_tmp/
doc_tmp/
.travis.yml
View file @
9fdd7935
...
@@ -17,7 +17,7 @@ script:
...
@@ -17,7 +17,7 @@ script:
-
./hack/verify-description.sh
-
./hack/verify-description.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-conversions.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-conversions.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-deep-copies.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-deep-copies.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-gendocs.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-gen
erated-
docs.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-swagger-spec.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-swagger-spec.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-linkcheck.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-linkcheck.sh
-
godep go test ./cmd/mungedocs
-
godep go test ./cmd/mungedocs
...
...
build/versionize-docs.sh
View file @
9fdd7935
...
@@ -71,5 +71,5 @@ done
...
@@ -71,5 +71,5 @@ done
# Update API descriptions to match this version.
# Update API descriptions to match this version.
$SED
-ri
-e
"s|(releases.k8s.io)/[^/]+|
\1
/
${
NEW_VERSION
}
|"
pkg/api/v[0-9]
*
/types.go
$SED
-ri
-e
"s|(releases.k8s.io)/[^/]+|
\1
/
${
NEW_VERSION
}
|"
pkg/api/v[0-9]
*
/types.go
${
KUBE_ROOT
}
/hack/
run-gen
docs.sh
${
KUBE_ROOT
}
/hack/
update-generated-
docs.sh
${
KUBE_ROOT
}
/hack/update-swagger-spec.sh
${
KUBE_ROOT
}
/hack/update-swagger-spec.sh
docs/devel/development.md
View file @
9fdd7935
...
@@ -345,7 +345,7 @@ See [conformance-test.sh](http://releases.k8s.io/HEAD/hack/conformance-test.sh).
...
@@ -345,7 +345,7 @@ See [conformance-test.sh](http://releases.k8s.io/HEAD/hack/conformance-test.sh).
## Regenerating the CLI documentation
## Regenerating the CLI documentation
```
sh
```
sh
hack/
run-gen
docs.sh
hack/
update-generated-
docs.sh
```
```
...
...
hack/after-build/README.md
0 → 100644
View file @
9fdd7935
These should be called only by a script (or a user) who knows that the binaries are built and correct. Normal users should just have the versions in ../ which should just always do a build.
[

]()
hack/after-build/update-generated-conversions.sh
0 → 100755
View file @
9fdd7935
#!/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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
genconversion
=
$(
kube::util::find-binary
"genconversion"
)
function
generate_version
()
{
local
version
=
$1
local
TMPFILE
=
"/tmp/conversion_generated.
$(
date
+%s
)
.go"
echo
"Generating for version
${
version
}
"
sed
's/YEAR/2015/'
hack/boilerplate/boilerplate.go.txt
>
"
$TMPFILE
"
cat
>>
"
$TMPFILE
"
<<
EOF
package
${
version
}
// AUTO-GENERATED FUNCTIONS START HERE
EOF
"
${
genconversion
}
"
-v
"
${
version
}
"
-f
-
>>
"
$TMPFILE
"
cat
>>
"
$TMPFILE
"
<<
EOF
// AUTO-GENERATED FUNCTIONS END HERE
EOF
mv
"
$TMPFILE
"
"pkg/api/
${
version
}
/conversion_generated.go"
}
VERSIONS
=
"v1"
for
ver
in
$VERSIONS
;
do
# Ensure that the version being processed is registered by setting
# KUBE_API_VERSIONS.
KUBE_API_VERSIONS
=
"
${
ver
}
"
generate_version
"
${
ver
}
"
done
# ex: ts=2 sw=2 et filetype=sh
hack/after-build/update-generated-deep-copies.sh
0 → 100755
View file @
9fdd7935
#!/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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
gendeepcopy
=
$(
kube::util::find-binary
"gendeepcopy"
)
function
result_file_name
()
{
local
version
=
$1
if
[
"
${
version
}
"
==
"api"
]
;
then
echo
"pkg/api/deep_copy_generated.go"
else
echo
"pkg/api/
${
version
}
/deep_copy_generated.go"
fi
}
function
generate_version
()
{
local
version
=
$1
local
TMPFILE
=
"/tmp/deep_copy_generated.
$(
date
+%s
)
.go"
echo
"Generating for version
${
version
}
"
sed
's/YEAR/2015/'
hack/boilerplate/boilerplate.go.txt
>
$TMPFILE
cat
>>
$TMPFILE
<<
EOF
package
${
version
}
// AUTO-GENERATED FUNCTIONS START HERE
EOF
"
${
gendeepcopy
}
"
-v
"
${
version
}
"
-f
-
-o
"
${
version
}
="
>>
"
$TMPFILE
"
cat
>>
"
$TMPFILE
"
<<
EOF
// AUTO-GENERATED FUNCTIONS END HERE
EOF
gofmt
-w
-s
"
$TMPFILE
"
mv
"
$TMPFILE
"
`
result_file_name
${
version
}
`
}
function
generate_deep_copies
()
{
local
versions
=
"api v1"
# To avoid compile errors, remove the currently existing files.
for
ver
in
${
versions
}
;
do
rm
-f
`
result_file_name
${
ver
}
`
done
apiVersions
=
""
for
ver
in
${
versions
}
;
do
# Ensure that the version being processed is registered by setting
# KUBE_API_VERSIONS.
if
[
"
${
ver
}
"
!=
"api"
]
;
then
apiVersions
=
"
${
ver
}
"
fi
KUBE_API_VERSIONS
=
"
${
apiVersions
}
"
generate_version
"
${
ver
}
"
done
}
generate_deep_copies
# ex: ts=2 sw=2 et filetype=sh
hack/
run-gen
docs.sh
→
hack/
after-build/update-generated-
docs.sh
View file @
9fdd7935
...
@@ -18,11 +18,10 @@ set -o errexit
...
@@ -18,11 +18,10 @@ set -o errexit
set
-o
nounset
set
-o
nounset
set
-o
pipefail
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendocs cmd/genman cmd/genbashcomp cmd/mungedocs
# Find binary
# Find binary
gendocs
=
$(
kube::util::find-binary
"gendocs"
)
gendocs
=
$(
kube::util::find-binary
"gendocs"
)
...
@@ -30,16 +29,6 @@ genman=$(kube::util::find-binary "genman")
...
@@ -30,16 +29,6 @@ genman=$(kube::util::find-binary "genman")
genbashcomp
=
$(
kube::util::find-binary
"genbashcomp"
)
genbashcomp
=
$(
kube::util::find-binary
"genbashcomp"
)
mungedocs
=
$(
kube::util::find-binary
"mungedocs"
)
mungedocs
=
$(
kube::util::find-binary
"mungedocs"
)
if
[[
!
-x
"
$gendocs
"
||
!
-x
"
$genman
"
||
!
-x
"
$genbashcomp
"
||
!
-x
"
$mungedocs
"
]]
;
then
{
echo
"It looks as if you don't have a compiled gendocs, genman, genbashcomp or mungedocs binary"
echo
echo
"If you are running from a clone of the git repo, please run"
echo
"'./hack/build-go.sh cmd/gendocs cmd/genman cmd/genbashcomp cmd/mungedocs'."
}
>
&2
exit
1
fi
kube::util::gen-doc
"
${
gendocs
}
"
"
${
KUBE_ROOT
}
"
"docs/user-guide/kubectl/"
'###### Auto generated by spf13/cobra'
kube::util::gen-doc
"
${
gendocs
}
"
"
${
KUBE_ROOT
}
"
"docs/user-guide/kubectl/"
'###### Auto generated by spf13/cobra'
kube::util::gen-doc
"
${
genman
}
"
"
${
KUBE_ROOT
}
"
"docs/man/man1"
kube::util::gen-doc
"
${
genman
}
"
"
${
KUBE_ROOT
}
"
"docs/man/man1"
kube::util::gen-doc
"
${
genbashcomp
}
"
"
${
KUBE_ROOT
}
"
"contrib/completions/bash/"
kube::util::gen-doc
"
${
genbashcomp
}
"
"
${
KUBE_ROOT
}
"
"contrib/completions/bash/"
...
...
hack/after-build/update-swagger-spec.sh
0 → 100755
View file @
9fdd7935
#!/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
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
SWAGGER_ROOT_DIR
=
"
${
KUBE_ROOT
}
/api/swagger-spec"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
function
cleanup
()
{
[[
-n
${
APISERVER_PID
-
}
]]
&&
kill
${
APISERVER_PID
}
1>&2 2>/dev/null
kube::etcd::cleanup
kube::log::status
"Clean up complete"
}
trap
cleanup EXIT SIGINT
kube::golang::setup_env
apiserver
=
$(
kube::util::find-binary
"kube-apiserver"
)
ETCD_HOST
=
${
ETCD_HOST
:-
127
.0.0.1
}
ETCD_PORT
=
${
ETCD_PORT
:-
4001
}
API_PORT
=
${
API_PORT
:-
8050
}
API_HOST
=
${
API_HOST
:-
127
.0.0.1
}
KUBELET_PORT
=
${
KUBELET_PORT
:-
10250
}
kube::etcd::start
# Start kube-apiserver
kube::log::status
"Starting kube-apiserver"
KUBE_API_VERSIONS
=
"v1"
"
${
KUBE_OUTPUT_HOSTBIN
}
/kube-apiserver"
\
--address
=
"127.0.0.1"
\
--public-address-override
=
"127.0.0.1"
\
--port
=
"
${
API_PORT
}
"
\
--etcd-servers
=
"http://
${
ETCD_HOST
}
:
${
ETCD_PORT
}
"
\
--public-address-override
=
"127.0.0.1"
\
--kubelet-port
=
${
KUBELET_PORT
}
\
--runtime-config
=
api/v1
\
--service-cluster-ip-range
=
"10.0.0.0/24"
>
/dev/null 2>&1 &
APISERVER_PID
=
$!
kube::util::wait_for_url
"http://127.0.0.1:
${
API_PORT
}
/healthz"
"apiserver: "
SWAGGER_API_PATH
=
"http://127.0.0.1:
${
API_PORT
}
/swaggerapi/"
kube::log::status
"Updating "
${
SWAGGER_ROOT_DIR
}
curl
-fs
${
SWAGGER_API_PATH
}
>
${
SWAGGER_ROOT_DIR
}
/resourceListing.json
curl
-fs
${
SWAGGER_API_PATH
}
version
>
${
SWAGGER_ROOT_DIR
}
/version.json
curl
-fs
${
SWAGGER_API_PATH
}
api
>
${
SWAGGER_ROOT_DIR
}
/api.json
curl
-fs
${
SWAGGER_API_PATH
}
api/v1
>
${
SWAGGER_ROOT_DIR
}
/v1.json
kube::log::status
"SUCCESS"
# ex: ts=2 sw=2 et filetype=sh
hack/after-build/verify-generated-conversions.sh
0 → 100755
View file @
9fdd7935
#!/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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
APIROOT
=
"
${
KUBE_ROOT
}
/pkg/api"
TMP_APIROOT
=
"
${
KUBE_ROOT
}
/_tmp/api"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
cp
-a
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-generated-conversions.sh"
echo
"diffing
${
APIROOT
}
against freshly generated conversions"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_APIROOT
}
"
${
KUBE_ROOT
}
/pkg"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
APIROOT
}
up to date."
else
echo
"
${
APIROOT
}
is out of date. Please run hack/update-generated-conversions.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
hack/after-build/verify-generated-deep-copies.sh
0 → 100755
View file @
9fdd7935
#!/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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
gendeepcopy
=
$(
kube::util::find-binary
"gendeepcopy"
)
APIROOT
=
"
${
KUBE_ROOT
}
/pkg/api"
TMP_APIROOT
=
"
${
KUBE_ROOT
}
/_tmp/api"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
cp
-a
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-generated-deep-copies.sh"
echo
"diffing
${
APIROOT
}
against freshly generated deep copies"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_APIROOT
}
"
${
KUBE_ROOT
}
/pkg"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
APIROOT
}
up to date."
else
echo
"
${
APIROOT
}
is out of date. Please run hack/update-generated-deep-copies.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
hack/
verify-gen
docs.sh
→
hack/
after-build/verify-generated-
docs.sh
View file @
9fdd7935
...
@@ -18,7 +18,7 @@ set -o errexit
...
@@ -18,7 +18,7 @@ set -o errexit
set
-o
nounset
set
-o
nounset
set
-o
pipefail
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
...
@@ -29,16 +29,6 @@ genman=$(kube::util::find-binary "genman")
...
@@ -29,16 +29,6 @@ genman=$(kube::util::find-binary "genman")
genbashcomp
=
$(
kube::util::find-binary
"genbashcomp"
)
genbashcomp
=
$(
kube::util::find-binary
"genbashcomp"
)
mungedocs
=
$(
kube::util::find-binary
"mungedocs"
)
mungedocs
=
$(
kube::util::find-binary
"mungedocs"
)
if
[[
!
-x
"
$gendocs
"
||
!
-x
"
$genman
"
||
!
-x
"
$genbashcomp
"
||
!
-x
"
$mungedocs
"
]]
;
then
{
echo
"It looks as if you don't have a compiled gendocs, genman, genbashcomp or mungedocs binary"
echo
echo
"If you are running from a clone of the git repo, please run"
echo
"'./hack/build-go.sh cmd/gendocs cmd/genman cmd/genbashcomp cmd/mungedocs'."
}
>
&2
exit
1
fi
DOCROOT
=
"
${
KUBE_ROOT
}
/docs/"
DOCROOT
=
"
${
KUBE_ROOT
}
/docs/"
EXAMPLEROOT
=
"
${
KUBE_ROOT
}
/examples/"
EXAMPLEROOT
=
"
${
KUBE_ROOT
}
/examples/"
TMP_DOCROOT
=
"
${
KUBE_ROOT
}
/_tmp/docs/"
TMP_DOCROOT
=
"
${
KUBE_ROOT
}
/_tmp/docs/"
...
@@ -51,7 +41,7 @@ cp -a "${DOCROOT}" "${TMP_DOCROOT}"
...
@@ -51,7 +41,7 @@ cp -a "${DOCROOT}" "${TMP_DOCROOT}"
# links will be distorted. --verify means that it will not make changes.
# links will be distorted. --verify means that it will not make changes.
"
${
mungedocs
}
"
"--verify=true"
"--root-dir=
${
DOCROOT
}
"
&&
ret
=
0
||
ret
=
$?
"
${
mungedocs
}
"
"--verify=true"
"--root-dir=
${
DOCROOT
}
"
&&
ret
=
0
||
ret
=
$?
if
[[
$ret
-eq
1
]]
;
then
if
[[
$ret
-eq
1
]]
;
then
echo
"
${
DOCROOT
}
is out of date. Please run hack/
run-gen
docs.sh"
echo
"
${
DOCROOT
}
is out of date. Please run hack/
update-generated-
docs.sh"
exit
1
exit
1
fi
fi
if
[[
$ret
-gt
1
]]
;
then
if
[[
$ret
-gt
1
]]
;
then
...
@@ -61,7 +51,7 @@ fi
...
@@ -61,7 +51,7 @@ fi
"
${
mungedocs
}
"
"--verify=true"
"--root-dir=
${
EXAMPLEROOT
}
"
&&
ret
=
0
||
ret
=
$?
"
${
mungedocs
}
"
"--verify=true"
"--root-dir=
${
EXAMPLEROOT
}
"
&&
ret
=
0
||
ret
=
$?
if
[[
$ret
-eq
1
]]
;
then
if
[[
$ret
-eq
1
]]
;
then
echo
"
${
EXAMPLEROOT
}
is out of date. Please run hack/
run-gen
docs.sh"
echo
"
${
EXAMPLEROOT
}
is out of date. Please run hack/
update-generated-
docs.sh"
exit
1
exit
1
fi
fi
if
[[
$ret
-gt
1
]]
;
then
if
[[
$ret
-gt
1
]]
;
then
...
@@ -85,7 +75,7 @@ if [[ $ret -eq 0 ]]
...
@@ -85,7 +75,7 @@ if [[ $ret -eq 0 ]]
then
then
echo
"
${
DOCROOT
}
up to date."
echo
"
${
DOCROOT
}
up to date."
else
else
echo
"
${
DOCROOT
}
is out of date. Please run hack/
run-gen
docs.sh"
echo
"
${
DOCROOT
}
is out of date. Please run hack/
update-generated-
docs.sh"
exit
1
exit
1
fi
fi
...
@@ -99,7 +89,7 @@ if [ $ret -eq 0 ]
...
@@ -99,7 +89,7 @@ if [ $ret -eq 0 ]
then
then
echo
"
${
COMPROOT
}
up to date."
echo
"
${
COMPROOT
}
up to date."
else
else
echo
"
${
COMPROOT
}
is out of date. Please run hack/
run-gen
docs.sh"
echo
"
${
COMPROOT
}
is out of date. Please run hack/
update-generated-
docs.sh"
echo
"If you did not make a change to kubectl or its dependencies,"
echo
"If you did not make a change to kubectl or its dependencies,"
echo
"run 'make clean' and retry this command."
echo
"run 'make clean' and retry this command."
exit
1
exit
1
...
...
hack/after-build/verify-linkcheck.sh
0 → 100755
View file @
9fdd7935
#!/bin/bash
# Copyright 2014 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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
linkcheck
=
$(
kube::util::find-binary
"linkcheck"
)
TYPEROOT
=
"
${
KUBE_ROOT
}
/pkg/api/"
"
${
linkcheck
}
"
"--root-dir=
${
TYPEROOT
}
"
"--repo-root=
${
KUBE_ROOT
}
"
"--file-suffix=types.go"
"--prefix=http://releases.k8s.io/HEAD"
&&
ret
=
0
||
ret
=
$?
if
[[
$ret
-eq
1
]]
;
then
echo
"links in
${
TYPEROOT
}
is out of date."
exit
1
fi
if
[[
$ret
-gt
1
]]
;
then
echo
"Error running linkcheck"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
hack/after-build/verify-swagger-spec.sh
0 → 100755
View file @
9fdd7935
#!/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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/../..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
apiserver
=
$(
kube::util::find-binary
"kube-apiserver"
)
SPECROOT
=
"
${
KUBE_ROOT
}
/api/swagger-spec"
TMP_SPECROOT
=
"
${
KUBE_ROOT
}
/_tmp/swagger-spec"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
cp
-a
"
${
SPECROOT
}
"
"
${
TMP_SPECROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-swagger-spec.sh"
echo
"diffing
${
SPECROOT
}
against freshly generated swagger spec"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
SPECROOT
}
"
"
${
TMP_SPECROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_SPECROOT
}
"
${
KUBE_ROOT
}
/api"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
SPECROOT
}
up to date."
else
echo
"
${
SPECROOT
}
is out of date. Please run hack/update-swagger-spec.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
h
ooks
/boilerplate.go.txt
→
h
ack/boilerplate
/boilerplate.go.txt
View file @
9fdd7935
File moved
h
ooks
/boilerplate.py
→
h
ack/boilerplate
/boilerplate.py
View file @
9fdd7935
File moved
h
ooks
/boilerplate.py.txt
→
h
ack/boilerplate
/boilerplate.py.txt
View file @
9fdd7935
File moved
h
ooks
/boilerplate.sh.txt
→
h
ack/boilerplate
/boilerplate.sh.txt
View file @
9fdd7935
File moved
hack/build-ui.sh
View file @
9fdd7935
...
@@ -44,7 +44,7 @@ function kube::hack::build_ui() {
...
@@ -44,7 +44,7 @@ function kube::hack::build_ui() {
go-bindata
-nocompress
-o
"
${
output_file
}
"
-prefix
${
PWD
}
-pkg
"
${
pkg
}
"
"
${
src
}
"
go-bindata
-nocompress
-o
"
${
output_file
}
"
-prefix
${
PWD
}
-pkg
"
${
pkg
}
"
"
${
src
}
"
local
year
=
$(
date
+%Y
)
local
year
=
$(
date
+%Y
)
cat
h
ooks
/boilerplate.go.txt |
sed
"s/YEAR/
${
year
}
/"
>
"
${
TMP_DATAFILE
}
"
cat
h
ack/boilerplate
/boilerplate.go.txt |
sed
"s/YEAR/
${
year
}
/"
>
"
${
TMP_DATAFILE
}
"
echo
-e
"// generated by hack/build-ui.sh; DO NOT EDIT
\n
"
>>
"
${
TMP_DATAFILE
}
"
echo
-e
"// generated by hack/build-ui.sh; DO NOT EDIT
\n
"
>>
"
${
TMP_DATAFILE
}
"
cat
"
${
output_file
}
"
>>
"
${
TMP_DATAFILE
}
"
cat
"
${
output_file
}
"
>>
"
${
TMP_DATAFILE
}
"
...
...
hack/lib/etcd.sh
View file @
9fdd7935
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
kube::etcd::start
()
{
kube::etcd::start
()
{
local
host
=
${
ETCD_HOST
:-
127
.0.0.1
}
local
host
=
${
ETCD_HOST
:-
127
.0.0.1
}
local
port
=
${
ETCD_PORT
:-
4001
}
local
port
=
${
ETCD_PORT
:-
4001
}
local
testhost
=
${
ETCD_PUBLIC_HOST
:-
localhost
}
which etcd
>
/dev/null
||
{
which etcd
>
/dev/null
||
{
kube::log::usage
"etcd must be in your PATH"
kube::log::usage
"etcd must be in your PATH"
...
...
hack/lib/util.sh
View file @
9fdd7935
...
@@ -171,7 +171,11 @@ kube::util::gen-doc() {
...
@@ -171,7 +171,11 @@ kube::util::gen-doc() {
done
<
"
${
dest
}
/.files_generated"
done
<
"
${
dest
}
/.files_generated"
# put the new generated file into the destination
# put the new generated file into the destination
find
"
${
tmpdir
}
"
-exec
rsync
-pt
{}
"
${
dest
}
"
\;
>
/dev/null
# the shopt is so that we get .files_generated from the glob.
shopt
-s
dotglob
cp
-af
"
${
tmpdir
}
"
/
*
"
${
dest
}
"
shopt
-u
dotglob
#cleanup
#cleanup
rm
-rf
"
${
tmpdir
}
"
rm
-rf
"
${
tmpdir
}
"
}
}
...
...
hack/update-generated-conversions.sh
View file @
9fdd7935
...
@@ -23,31 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
...
@@ -23,31 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
function
generate_version
()
{
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/genconversion
local
version
=
$1
local
TMPFILE
=
"/tmp/conversion_generated.
$(
date
+%s
)
.go"
echo
"Generating for version
${
version
}
"
"
${
KUBE_ROOT
}
/hack/after-build/update-generated-conversions.sh"
"
$@
"
sed
's/YEAR/2015/'
hooks/boilerplate.go.txt
>
$TMPFILE
# ex: ts=2 sw=2 et filetype=sh
cat
>>
$TMPFILE
<<
EOF
package
${
version
}
// AUTO-GENERATED FUNCTIONS START HERE
EOF
GOPATH
=
$(
godep path
)
:
$GOPATH
go run cmd/genconversion/conversion.go
-v
${
version
}
-f
-
>>
$TMPFILE
cat
>>
$TMPFILE
<<
EOF
// AUTO-GENERATED FUNCTIONS END HERE
EOF
mv
$TMPFILE
pkg/api/
${
version
}
/conversion_generated.go
}
VERSIONS
=
"v1"
for
ver
in
$VERSIONS
;
do
# Ensure that the version being processed is registered by setting
# KUBE_API_VERSIONS.
KUBE_API_VERSIONS
=
"
${
ver
}
"
generate_version
"
${
ver
}
"
done
hack/update-generated-deep-copies.sh
View file @
9fdd7935
...
@@ -23,53 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
...
@@ -23,53 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
function
result_file_name
()
{
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendeepcopy
local
version
=
$1
if
[
"
${
version
}
"
==
"api"
]
;
then
echo
"pkg/api/deep_copy_generated.go"
else
echo
"pkg/api/
${
version
}
/deep_copy_generated.go"
fi
}
function
generate_version
()
{
"
${
KUBE_ROOT
}
/hack/after-build/update-generated-deep-copies.sh"
"
$@
"
local
version
=
$1
local
TMPFILE
=
"/tmp/deep_copy_generated.
$(
date
+%s
)
.go"
echo
"Generating for version
${
version
}
"
# ex: ts=2 sw=2 et filetype=sh
sed
's/YEAR/2015/'
hooks/boilerplate.go.txt
>
$TMPFILE
cat
>>
$TMPFILE
<<
EOF
package
${
version
}
// AUTO-GENERATED FUNCTIONS START HERE
EOF
GOPATH
=
$(
godep path
)
:
$GOPATH
go run cmd/gendeepcopy/deep_copy.go
-v
${
version
}
-f
-
-o
"
${
version
}
="
>>
$TMPFILE
cat
>>
$TMPFILE
<<
EOF
// AUTO-GENERATED FUNCTIONS END HERE
EOF
gofmt
-w
-s
$TMPFILE
mv
$TMPFILE
`
result_file_name
${
version
}
`
}
function
generate_deep_copies
()
{
local
versions
=
"api v1"
# To avoid compile errors, remove the currently existing files.
for
ver
in
${
versions
}
;
do
rm
-f
`
result_file_name
${
ver
}
`
done
apiVersions
=
""
for
ver
in
${
versions
}
;
do
# Ensure that the version being processed is registered by setting
# KUBE_API_VERSIONS.
if
[
"
${
ver
}
"
!=
"api"
]
;
then
apiVersions
=
"
${
ver
}
"
fi
KUBE_API_VERSIONS
=
"
${
apiVersions
}
"
generate_version
"
${
ver
}
"
done
}
generate_deep_copies
h
ooks/description
.sh
→
h
ack/update-generated-docs
.sh
View file @
9fdd7935
...
@@ -14,13 +14,17 @@
...
@@ -14,13 +14,17 @@
# See the License for the specific language governing permissions and
# See the License for the specific language governing permissions and
# limitations under the License.
# limitations under the License.
# Print 1 if the file in $1 is not in need of additional field descriptions, 0 otherwise.
set
-o
errexit
FILE
=
"
$1
"
set
-o
nounset
set
-o
pipefail
if
grep
json:
"
${
FILE
}
"
|
grep
-v
// |
grep
-v
,inline |
grep
-v
-q
description:
;
then
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
echo
"0"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
else
echo
"1"
fi
exit
0
kube::golang::setup_env
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendocs cmd/genman cmd/genbashcomp cmd/mungedocs
"
${
KUBE_ROOT
}
/hack/after-build/update-generated-docs.sh"
"
$@
"
# ex: ts=2 sw=2 et filetype=sh
hack/update-swagger-spec.sh
View file @
9fdd7935
...
@@ -22,51 +22,12 @@ set -o nounset
...
@@ -22,51 +22,12 @@ set -o nounset
set
-o
pipefail
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
SWAGGER_ROOT_DIR
=
"
${
KUBE_ROOT
}
/api/swagger-spec"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
function
cleanup
()
kube::golang::setup_env
{
[[
-n
${
APISERVER_PID
-
}
]]
&&
kill
${
APISERVER_PID
}
1>&2 2>/dev/null
kube::etcd::cleanup
kube::log::status
"Clean up complete"
}
trap
cleanup EXIT SIGINT
kube::log::status
"Building apiserver"
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/kube-apiserver
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/kube-apiserver
kube::etcd::start
"
${
KUBE_ROOT
}
/hack/after-build/update-swagger-spec.sh"
"
$@
"
ETCD_HOST
=
${
ETCD_HOST
:-
127
.0.0.1
}
ETCD_PORT
=
${
ETCD_PORT
:-
4001
}
API_PORT
=
${
API_PORT
:-
8050
}
API_HOST
=
${
API_HOST
:-
127
.0.0.1
}
KUBELET_PORT
=
${
KUBELET_PORT
:-
10250
}
# Start kube-apiserver
kube::log::status
"Starting kube-apiserver"
KUBE_API_VERSIONS
=
"v1"
"
${
KUBE_OUTPUT_HOSTBIN
}
/kube-apiserver"
\
--address
=
"127.0.0.1"
\
--public-address-override
=
"127.0.0.1"
\
--port
=
"
${
API_PORT
}
"
\
--etcd-servers
=
"http://
${
ETCD_HOST
}
:
${
ETCD_PORT
}
"
\
--public-address-override
=
"127.0.0.1"
\
--kubelet-port
=
${
KUBELET_PORT
}
\
--runtime-config
=
api/v1
\
--service-cluster-ip-range
=
"10.0.0.0/24"
>
/dev/null 2>&1 &
APISERVER_PID
=
$!
kube::util::wait_for_url
"http://127.0.0.1:
${
API_PORT
}
/healthz"
"apiserver: "
SWAGGER_API_PATH
=
"http://127.0.0.1:
${
API_PORT
}
/swaggerapi/"
kube::log::status
"Updating "
${
SWAGGER_ROOT_DIR
}
curl
-fs
${
SWAGGER_API_PATH
}
>
${
SWAGGER_ROOT_DIR
}
/resourceListing.json
curl
-fs
${
SWAGGER_API_PATH
}
version
>
${
SWAGGER_ROOT_DIR
}
/version.json
curl
-fs
${
SWAGGER_API_PATH
}
api
>
${
SWAGGER_ROOT_DIR
}
/api.json
curl
-fs
${
SWAGGER_API_PATH
}
api/v1
>
${
SWAGGER_ROOT_DIR
}
/v1.json
kube::log::status
"SUCCESS"
# ex: ts=2 sw=2 et filetype=sh
hack/verify-boilerplate.sh
View file @
9fdd7935
...
@@ -19,7 +19,7 @@ set -o nounset
...
@@ -19,7 +19,7 @@ set -o nounset
set
-o
pipefail
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
boiler
=
"
${
KUBE_ROOT
}
/h
ooks
/boilerplate.py"
boiler
=
"
${
KUBE_ROOT
}
/h
ack/boilerplate
/boilerplate.py"
cd
${
KUBE_ROOT
}
cd
${
KUBE_ROOT
}
...
...
hack/verify-description.sh
View file @
9fdd7935
...
@@ -34,17 +34,22 @@ find_files() {
...
@@ -34,17 +34,22 @@ find_files() {
-o
-wholename
'*/third_party/*'
\
-o
-wholename
'*/third_party/*'
\
-o
-wholename
'*/Godeps/*'
\
-o
-wholename
'*/Godeps/*'
\
\)
-prune
\
\)
-prune
\
\)
-
name
'*
.go'
\)
-
wholename
'*pkg/api/v*/types
.go'
}
}
files
=
`
find_files | egrep
"pkg/api/v.[^/]*/types
\.
go"
`
if
[[
$#
-eq
0
]]
;
then
files
=
`
find_files | egrep
"pkg/api/v.[^/]*/types
\.
go"
`
else
files
=(
"
${
@
}
"
)
fi
for
file
in
$files
for
file
in
$files
;
do
do
if
grep
json:
"
${
file
}
"
|
grep
-v
// |
grep
-v
,inline |
grep
-v
-q
description:
;
then
if
[[
"
$(
"
${
KUBE_ROOT
}
/hooks/description.sh"
"
${
file
}
"
)
"
-eq
"0"
]]
;
then
echo
"API file is missing the required field descriptions:
${
file
}
"
echo
"API file is missing the required field descriptions:
${
file
}
"
result
=
1
result
=
1
fi
fi
done
done
exit
${
result
}
exit
${
result
}
# ex: ts=2 sw=2 et filetype=sh
hack/verify-generated-conversions.sh
View file @
9fdd7935
...
@@ -23,37 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
...
@@ -23,37 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
genconversion
=
$(
kube::util::find-binary
"genconversion"
)
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/genconversion
if
[[
!
-x
"
$genconversion
"
]]
;
then
"
${
KUBE_ROOT
}
/hack/after-build/verify-generated-conversions.sh"
"
$@
"
{
echo
"It looks as if you don't have a compiled conversion binary"
echo
echo
"If you are running from a clone of the git repo, please run"
echo
"'./hack/build-go.sh cmd/genconversion'."
}
>
&2
exit
1
fi
APIROOT
=
"
${
KUBE_ROOT
}
/pkg/api"
TMP_APIROOT
=
"
${
KUBE_ROOT
}
/_tmp/api"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
cp
-a
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-generated-conversions.sh"
echo
"diffing
${
APIROOT
}
against freshly generated conversions"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_APIROOT
}
"
${
KUBE_ROOT
}
/pkg"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
APIROOT
}
up to date."
else
echo
"
${
APIROOT
}
is out of date. Please run hack/update-generated-conversions.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
# ex: ts=2 sw=2 et filetype=sh
hack/verify-generated-deep-copies.sh
View file @
9fdd7935
...
@@ -23,37 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
...
@@ -23,37 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
genconversion
=
$(
kube::util::find-binary
"gendeepcopy"
)
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendeepcopy
if
[[
!
-x
"
$genconversion
"
]]
;
then
"
${
KUBE_ROOT
}
/hack/after-build/verify-generated-deep-copies.sh"
"
$@
"
{
echo
"It looks as if you don't have a compiled conversion binary"
echo
echo
"If you are running from a clone of the git repo, please run"
echo
"'./hack/build-go.sh cmd/gendeepcopy'."
}
>
&2
exit
1
fi
APIROOT
=
"
${
KUBE_ROOT
}
/pkg/api"
TMP_APIROOT
=
"
${
KUBE_ROOT
}
/_tmp/api"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
cp
-a
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-generated-deep-copies.sh"
echo
"diffing
${
APIROOT
}
against freshly generated deep copies"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
APIROOT
}
"
"
${
TMP_APIROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_APIROOT
}
"
${
KUBE_ROOT
}
/pkg"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
APIROOT
}
up to date."
else
echo
"
${
APIROOT
}
is out of date. Please run hack/update-generated-deep-copies.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
# ex: ts=2 sw=2 et filetype=sh
hack/verify-generated-docs.sh
0 → 100755
View file @
9fdd7935
#!/bin/bash
# Copyright 2014 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.
set
-o
errexit
set
-o
nounset
set
-o
pipefail
KUBE_ROOT
=
$(
dirname
"
${
BASH_SOURCE
}
"
)
/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/gendocs cmd/genman cmd/genbashcomp cmd/mungedocs
"
${
KUBE_ROOT
}
/hack/after-build/verify-generated-docs.sh"
"
$@
"
# ex: ts=2 sw=2 et filetype=sh
hack/verify-linkcheck.sh
View file @
9fdd7935
...
@@ -22,25 +22,9 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
...
@@ -22,25 +22,9 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/..
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
source
"
${
KUBE_ROOT
}
/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
linkcheck
=
$(
kube::util::find-binary
"linkcheck"
)
if
[[
!
-x
"
$linkcheck
"
]]
;
then
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/linkcheck
{
echo
"It looks as if you don't have a compiled linkcheck binary"
echo
echo
"If you are running from a clone of the git repo, please run"
echo
"'./hack/build-go.sh cmd/linkcheck'."
}
>
&2
exit
1
fi
TYPEROOT
=
"
${
KUBE_ROOT
}
/pkg/api/"
"
${
KUBE_ROOT
}
/hack/after-build/verify-linkcheck.sh"
"
$@
"
"
${
linkcheck
}
"
"--root-dir=
${
TYPEROOT
}
"
"--repo-root=
${
KUBE_ROOT
}
"
"--file-suffix=types.go"
"--prefix=http://releases.k8s.io/HEAD"
&&
ret
=
0
||
ret
=
$?
if
[[
$ret
-eq
1
]]
;
then
# ex: ts=2 sw=2 et filetype=sh
echo
"links in
${
TYPEROOT
}
is out of date."
exit
1
fi
if
[[
$ret
-gt
1
]]
;
then
echo
"Error running linkcheck"
exit
1
fi
hack/verify-swagger-spec.sh
View file @
9fdd7935
...
@@ -23,25 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
...
@@ -23,25 +23,8 @@ source "${KUBE_ROOT}/hack/lib/init.sh"
kube::golang::setup_env
kube::golang::setup_env
SPECROOT
=
"
${
KUBE_ROOT
}
/api/swagger-spec"
"
${
KUBE_ROOT
}
/hack/build-go.sh"
cmd/kube-apiserver
TMP_SPECROOT
=
"
${
KUBE_ROOT
}
/_tmp/swagger-spec"
_tmp
=
"
${
KUBE_ROOT
}
/_tmp"
mkdir
-p
"
${
_tmp
}
"
"
${
KUBE_ROOT
}
/hack/after-build/verify-swagger-spec.sh"
"
$@
"
cp
-a
"
${
SPECROOT
}
"
"
${
TMP_SPECROOT
}
"
"
${
KUBE_ROOT
}
/hack/update-swagger-spec.sh"
echo
"diffing
${
SPECROOT
}
against freshly generated swagger spec"
ret
=
0
diff
-Naupr
-I
'Auto generated by'
"
${
SPECROOT
}
"
"
${
TMP_SPECROOT
}
"
||
ret
=
$?
cp
-a
${
TMP_SPECROOT
}
"
${
KUBE_ROOT
}
/api"
rm
-rf
"
${
_tmp
}
"
if
[[
$ret
-eq
0
]]
then
echo
"
${
SPECROOT
}
up to date."
else
echo
"
${
SPECROOT
}
is out of date. Please run hack/update-swagger-spec.sh"
exit
1
fi
# ex: ts=2 sw=2 et filetype=sh
# ex: ts=2 sw=2 et filetype=sh
hooks/pre-commit
View file @
9fdd7935
...
@@ -4,8 +4,6 @@ readonly reset=$(tput sgr0)
...
@@ -4,8 +4,6 @@ readonly reset=$(tput sgr0)
readonly
red
=
$(
tput bold
;
tput setaf 1
)
readonly
red
=
$(
tput bold
;
tput setaf 1
)
readonly
green
=
$(
tput bold
;
tput setaf 2
)
readonly
green
=
$(
tput bold
;
tput setaf 2
)
KUBE_HOOKS_DIR
=
"
$(
dirname
"
$(
test
-L
"
$0
"
&&
echo
"
$(
dirname
$0
)
/
$(
readlink
"
$0
"
)
"
||
echo
"
$0
"
)
"
)
"
exit_code
=
0
exit_code
=
0
echo
-ne
"Checking that it builds... "
echo
-ne
"Checking that it builds... "
...
@@ -41,31 +39,13 @@ fi
...
@@ -41,31 +39,13 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for files that need boilerplate... "
echo
-ne
"Checking for files that need boilerplate... "
files_need_boilerplate
=()
out
=(
$(
hack/verify-boilerplate.sh
)
)
boiler
=
"
${
KUBE_HOOKS_DIR
}
/boilerplate.py"
if
[[
$?
-ne
0
]]
;
then
# Check for go files without the required boilerplate.
if
[[
${#
files
[@]
}
-gt
0
]]
;
then
files_need_boilerplate+
=(
$(
"
${
boiler
}
"
"go"
"
${
files
[@]
}
"
)
)
fi
# Check for sh files without the required boilerplate.
files
=(
$(
git diff
--cached
--name-only
--diff-filter
ACM |
grep
"
\.
sh"
|
grep
-v
-e
"third_party"
-e
"Godeps"
)
)
if
[[
${#
files
[@]
}
-gt
0
]]
;
then
files_need_boilerplate+
=(
$(
"
${
boiler
}
"
"sh"
"
${
files
[@]
}
"
)
)
fi
# Check for py files without the required boilerplate.
files
=(
$(
git diff
--cached
--name-only
--diff-filter
ACM |
grep
"
\.
py"
|
grep
-v
-e
"third_party"
-e
"Godeps"
)
)
if
[[
${#
files
}
-gt
0
]]
;
then
files_need_boilerplate+
=(
$(
"
${
boiler
}
"
"py"
"
${
files
[@]
}
"
)
)
fi
if
[[
"
${#
files_need_boilerplate
[@]
}
"
-ne
0
]]
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Some files are missing the required boilerplate header"
echo
"Some files are missing the required boilerplate header"
echo
"from hooks/boilerplate.txt:"
echo
"from hooks/boilerplate.txt:"
for
f
ile
in
"
${
files_need_boilerplate
[@]
}
"
;
do
for
f
in
"
${
out
[@]
}
"
;
do
echo
"
${
f
ile
}
"
echo
"
${
f
}
"
done
done
exit_code
=
1
exit_code
=
1
else
else
...
@@ -78,8 +58,8 @@ files_need_description=()
...
@@ -78,8 +58,8 @@ files_need_description=()
# Check API schema definitions for field descriptions
# Check API schema definitions for field descriptions
for
file
in
$(
git diff
--cached
--name-only
--diff-filter
ACM | egrep
"pkg/api/v.[^/]*/types
\.
go"
|
grep
-v
"third_party"
)
;
do
for
file
in
$(
git diff
--cached
--name-only
--diff-filter
ACM | egrep
"pkg/api/v.[^/]*/types
\.
go"
|
grep
-v
"third_party"
)
;
do
# Check for files with fields without description tags
# Check for files with fields without description tags
descriptionless
=
$(
"
${
KUBE_HOOKS_DIR
}
/description.sh"
"
${
file
}
"
)
descriptionless
=
$(
hack/after-build/verify-description.sh
"
${
file
}
"
)
if
[[
"
$descriptionless
"
-eq
"0
"
]]
;
then
if
[[
"
$descriptionless
"
!=
"
"
]]
;
then
files_need_description+
=(
"
${
file
}
"
)
files_need_description+
=(
"
${
file
}
"
)
fi
fi
done
done
...
@@ -98,7 +78,7 @@ fi
...
@@ -98,7 +78,7 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for links in API descriptions... "
echo
-ne
"Checking for links in API descriptions... "
if
!
hack/verify-linkcheck.sh
>
/dev/null
;
then
if
!
hack/
after-build/
verify-linkcheck.sh
>
/dev/null
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Some links in pkg/api/.*types.go are outdated. They require a manual fix."
echo
"Some links in pkg/api/.*types.go are outdated. They require a manual fix."
exit_code
=
1
exit_code
=
1
...
@@ -108,11 +88,11 @@ fi
...
@@ -108,11 +88,11 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for docs that need updating... "
echo
-ne
"Checking for docs that need updating... "
if
!
hack/
verify-gen
docs.sh
>
/dev/null
;
then
if
!
hack/
after-build/verify-generated-
docs.sh
>
/dev/null
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Some docs are out of sync between CLI and markdown."
echo
"Some docs are out of sync between CLI and markdown."
echo
"To regenerate docs, run:"
echo
"To regenerate docs, run:"
echo
" hack/
run-gen
docs.sh"
echo
" hack/
update-generated-
docs.sh"
exit_code
=
1
exit_code
=
1
else
else
echo
"
${
green
}
OK"
echo
"
${
green
}
OK"
...
@@ -120,7 +100,7 @@ fi
...
@@ -120,7 +100,7 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for conversions that need updating... "
echo
-ne
"Checking for conversions that need updating... "
if
!
hack/verify-generated-conversions.sh
>
/dev/null
;
then
if
!
hack/
after-build/
verify-generated-conversions.sh
>
/dev/null
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Some conversions functions need regeneration."
echo
"Some conversions functions need regeneration."
echo
"To regenerate conversions, run:"
echo
"To regenerate conversions, run:"
...
@@ -132,7 +112,7 @@ fi
...
@@ -132,7 +112,7 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for deep-copies that need updating... "
echo
-ne
"Checking for deep-copies that need updating... "
if
!
hack/verify-generated-deep-copies.sh
>
/dev/null
;
then
if
!
hack/
after-build/
verify-generated-deep-copies.sh
>
/dev/null
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Some deep-copy functions need regeneration."
echo
"Some deep-copy functions need regeneration."
echo
"To regenerate deep-copies, run:"
echo
"To regenerate deep-copies, run:"
...
@@ -144,7 +124,7 @@ fi
...
@@ -144,7 +124,7 @@ fi
echo
"
${
reset
}
"
echo
"
${
reset
}
"
echo
-ne
"Checking for swagger spec that need updating... "
echo
-ne
"Checking for swagger spec that need updating... "
if
!
hack/verify-swagger-spec.sh
>
/dev/null
;
then
if
!
hack/
after-build/
verify-swagger-spec.sh
>
/dev/null
;
then
echo
"
${
red
}
ERROR!"
echo
"
${
red
}
ERROR!"
echo
"Swagger spec needs to be updated."
echo
"Swagger spec needs to be updated."
echo
"To regenerate the spec, run:"
echo
"To regenerate the spec, run:"
...
@@ -159,3 +139,5 @@ if [[ "${exit_code}" != 0 ]]; then
...
@@ -159,3 +139,5 @@ if [[ "${exit_code}" != 0 ]]; then
echo
"
${
red
}
Aborting commit
${
reset
}
"
echo
"
${
red
}
Aborting commit
${
reset
}
"
fi
fi
exit
${
exit_code
}
exit
${
exit_code
}
# ex: ts=2 sw=2 et filetype=sh
shippable.yml
View file @
9fdd7935
...
@@ -32,7 +32,7 @@ install:
...
@@ -32,7 +32,7 @@ install:
-
PATH=$GOPATH/bin:$PATH godep go install ./...
-
PATH=$GOPATH/bin:$PATH godep go install ./...
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-conversions.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-conversions.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-deep-copies.sh
-
PATH=$GOPATH/bin:$PATH ./hack/verify-generated-deep-copies.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-gendocs.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-gen
erated-
docs.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-swagger-spec.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-swagger-spec.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-linkcheck.sh
-
PATH=$GOPATH/bin:./third_party/etcd:$PATH ./hack/verify-linkcheck.sh
...
...
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