@@ -139,6 +139,7 @@ Future<TestBuilderResult> testBuilder(
139
139
TestReaderWriter ? readerWriter,
140
140
bool verbose = false ,
141
141
bool enableLowResourceMode = false ,
142
+ bool flattenOutput = false ,
142
143
}) async {
143
144
return testBuilders (
144
145
[builder],
@@ -154,6 +155,7 @@ Future<TestBuilderResult> testBuilder(
154
155
readerWriter: readerWriter,
155
156
verbose: verbose,
156
157
enableLowResourceMode: enableLowResourceMode,
158
+ flattenOutput: flattenOutput,
157
159
);
158
160
}
159
161
@@ -186,6 +188,7 @@ Future<TestBuilderResult> testBuilders(
186
188
TestReaderWriter ? readerWriter,
187
189
bool verbose = false ,
188
190
bool enableLowResourceMode = false ,
191
+ bool flattenOutput = false ,
189
192
}) {
190
193
final builderFactories = < BuilderFactory > [];
191
194
final optionalBuilderFactories = Set <BuilderFactory >.identity ();
@@ -227,6 +230,7 @@ Future<TestBuilderResult> testBuilders(
227
230
readerWriter: readerWriter,
228
231
verbose: verbose,
229
232
enableLowResourceMode: enableLowResourceMode,
233
+ flattenOutput: flattenOutput,
230
234
);
231
235
}
232
236
@@ -293,6 +297,11 @@ Future<TestBuilderResult> testBuilders(
293
297
/// Optionally pass [enableLowResourceMode] , which acts like the command
294
298
/// line flag; in particular it disables file caching.
295
299
///
300
+ /// By default generated outputs are written to the `TestReaderWriter` where
301
+ /// they would be written in a real `build_runner` build, which means "hidden"
302
+ /// outputs go in the `.dart_tool/build/generated` folder in the root package.
303
+ /// Pass [flattenOutput] to instead output next to each package source.
304
+ ///
296
305
/// Returns a [TestBuilderResult] with the [BuildResult] and the
297
306
/// [TestReaderWriter] used for the build, which can be used for further
298
307
/// checks.
@@ -315,6 +324,7 @@ Future<TestBuilderResult> testBuilderFactories(
315
324
TestReaderWriter ? readerWriter,
316
325
bool verbose = false ,
317
326
bool enableLowResourceMode = false ,
327
+ bool flattenOutput = false ,
318
328
}) async {
319
329
onLog ?? = _printOnFailureOrWrite;
320
330
@@ -412,14 +422,14 @@ Future<TestBuilderResult> testBuilderFactories(
412
422
),
413
423
);
414
424
}
415
- for (final postProcessBuiderFactory in postProcessBuilderFactories) {
425
+ for (final postProcessBuilderFactory in postProcessBuilderFactories) {
416
426
String name;
417
427
try {
418
- name = builderName (postProcessBuiderFactory (const BuilderOptions ({})));
428
+ name = builderName (postProcessBuilderFactory (const BuilderOptions ({})));
419
429
} catch (e) {
420
430
name = e.toString ();
421
431
}
422
- builderApplications.add (applyPostProcess (name, postProcessBuiderFactory ));
432
+ builderApplications.add (applyPostProcess (name, postProcessBuilderFactory ));
423
433
}
424
434
425
435
final testingOverrides = TestingOverrides (
@@ -461,6 +471,7 @@ Future<TestBuilderResult> testBuilderFactories(
461
471
}.build ()
462
472
: null ,
463
473
reportUnusedAssetsForInput: reportUnusedAssetsForInput,
474
+ flattenOutput: flattenOutput,
464
475
);
465
476
466
477
final buildPlan = await BuildPlan .load (
0 commit comments