xref: /aosp_15_r20/external/skia/gn/run_sksllex.py (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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