Search code examples
dartdart-build

Dart `build_config` rename `buildStep.inputId` file


I want to rename (not just the extension) a file in my Builder. Is there any reason I shouldn't just create my own File based on buildStep.inputId and write to the file?


Solution

  • If you do this then lots of weird things will happen:

    • It will cause a new build (the build system will think you just manually created a file)
    • Dependencies get all weird - that file will now be available to be consumed by any other builder (even ones that ran before it). This could cause infinite loops or other weirdness.
    • Your builder won't be portable to bazel or other build system integrations outside of build_runner
    • We may in the future block you from doing this entirely

    Basically, you would be circumventing the whole build system, and the behavior becomes undefined.