tree e2e701a9dc187bcf0c473b340d14f42601fa535a
parent 600791013ce1dbb7c440d1c470172439d52e9064
author Dave Borowitz <dborowitz@google.com> 1406662855 -0700
committer Dave Borowitz <dborowitz@google.com> 1406678769 -0700

Provide helpful errors when bucklets are missing

Based on experience, most users clone without --recursive, and don't
know to look for submodules when something fails. This causes the
first "buck build" to fail with a cryptic error:

  [+] PARSING BUILD FILES...0.0s
  Traceback (most recent call last):
    File ".../buck-out/tmp/buck_run.TJfecZrGH8/buck3109317914122554851.py", line 1205, in <module>
      main()
    File ".../buck-out/tmp/buck_run.TJfecZrGH8/buck3109317914122554851.py", line 588, in main
      buildFileProcessor.process(build_file.rstrip())
    File ".../buck-out/tmp/buck_run.TJfecZrGH8/buck3109317914122554851.py", line 487, in process
      build_env['BUILD_FILE_SYMBOL_TABLE'])
    File "..././BUCK", line 2, in <module>
      include_defs('//bucklets/maven_package.bucklet')
    File ".../buck-out/tmp/buck_run.TJfecZrGH8/buck3109317914122554851.py", line 85, in invoke
      return self.func(*args, **updated_kwargs)
    File ".../buck-out/tmp/buck_run.TJfecZrGH8/buck3109317914122554851.py", line 403, in include_defs
      execfile(include_file, build_env['BUILD_FILE_SYMBOL_TABLE'])
  IOError: [Errno 2] No such file or directory: '.../bucklets/maven_package.bucklet'
BUILD FAILED: Parse error for BUCK file ./BUCK: End of input at line 1 column 1

Instead, provide a wrapper around include_defs specifically for
bucklets, which checks that the bucklets directory exists and is
non-empty. If it is empty, buck fails with a more useful error:

  [+] PARSING BUILD FILES...0.2s
  Bucklets directory is empty: .../gitiles/bucklets
  Run `git submodule init`
  BUILD FAILED: Parse error for BUCK file ./BUCK: End of input at line 1 column 1

The unfortunate chicken-and-egg problem with this approach is this
common functionality cannot live in the bucklets repo itself.

Change-Id: I767f582f8978075355203af126d253dfc28ea8cd
