This didn't work as expected because the generic build mutator called into the type-specific build mutator in the middle of the function. This invalidated the config.Artifact pointer that was being mutated later on, effectively hiding these mutations from its caller.
To fix this, I turned glob expansion into its own mutator. It now works as expected, and produces better errors if the glob patterns are invalid or do not match files.
Tests
Unit tests.
Manual verification:
% databricks bundle deploy
Building sbt_example...
Error: target/scala-2.12/sbt-e[xam22ple*.jar: syntax error in pattern
at artifacts.sbt_example.files[1].source
in databricks.yml:15:17
Changes
This didn't work as expected because the generic build mutator called into the type-specific build mutator in the middle of the function. This invalidated the
config.Artifact
pointer that was being mutated later on, effectively hiding these mutations from its caller.To fix this, I turned glob expansion into its own mutator. It now works as expected, and produces better errors if the glob patterns are invalid or do not match files.
Tests
Unit tests.
Manual verification: