1*c8dee2aaSAndroid Build Coastguard Worker#!/usr/bin/env python 2*c8dee2aaSAndroid Build Coastguard Worker# 3*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2017 Google Inc. 4*c8dee2aaSAndroid Build Coastguard Worker# 5*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 6*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workerimport os 9*c8dee2aaSAndroid Build Coastguard Workerimport subprocess 10*c8dee2aaSAndroid Build Coastguard Workerimport sys 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workersksllex = sys.argv[1] 13*c8dee2aaSAndroid Build Coastguard WorkerclangFormat = sys.argv[2] 14*c8dee2aaSAndroid Build Coastguard WorkerfetchClangFormat = sys.argv[3] 15*c8dee2aaSAndroid Build Coastguard Workersrc = sys.argv[4] 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard WorkerexeSuffix = '.exe' if sys.platform.startswith('win') else ''; 18*c8dee2aaSAndroid Build Coastguard Worker 19*c8dee2aaSAndroid Build Coastguard Workertry: 20*c8dee2aaSAndroid Build Coastguard Worker subprocess.check_output([sksllex, src + "/sksl/lex/sksl.lex", "Lexer", 21*c8dee2aaSAndroid Build Coastguard Worker "Token", src + "/sksl/SkSLLexer.h", src + 22*c8dee2aaSAndroid Build Coastguard Worker "/sksl/SkSLLexer.cpp"]) 23*c8dee2aaSAndroid Build Coastguard Worker 24*c8dee2aaSAndroid Build Coastguard Worker if not os.path.isfile(clangFormat + exeSuffix): 25*c8dee2aaSAndroid Build Coastguard Worker subprocess.check_call([sys.executable, fetchClangFormat]); 26*c8dee2aaSAndroid Build Coastguard Worker 27*c8dee2aaSAndroid Build Coastguard Worker subprocess.check_call(clangFormat + " -i \"" + src + "/sksl/SkSLLexer.h\"", 28*c8dee2aaSAndroid Build Coastguard Worker shell=True) 29*c8dee2aaSAndroid Build Coastguard Worker subprocess.check_call(clangFormat + " -i \"" + src + 30*c8dee2aaSAndroid Build Coastguard Worker "/sksl/SkSLLexer.cpp\"", shell=True) 31*c8dee2aaSAndroid Build Coastguard Workerexcept subprocess.CalledProcessError as err: 32*c8dee2aaSAndroid Build Coastguard Worker print("### Lexer error:") 33*c8dee2aaSAndroid Build Coastguard Worker print(err.output) 34*c8dee2aaSAndroid Build Coastguard Worker exit(1) 35