Using commit abcaf80, running copybara <command> <path to copy.bara.sky> where the copy.bara.sky file is invalid (incorrect call signatures for example) no longer shows the user the error, but instead throws a ClassCastException.
matt@Matts-MacBook-Pro $ copybara -v info ./ev/tooling/changelog/copy.bara.sky
Jan 12, 2020 8:51:09 AM com.google.copybara.Main configureLog
INFO: Setting up LogManager
Copybara source mover (Version: Unknown version)
Task: Cleaning output directory
INFO: PROFILE: 14 //copybara/clean_outputdir
Task: Loading config ev/tooling/changelog/copy.bara.sky
ERROR: /Users/matt/Documents/workspace/evertz/ev/tooling/changelog/copy.bara.sky:24:5: positional argument is misplaced (positional arguments come first)
INFO: PROFILE: 238 //copybara/loading_config
java.lang.ClassCastException: com.google.devtools.build.lib.syntax.Argument$Positional cannot be cast to com.google.devtools.build.lib.syntax.Argument$Keyword
at com.google.devtools.build.lib.syntax.Eval.doEval(Eval.java:572)
at com.google.devtools.build.lib.syntax.Eval.eval(Eval.java:459)
at com.google.devtools.build.lib.syntax.Eval.execDispatch(Eval.java:250)
at com.google.devtools.build.lib.syntax.Eval.exec(Eval.java:238)
at com.google.devtools.build.lib.syntax.Eval.execStatements(Eval.java:74)
at com.google.devtools.build.lib.syntax.Eval.execFunctionBody(Eval.java:59)
at com.google.devtools.build.lib.syntax.StarlarkFunction.fastcall(StarlarkFunction.java:103)
at com.google.devtools.build.lib.syntax.Starlark.fastcall(Starlark.java:259)
at com.google.devtools.build.lib.syntax.EvalUtils.exec(EvalUtils.java:899)
at com.google.copybara.config.SkylarkParser$Evaluator.eval(SkylarkParser.java:232)
at com.google.copybara.config.SkylarkParser$Evaluator.access$200(SkylarkParser.java:178)
at com.google.copybara.config.SkylarkParser.loadConfigInternal(SkylarkParser.java:82)
at com.google.copybara.config.SkylarkParser.getConfigWithTransitiveImports(SkylarkParser.java:124)
at com.google.copybara.config.SkylarkParser.loadConfig(SkylarkParser.java:73)
at com.google.copybara.ConfigLoader.loadForConfigFile(ConfigLoader.java:80)
at com.google.copybara.ConfigLoader.load(ConfigLoader.java:57)
at com.google.copybara.InfoCmd.run(InfoCmd.java:68)
at com.google.copybara.Main.runInternal(Main.java:244)
at com.google.copybara.Main.run(Main.java:122)
at com.google.copybara.Main.main(Main.java:101)
ERROR: Unexpected error (please file a bug against copybara): com.google.devtools.build.lib.syntax.Argument$Positional cannot be cast to com.google.devtools.build.lib.syntax.Argument$Keyword (java.lang.ClassCastException: com.google.devtools.build.lib.syntax.Argument$Positional cannot be cast to com.google.devtools.build.lib.syntax.Argument$Keyword)
INFO: PROFILE: 305 //copybara
To reproduce, call copybara with an invalid copy.bara.config file. Note that syntax errors are shown to the user, albeit along with the exception above.
In my config, I was missing the required authoring attr of core.workflow.
Using commit abcaf80, running
copybara <command> <path to copy.bara.sky>where thecopy.bara.skyfile is invalid (incorrect call signatures for example) no longer shows the user the error, but instead throws a ClassCastException.To reproduce, call copybara with an invalid copy.bara.config file. Note that syntax errors are shown to the user, albeit along with the exception above.
In my config, I was missing the required
authoringattr ofcore.workflow.