-
Notifications
You must be signed in to change notification settings - Fork 228
buildStep.writeAsString within PostProcessBuilder does not produce any files #4364
Copy link
Copy link
Open
Labels
type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)
Description
When writing a PostProcessBuilder, any calls to buildStep.writeAsString or buildStep.writeAsBytes succeed but no actual files are visible on the file system.
Builder:
PostProcessBuilder postBuilder(BuilderOptions options) {
return PostBuilder();
}
class PostBuilder implements PostProcessBuilder {
@override
final inputExtensions = ['sample.txt'];
@override
Future<void> build(PostProcessBuildStep buildStep) async {
print('Started PostBuilder...');
final content = await buildStep.readInputAsString();
final outputAssetId = AssetId(buildStep.inputId.package, 'lib/sample_upper.txt');
final outputContent = content.toUpperCase();
// Does not produce any file.
await buildStep.writeAsString(
outputAssetId,
outputContent,
);
print('Written to $outputAssetId with content: $outputContent');
buildStep.deletePrimaryInput();
}
}Logs:
2s compiling builders/jit
0s build_runner_test:normal_builder on 1 input: 1 output
lib/$lib$ build_runner_test:normal_builder
W Written to build_runner_test|lib/sample.txt
lib/sample.txt build_runner
W Started PostBuilder...
W Written to build_runner_test|lib/sample_upper.txt with content: HELLO WORLD
Built with build_runner/jit in 2s with warnings; wrote 2 outputs.
Setup:
Dart SDK version: 3.10.8 (stable) (Tue Jan 27 00:02:04 2026 -0800) on "macos_arm64"
Sample repository:
https://github.com/Tienisto/build_runner_test
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)Incorrect behavior (everything from a crash to more subtle misbehavior)