Skip to content

buildStep.writeAsString within PostProcessBuilder does not produce any files #4364

@Tienisto

Description

@Tienisto

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugIncorrect behavior (everything from a crash to more subtle misbehavior)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions