#!/usr/bin/env python
import sys

try:
    from tools.lint import lint
except ImportError:
    print("tools.lint not found.  Did you forget to run "
          '"git submodule update --init --recursive"?')
    sys.exit(2)

sys.exit(0 if lint.main() == 0 else 1)
