Issue
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.
Answered By – Jake MacDonald
Answer Checked By – Terry (FlutterFixes Volunteer)