diff --git a/examples/k8petstore/web-server/PetStoreBook.go b/examples/k8petstore/web-server/PetStoreBook.go index b6d148baf1b..1c81cef9537 100644 --- a/examples/k8petstore/web-server/PetStoreBook.go +++ b/examples/k8petstore/web-server/PetStoreBook.go @@ -1,5 +1,3 @@ -package main - /* Copyright 2014 The Kubernetes Authors All rights reserved. @@ -16,6 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ +package main + import ( "encoding/json" "fmt" diff --git a/hooks/boilerplate.py b/hooks/boilerplate.py index 3b04c78420f..8414577e451 100755 --- a/hooks/boilerplate.py +++ b/hooks/boilerplate.py @@ -25,18 +25,20 @@ import sys def PrintError(*err): print(*err, file=sys.stderr) -def file_passes(filename, extention, ref, regex): +def file_passes(filename, extension, ref, regexs): try: f = open(filename, 'r') except: return False - data = f.readlines() + data = f.read() # remove build tags from the top of Go file - if extention == "go": - while data[0] != "/*\n": - data = data[1:] + if extension == "go": + p = regexs["go_build_constraints"] + (data, found) = p.subn("", data, 1) + + data = data.splitlines() # if our test file is smaller than the reference it surely fails! if len(ref) > len(data): @@ -46,8 +48,10 @@ def file_passes(filename, extention, ref, regex): data = data[:len(ref)] # Replace all occurances of the regex "2015" with "2014" + p = regexs["date"] for i, d in enumerate(data): - (data[i], found) = regex.subn( '2014', d) + + (data[i], found) = p.subn( '2014', d) if found != 0: break @@ -64,23 +68,26 @@ def main(): basedir = os.path.dirname(os.path.abspath(__file__)) - extention = sys.argv[1] + extension = sys.argv[1] # argv[0] is the binary, argv[1] is the extension (go, sh, py, whatever) filenames = sys.argv[2:] - ref_filename = basedir + "/boilerplate." + extention + ".txt" + ref_filename = basedir + "/boilerplate." + extension + ".txt" try: ref_file = open(ref_filename, 'r') except: # No boilerplate template is success return True - ref = ref_file.readlines() + ref = ref_file.read().splitlines() + regexs = {} # dates can be 2014 or 2015, company holder names can be anything - p = re.compile( '(2014|2015)' ) + regexs["date"] = re.compile( '(2014|2015)' ) + # strip // +build \n\n build constraints + regexs["go_build_constraints"] = re.compile(r"^(// \+build.*\n)+\n", re.MULTILINE) for filename in filenames: - if not file_passes(filename, extention, ref, p): + if not file_passes(filename, extension, ref, regexs): print(filename, file=sys.stdout) if __name__ == "__main__":