1#!/usr/bin/env python
2#
3# Copyright 2017 Google Inc.
4#
5# Use of this source code is governed by a BSD-style license that can be
6# found in the LICENSE file.
7
8import os
9import subprocess
10import sys
11
12sksllex = sys.argv[1]
13clangFormat = sys.argv[2]
14src = sys.argv[3]
15try:
16    subprocess.check_output([sksllex, src + "/sksl/lex/sksl.lex", "Lexer",
17                             "Token", src + "/sksl/SkSLLexer.h", src +
18                             "/sksl/SkSLLexer.cpp"])
19    subprocess.check_call(clangFormat + " -i \"" + src + "/sksl/SkSLLexer.h\"",
20                          shell=True)
21    subprocess.check_call(clangFormat + " -i \"" + src +
22                          "/sksl/SkSLLexer.cpp\"", shell=True)
23    subprocess.check_output([sksllex, src + "/sksl/lex/layout.lex",
24                             "LayoutLexer", "LayoutToken",
25                             src + "/sksl/SkSLLayoutLexer.h",
26                             src + "/sksl/SkSLLayoutLexer.cpp"])
27    subprocess.check_call(clangFormat + " -i \"" + src +
28                          "/sksl/SkSLLayoutLexer.h\"", shell=True)
29    subprocess.check_call(clangFormat + " -i \"" + src +
30                          "/sksl/SkSLLayoutLexer.cpp\"", shell=True)
31except subprocess.CalledProcessError as err:
32    print("### Lexer error:")
33    print(err.output)
34    exit(1)
35