GN: Print the import trail when parse errors occur.

This is especially useful when asserts fail when the file should not be
included in the first place.

Example error message:
ERROR at //build/config/android/internal_rules.gni:11:1: Assertion failed.
assert(false)
^-----
See //build/config/android/rules.gni:7:1: whence it was imported.
import("//build/config/android/internal_rules.gni")
^-------------------------------------------------
See //media/midi/BUILD.gn:13:3: whence it was imported.
  import("//build/config/android/rules.gni")
  ^----------------------------------------
See //BUILD.gn:193:7: which caused the package to be included.
      "//media/midi:midi_unittests",
      ^----------------------------

BUG=604972

Review URL: https://codereview.chromium.org/1905473003

Cr-Original-Commit-Position: refs/heads/master@{#388986}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dbecf02976975b93db37c3b5e3aa26d6fc92c517
4 files changed
tree: 62bb3dfe3fd7e359b3c518985ac52021c22954ed
  1. tools/