Script to call goimports

Trying out python
This commit is contained in:
Justin Santa Barbara 2017-03-16 09:42:38 -04:00
parent 103c0ed178
commit a41e7598ca
7 changed files with 154 additions and 0 deletions

3
.gitignore vendored
View File

@ -1,3 +1,6 @@
# Compiled python files
*.pyc
# OSX leaves these everywhere on SMB shares
._*

View File

@ -273,6 +273,11 @@ gofmt:
gofmt -w -s dns-controller/cmd
gofmt -w -s dns-controller/pkg
goimports:
sh -c hack/update-goimports
verify-goimports:
sh -c hack/verify-goimports
govet:
go vet \

17
hack/lib/__init__.py Normal file
View File

@ -0,0 +1,17 @@
#!/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"]

View File

@ -0,0 +1,17 @@
#!/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"]

View File

@ -0,0 +1,27 @@
#!/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
gopath=os.environ['GOPATH']
def read_packages_file(package_name):
packages = []
with open(path.join(gopath, 'src', package_name, 'hack/.packages')) as packages_file:
for package in packages_file:
packages.append(package.replace('\n', ''))
return packages

39
hack/update-goimports Executable file
View File

@ -0,0 +1,39 @@
#!/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']
package_name='k8s.io/kops'
packages = devtools.read_packages_file(package_name)
paths = []
for package in packages:
if package == package_name:
continue
paths.append(package)
print("packages %s" % paths)
subprocess.call(['goimports', '-w'] + paths, cwd=path.join(gopath, 'src'))

46
hack/verify-goimports Executable file
View File

@ -0,0 +1,46 @@
#!/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']
package_name='k8s.io/kops'
packages = devtools.read_packages_file(package_name)
paths = []
for package in packages:
if package == package_name:
continue
paths.append(package)
print("packages %s" % paths)
process = subprocess.Popen(['goimports', '-l'] + paths, stdout=subprocess.PIPE, cwd=path.join(gopath, 'src'))
stdout, stderr = process.communicate()
if stdout != "":
print("!!! 'goimports -w' needs to be run on the following files: ")
print(stdout)
print('!!! Please run: make goimports')
sys.exit(1)