diff options
author | laurentlb <laurentlb@google.com> | 2018-04-13 06:09:30 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-13 06:10:29 -0700 |
commit | 707acfeecf60ef622b745741e76bf47717b1b480 (patch) | |
tree | 5cab49a70b5e3380417c4817174d95d5fb0512b0 /src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | |
parent | 8738794b0497e240c9b41faefe46a7e790fc0ab7 (diff) |
Introduce `--incompatible_disallow_filetype` to remove the `FileType` function.
RELNOTES:
`FileType` is deprecated and will be removed soon.
Try the `--incompatible_disallow_filetype` flag to ensure your code
is forward-compatible.
PiperOrigin-RevId: 192758063
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java index 28ae658324..a612326495 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleClassFunctions.java @@ -1087,11 +1087,21 @@ public class SkylarkRuleClassFunctions { defaultValue = "[]", doc = "a list of the accepted file extensions." ) - } + }, + useLocation = true, + useEnvironment = true ) private static final BuiltinFunction fileType = new BuiltinFunction("FileType") { - public SkylarkFileType invoke(SkylarkList types) throws EvalException { + public SkylarkFileType invoke(SkylarkList types, Location loc, Environment env) + throws EvalException { + if (env.getSemantics().incompatibleDisallowFileType()) { + throw new EvalException( + loc, + "FileType function is not available. You may use a list of strings instead. " + + "You can temporarily reenable the function by passing the flag " + + "--incompatible_disallow_filetype=false"); + } return SkylarkFileType.of(types.getContents(String.class, "types")); } }; |