tree 5928bf2f9d72ffc3eec0a5e08456e2574a4c2e31
parent bd16ab9454e624a26c53a0f3fb892e20fb1c36e6
author twerth <twerth@google.com> 1526385751 -0700
committer Copybara-Service <copybara-piper@google.com> 1526385830 -0700

Allow more characters in labels.

Partly addresses #374.

Specifically allow !%^`"'&;<>?[]{|} in target and package names. It's actually
simpler now to declare what we don't allow. In target names:
0-31 (control characters)
58 ':' (colon)
92 '\' (backslash)
127 (delete)

In package names:
0-31 (control characters)
58 ':' (colon)
64 '@' (at-sign)
92 '\' (backslash)
127 (delete)

- '\' is a path segment separator on Windows, and allowing it can lead to
  silent output file conflicts and - therefore - data corruption. We may be
  able to allow it in the future, but I didn't want to make that call.
- ':' is a special character that Bazel interprets as the package name / target
  name separator.
- '@' in package names can probably be allowed; at the beginning of a label it
  indicates a workspace name, but not within a segment. We actually have some
  tests that disallow it specifically, but those can probably just be deleted;
  however, it does require a bit of investigation, so I decided to delay that
  change.

It is possible that we don't correctly escape filenames in all cases. Also note
that the shell may require escaping for specific characters, and that Bazel
treats a single '*' (star) target name specially when given on the command
line.

RELNOTES: Bazel now allows almost all 7-bit ASCII characters in labels.
PiperOrigin-RevId: 196650651
