mirror of https://github.com/kubernetes/kops.git
Replace goimports python scripts with shell scripts, remove unnecessary .packages
This commit is contained in:
parent
c954099355
commit
a8a0b6783f
12
Makefile
12
Makefile
|
|
@ -400,11 +400,11 @@ gofmt:
|
|||
|
||||
.PHONY: goimports
|
||||
goimports:
|
||||
hack/update-goimports
|
||||
hack/update-goimports.sh
|
||||
|
||||
.PHONY: verify-goimports
|
||||
verify-goimports:
|
||||
hack/verify-goimports
|
||||
hack/verify-goimports.sh
|
||||
|
||||
.PHONY: govet
|
||||
govet: ${BINDATA_TARGETS}
|
||||
|
|
@ -429,10 +429,6 @@ verify-gofmt:
|
|||
verify-gomod:
|
||||
hack/verify-gomod.sh
|
||||
|
||||
.PHONY: verify-packages
|
||||
verify-packages: ${BINDATA_TARGETS}
|
||||
hack/verify-packages.sh
|
||||
|
||||
# find release notes, remove PR titles and output the rest to .build, then run misspell on all files
|
||||
.PHONY: verify-misspelling
|
||||
verify-misspelling:
|
||||
|
|
@ -481,14 +477,14 @@ verify-hashes:
|
|||
# ci target is for developers, it aims to cover all the CI jobs
|
||||
# verify-gendocs will call kops target
|
||||
.PHONY: ci
|
||||
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-bazel verify-misspelling verify-shellcheck verify-staticcheck verify-terraform verify-bindata nodeup examples test | verify-gendocs verify-packages verify-apimachinery
|
||||
ci: govet verify-gofmt verify-crds verify-gomod verify-goimports verify-boilerplate verify-bazel verify-misspelling verify-shellcheck verify-staticcheck verify-terraform verify-bindata nodeup examples test | verify-gendocs verify-apimachinery
|
||||
echo "Done!"
|
||||
|
||||
# we skip tasks that rely on bazel and are covered by other jobs
|
||||
# verify-gofmt: uses bazel, covered by pull-kops-verify
|
||||
# govet needs to be after verify-goimports because it generates bindata.go
|
||||
.PHONY: quick-ci
|
||||
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-bazel verify-misspelling verify-shellcheck verify-bindata | verify-gendocs verify-packages verify-apimachinery
|
||||
quick-ci: verify-crds verify-goimports govet verify-boilerplate verify-bazel verify-misspelling verify-shellcheck verify-bindata | verify-gendocs verify-apimachinery
|
||||
echo "Done!"
|
||||
|
||||
.PHONY: pr
|
||||
|
|
|
|||
213
hack/.packages
213
hack/.packages
|
|
@ -1,213 +0,0 @@
|
|||
k8s.io/kops
|
||||
k8s.io/kops/channels/cmd/channels
|
||||
k8s.io/kops/channels/pkg/api
|
||||
k8s.io/kops/channels/pkg/channels
|
||||
k8s.io/kops/channels/pkg/cmd
|
||||
k8s.io/kops/cloudmock/aws/mockautoscaling
|
||||
k8s.io/kops/cloudmock/aws/mockec2
|
||||
k8s.io/kops/cloudmock/aws/mockelb
|
||||
k8s.io/kops/cloudmock/aws/mockelbv2
|
||||
k8s.io/kops/cloudmock/aws/mockiam
|
||||
k8s.io/kops/cloudmock/aws/mockroute53
|
||||
k8s.io/kops/cloudmock/openstack
|
||||
k8s.io/kops/cloudmock/openstack/mockblockstorage
|
||||
k8s.io/kops/cloudmock/openstack/mockcompute
|
||||
k8s.io/kops/cloudmock/openstack/mockdns
|
||||
k8s.io/kops/cloudmock/openstack/mockimage
|
||||
k8s.io/kops/cloudmock/openstack/mockloadbalancer
|
||||
k8s.io/kops/cloudmock/openstack/mocknetworking
|
||||
k8s.io/kops/cmd/kops
|
||||
k8s.io/kops/cmd/kops/util
|
||||
k8s.io/kops/cmd/kops-controller
|
||||
k8s.io/kops/cmd/kops-controller/controllers
|
||||
k8s.io/kops/cmd/kops-controller/pkg/config
|
||||
k8s.io/kops/cmd/kops-controller/pkg/server
|
||||
k8s.io/kops/cmd/kube-apiserver-healthcheck
|
||||
k8s.io/kops/cmd/nodeup
|
||||
k8s.io/kops/dns-controller/cmd/dns-controller
|
||||
k8s.io/kops/dns-controller/pkg/dns
|
||||
k8s.io/kops/dns-controller/pkg/util
|
||||
k8s.io/kops/dns-controller/pkg/watchers
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/aws/route53
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/aws/route53/stubs
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/coredns
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/coredns/stubs
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/google/clouddns
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal/interfaces
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/google/clouddns/internal/stubs
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/providers/openstack/designate
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/rrstype
|
||||
k8s.io/kops/dnsprovider/pkg/dnsprovider/tests
|
||||
k8s.io/kops/examples/kops-api-example
|
||||
k8s.io/kops/node-authorizer/cmd/node-authorizer
|
||||
k8s.io/kops/node-authorizer/pkg/authorizers/alwaysallow
|
||||
k8s.io/kops/node-authorizer/pkg/authorizers/aws
|
||||
k8s.io/kops/node-authorizer/pkg/client
|
||||
k8s.io/kops/node-authorizer/pkg/server
|
||||
k8s.io/kops/node-authorizer/pkg/utils
|
||||
k8s.io/kops/nodeup/pkg/bootstrap
|
||||
k8s.io/kops/nodeup/pkg/model
|
||||
k8s.io/kops/nodeup/pkg/model/networking
|
||||
k8s.io/kops/nodeup/pkg/model/resources
|
||||
k8s.io/kops/pkg/acls
|
||||
k8s.io/kops/pkg/acls/gce
|
||||
k8s.io/kops/pkg/acls/s3
|
||||
k8s.io/kops/pkg/apis/kops
|
||||
k8s.io/kops/pkg/apis/kops/install
|
||||
k8s.io/kops/pkg/apis/kops/model
|
||||
k8s.io/kops/pkg/apis/kops/registry
|
||||
k8s.io/kops/pkg/apis/kops/util
|
||||
k8s.io/kops/pkg/apis/kops/v1alpha2
|
||||
k8s.io/kops/pkg/apis/kops/validation
|
||||
k8s.io/kops/pkg/apis/nodeup
|
||||
k8s.io/kops/pkg/assets
|
||||
k8s.io/kops/pkg/backoff
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/fake
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/scheme
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/typed/kops/internalversion
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/typed/kops/internalversion/fake
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/typed/kops/v1alpha2
|
||||
k8s.io/kops/pkg/client/clientset_generated/clientset/typed/kops/v1alpha2/fake
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/fake
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/scheme
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/typed/kops/internalversion
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/typed/kops/internalversion/fake
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/typed/kops/v1alpha2
|
||||
k8s.io/kops/pkg/client/clientset_generated/internalclientset/typed/kops/v1alpha2/fake
|
||||
k8s.io/kops/pkg/client/simple
|
||||
k8s.io/kops/pkg/client/simple/api
|
||||
k8s.io/kops/pkg/client/simple/vfsclientset
|
||||
k8s.io/kops/pkg/cloudinstances
|
||||
k8s.io/kops/pkg/clusteraddons
|
||||
k8s.io/kops/pkg/commands
|
||||
k8s.io/kops/pkg/commands/commandutils
|
||||
k8s.io/kops/pkg/commands/helpers
|
||||
k8s.io/kops/pkg/configbuilder
|
||||
k8s.io/kops/pkg/diff
|
||||
k8s.io/kops/pkg/dns
|
||||
k8s.io/kops/pkg/dump
|
||||
k8s.io/kops/pkg/edit
|
||||
k8s.io/kops/pkg/featureflag
|
||||
k8s.io/kops/pkg/flagbuilder
|
||||
k8s.io/kops/pkg/formatter
|
||||
k8s.io/kops/pkg/instancegroups
|
||||
k8s.io/kops/pkg/jsonutils
|
||||
k8s.io/kops/pkg/k8scodecs
|
||||
k8s.io/kops/pkg/k8sversion
|
||||
k8s.io/kops/pkg/kopscodecs
|
||||
k8s.io/kops/pkg/kubeconfig
|
||||
k8s.io/kops/pkg/kubemanifest
|
||||
k8s.io/kops/pkg/model
|
||||
k8s.io/kops/pkg/model/alimodel
|
||||
k8s.io/kops/pkg/model/awsmodel
|
||||
k8s.io/kops/pkg/model/components
|
||||
k8s.io/kops/pkg/model/components/addonmanifests
|
||||
k8s.io/kops/pkg/model/components/addonmanifests/dnscontroller
|
||||
k8s.io/kops/pkg/model/components/etcdmanager
|
||||
k8s.io/kops/pkg/model/components/kubeapiserver
|
||||
k8s.io/kops/pkg/model/components/node-authorizer
|
||||
k8s.io/kops/pkg/model/defaults
|
||||
k8s.io/kops/pkg/model/domodel
|
||||
k8s.io/kops/pkg/model/gcemodel
|
||||
k8s.io/kops/pkg/model/iam
|
||||
k8s.io/kops/pkg/model/openstackmodel
|
||||
k8s.io/kops/pkg/model/resources
|
||||
k8s.io/kops/pkg/model/spotinstmodel
|
||||
k8s.io/kops/pkg/nodeidentity
|
||||
k8s.io/kops/pkg/nodeidentity/aws
|
||||
k8s.io/kops/pkg/nodeidentity/do
|
||||
k8s.io/kops/pkg/nodeidentity/gce
|
||||
k8s.io/kops/pkg/nodeidentity/openstack
|
||||
k8s.io/kops/pkg/nodelabels
|
||||
k8s.io/kops/pkg/pki
|
||||
k8s.io/kops/pkg/pretty
|
||||
k8s.io/kops/pkg/rbac
|
||||
k8s.io/kops/pkg/resources
|
||||
k8s.io/kops/pkg/resources/ali
|
||||
k8s.io/kops/pkg/resources/aws
|
||||
k8s.io/kops/pkg/resources/digitalocean
|
||||
k8s.io/kops/pkg/resources/digitalocean/dns
|
||||
k8s.io/kops/pkg/resources/gce
|
||||
k8s.io/kops/pkg/resources/openstack
|
||||
k8s.io/kops/pkg/resources/ops
|
||||
k8s.io/kops/pkg/resources/spotinst
|
||||
k8s.io/kops/pkg/sshcredentials
|
||||
k8s.io/kops/pkg/systemd
|
||||
k8s.io/kops/pkg/templates
|
||||
k8s.io/kops/pkg/testutils
|
||||
k8s.io/kops/pkg/testutils/golden
|
||||
k8s.io/kops/pkg/tokens
|
||||
k8s.io/kops/pkg/try
|
||||
k8s.io/kops/pkg/urls
|
||||
k8s.io/kops/pkg/util/stringorslice
|
||||
k8s.io/kops/pkg/util/subnet
|
||||
k8s.io/kops/pkg/util/templater
|
||||
k8s.io/kops/pkg/validation
|
||||
k8s.io/kops/pkg/values
|
||||
k8s.io/kops/pkg/wellknownports
|
||||
k8s.io/kops/pkg/wellknownusers
|
||||
k8s.io/kops/protokube/cmd/protokube
|
||||
k8s.io/kops/protokube/pkg/etcd
|
||||
k8s.io/kops/protokube/pkg/gossip
|
||||
k8s.io/kops/protokube/pkg/gossip/ali
|
||||
k8s.io/kops/protokube/pkg/gossip/aws
|
||||
k8s.io/kops/protokube/pkg/gossip/dns
|
||||
k8s.io/kops/protokube/pkg/gossip/dns/hosts
|
||||
k8s.io/kops/protokube/pkg/gossip/dns/provider
|
||||
k8s.io/kops/protokube/pkg/gossip/do
|
||||
k8s.io/kops/protokube/pkg/gossip/gce
|
||||
k8s.io/kops/protokube/pkg/gossip/memberlist
|
||||
k8s.io/kops/protokube/pkg/gossip/mesh
|
||||
k8s.io/kops/protokube/pkg/gossip/openstack
|
||||
k8s.io/kops/protokube/pkg/hostmount
|
||||
k8s.io/kops/protokube/pkg/protokube
|
||||
k8s.io/kops/protokube/tests/integration/build_etcd_manifest
|
||||
k8s.io/kops/tests/codecs
|
||||
k8s.io/kops/tests/fuzz
|
||||
k8s.io/kops/tests/integration/channel
|
||||
k8s.io/kops/tests/integration/conversion
|
||||
k8s.io/kops/upup/models
|
||||
k8s.io/kops/upup/pkg/fi
|
||||
k8s.io/kops/upup/pkg/fi/assettasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/alitasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/aliup
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/awstasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/awsup
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/cloudformation
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/do
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/dotasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/gce
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/gcetasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/openstack
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/openstacktasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/spotinsttasks
|
||||
k8s.io/kops/upup/pkg/fi/cloudup/terraform
|
||||
k8s.io/kops/upup/pkg/fi/fitasks
|
||||
k8s.io/kops/upup/pkg/fi/loader
|
||||
k8s.io/kops/upup/pkg/fi/nodeup
|
||||
k8s.io/kops/upup/pkg/fi/nodeup/cloudinit
|
||||
k8s.io/kops/upup/pkg/fi/nodeup/local
|
||||
k8s.io/kops/upup/pkg/fi/nodeup/nodetasks
|
||||
k8s.io/kops/upup/pkg/fi/secrets
|
||||
k8s.io/kops/upup/pkg/fi/utils
|
||||
k8s.io/kops/upup/pkg/kutil
|
||||
k8s.io/kops/upup/tools/generators/fitask
|
||||
k8s.io/kops/util/pkg/architectures
|
||||
k8s.io/kops/util/pkg/distributions
|
||||
k8s.io/kops/util/pkg/env
|
||||
k8s.io/kops/util/pkg/exec
|
||||
k8s.io/kops/util/pkg/hashing
|
||||
k8s.io/kops/util/pkg/maps
|
||||
k8s.io/kops/util/pkg/mirrors
|
||||
k8s.io/kops/util/pkg/proxy
|
||||
k8s.io/kops/util/pkg/reflectutils
|
||||
k8s.io/kops/util/pkg/slice
|
||||
k8s.io/kops/util/pkg/tables
|
||||
k8s.io/kops/util/pkg/text
|
||||
k8s.io/kops/util/pkg/ui
|
||||
k8s.io/kops/util/pkg/vfs
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# 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.
|
||||
|
||||
__all__ = ["kubernetes"]
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# 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.
|
||||
|
||||
__all__ = ["devtools"]
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# 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.
|
||||
|
||||
import os
|
||||
from os import path
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from lib.kubernetes import devtools
|
||||
|
||||
gopath=os.environ['GOPATH']
|
||||
|
||||
repo_root = path.abspath(path.join(path.dirname(path.abspath(__file__)), '..'))
|
||||
goimports = path.join(repo_root, '_output', 'bin', 'goimports')
|
||||
|
||||
packages = devtools.read_packages_file(repo_root)
|
||||
|
||||
paths = []
|
||||
|
||||
for package in packages:
|
||||
if package == 'k8s.io/kops':
|
||||
continue
|
||||
paths.append(package)
|
||||
|
||||
print("packages %s" % paths)
|
||||
|
||||
process = subprocess.Popen(['go', 'build', '-o', goimports, 'golang.org/x/tools/cmd/goimports'], stdout=subprocess.PIPE, cwd=path.join(repo_root, 'hack'))
|
||||
stdout, stderr = process.communicate()
|
||||
if process.returncode != 0:
|
||||
print("FAIL: installing goimports failed")
|
||||
print(stderr)
|
||||
sys.exit(1)
|
||||
|
||||
subprocess.call([goimports, '-w'] + paths, cwd=path.join(gopath, 'src'))
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env python
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright 2017 The Kubernetes Authors.
|
||||
# Copyright 2020 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.
|
||||
|
|
@ -14,12 +14,18 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import os
|
||||
from os import path
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
def read_packages_file(repo_path):
|
||||
packages = []
|
||||
with open(path.join(repo_path, 'hack/.packages')) as packages_file:
|
||||
for package in packages_file:
|
||||
packages.append(package.replace('\n', ''))
|
||||
return packages
|
||||
. "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
cd "${KOPS_ROOT}/hack" || exit 1
|
||||
|
||||
go build -o "${TOOLS_BIN}/goimports" golang.org/x/tools/cmd/goimports
|
||||
|
||||
cd "${KOPS_ROOT}" || exit 1
|
||||
|
||||
mapfile -t files < <(find . -type f -name '*.go' -not -path "./vendor/*")
|
||||
|
||||
"${TOOLS_BIN}/goimports" -w "${files[@]}"
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# 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.
|
||||
|
||||
import os
|
||||
from os import path
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from lib.kubernetes import devtools
|
||||
|
||||
gopath=os.environ['GOPATH']
|
||||
|
||||
repo_root = path.abspath(path.join(path.dirname(path.abspath(__file__)), '..'))
|
||||
goimports = path.join(repo_root, '_output', 'bin', 'goimports')
|
||||
|
||||
packages = devtools.read_packages_file(repo_root)
|
||||
|
||||
paths = []
|
||||
|
||||
for package in packages:
|
||||
if package == 'k8s.io/kops':
|
||||
continue
|
||||
paths.append(package)
|
||||
|
||||
# Install goimports from vendor
|
||||
print('installing goimports')
|
||||
|
||||
process = subprocess.Popen(['go', 'build', '-o', goimports, 'golang.org/x/tools/cmd/goimports'], stdout=subprocess.PIPE, cwd=path.join(repo_root, 'hack'))
|
||||
stdout, stderr = process.communicate()
|
||||
if process.returncode != 0:
|
||||
print("FAIL: installing goimports failed")
|
||||
print(stderr)
|
||||
sys.exit(1)
|
||||
|
||||
print("packages %s" % paths)
|
||||
|
||||
env = os.environ
|
||||
|
||||
process = subprocess.Popen(
|
||||
[goimports, '-l'] + paths,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
cwd=path.join(gopath, 'src'),
|
||||
env=env
|
||||
)
|
||||
stdout, stderr = process.communicate()
|
||||
|
||||
if stdout.strip().decode('ascii') != "" or stderr.strip().decode('ascii') != "":
|
||||
print("FAIL: 'goimports -w' needs to be run on the following files: ")
|
||||
print("STDOUT:\n" + stdout.decode('ascii'))
|
||||
print("STDERR:\n" + stderr.decode('ascii'))
|
||||
print('FAIL: Please run the following command: make goimports')
|
||||
sys.exit(1)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright 2019 The Kubernetes Authors.
|
||||
# Copyright 2020 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.
|
||||
|
|
@ -14,18 +14,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
. "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
# Check that the .packages file contains all packages
|
||||
packages_file="${KOPS_ROOT}/hack/.packages"
|
||||
if ! diff -u "${packages_file}" <(go list k8s.io/kops/... | grep -v vendor); then
|
||||
{
|
||||
echo
|
||||
echo "FAIL: ./hack/verify-packages.sh failed as the ./hack/.packages file is not in up to date."
|
||||
echo
|
||||
echo "FAIL: please execute the following command: 'go list k8s.io/kops/... | grep -v vendor > hack/.packages'"
|
||||
echo
|
||||
} >&2
|
||||
false
|
||||
cd "${KOPS_ROOT}/hack" || exit 1
|
||||
|
||||
go build -o "${TOOLS_BIN}/goimports" golang.org/x/tools/cmd/goimports
|
||||
|
||||
cd "${KOPS_ROOT}" || exit 1
|
||||
|
||||
mapfile -t files < <(find . -type f -name '*.go' -not -path "./vendor/*")
|
||||
|
||||
output=$("${TOOLS_BIN}/goimports" -l "${files[@]}")
|
||||
|
||||
if [ "${output}" != "" ]; then
|
||||
echo "goimports failed"
|
||||
echo "Please run the following command: make goimports"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Loading…
Reference in New Issue