Skip to content

Commit 4e6f73a

Browse files
committed
[native_assets_builder] Move packageLayout to builder constructor
1 parent b2ad4a8 commit 4e6f73a

File tree

5 files changed

+25
-39
lines changed

5 files changed

+25
-39
lines changed

pkgs/native_assets_builder/lib/src/build_runner/build_runner.dart

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,13 @@ class NativeAssetsBuildRunner {
6868
final Uri dartExecutable;
6969
final Duration singleHookTimeout;
7070
final Map<String, String> hookEnvironment;
71+
final PackageLayout packageLayout;
7172

7273
NativeAssetsBuildRunner({
7374
required this.logger,
7475
required this.dartExecutable,
7576
required FileSystem fileSystem,
77+
required this.packageLayout,
7678
Duration? singleHookTimeout,
7779
Map<String, String>? hookEnvironment,
7880
}) : _fileSystem = fileSystem,
@@ -94,13 +96,11 @@ class NativeAssetsBuildRunner {
9496
required BuildInputValidator inputValidator,
9597
required BuildValidator buildValidator,
9698
required ApplicationAssetValidator applicationAssetValidator,
97-
required PackageLayout packageLayout,
9899
required List<String> buildAssetTypes,
99100
required bool linkingEnabled,
100101
}) async {
101102
final (buildPlan, packageGraph) = await _makePlan(
102103
hook: Hook.build,
103-
packageLayout: packageLayout,
104104
buildResult: null,
105105
);
106106
if (buildPlan == null) return null;
@@ -127,7 +127,6 @@ class NativeAssetsBuildRunner {
127127

128128
final (buildDirUri, outDirUri, outDirSharedUri) = await _setupDirectories(
129129
Hook.build,
130-
packageLayout,
131130
inputBuilder,
132131
package,
133132
);
@@ -155,9 +154,7 @@ class NativeAssetsBuildRunner {
155154
input,
156155
(input, output) =>
157156
buildValidator(input as BuildInput, output as BuildOutput),
158-
packageLayout.packageConfigUri,
159157
null,
160-
packageLayout,
161158
);
162159
if (result == null) return null;
163160
final (hookOutput, hookDeps) = result;
@@ -188,14 +185,12 @@ class NativeAssetsBuildRunner {
188185
required LinkInputValidator inputValidator,
189186
required LinkValidator linkValidator,
190187
required ApplicationAssetValidator applicationAssetValidator,
191-
required PackageLayout packageLayout,
192188
Uri? resourceIdentifiers,
193189
required List<String> buildAssetTypes,
194190
required BuildResult buildResult,
195191
}) async {
196192
final (buildPlan, packageGraph) = await _makePlan(
197193
hook: Hook.link,
198-
packageLayout: packageLayout,
199194
buildResult: buildResult,
200195
);
201196
if (buildPlan == null) return null;
@@ -207,7 +202,6 @@ class NativeAssetsBuildRunner {
207202

208203
final (buildDirUri, outDirUri, outDirSharedUri) = await _setupDirectories(
209204
Hook.link,
210-
packageLayout,
211205
inputBuilder,
212206
package,
213207
);
@@ -246,9 +240,7 @@ class NativeAssetsBuildRunner {
246240
input,
247241
(input, output) =>
248242
linkValidator(input as LinkInput, output as LinkOutput),
249-
packageLayout.packageConfigUri,
250243
resourceIdentifiers,
251-
packageLayout,
252244
);
253245
if (result == null) return null;
254246
final (hookOutput, hookDeps) = result;
@@ -273,7 +265,6 @@ class NativeAssetsBuildRunner {
273265

274266
Future<(Uri, Uri, Uri)> _setupDirectories(
275267
Hook hook,
276-
PackageLayout packageLayout,
277268
HookInputBuilder inputBuilder,
278269
Package package,
279270
) async {
@@ -301,10 +292,9 @@ class NativeAssetsBuildRunner {
301292
Hook hook,
302293
HookInput input,
303294
_HookValidator validator,
304-
Uri packageConfigUri,
305295
Uri? resources,
306-
PackageLayout packageLayout,
307296
) async {
297+
final packageConfigUri = packageLayout.packageConfigUri;
308298
final outDir = input.outputDirectory;
309299
return await runUnderDirectoriesLock(
310300
_fileSystem,
@@ -379,7 +369,6 @@ ${e.message}
379369
packageConfigUri,
380370
resources,
381371
hookKernelFile,
382-
packageLayout,
383372
hookEnvironment,
384373
);
385374
if (result == null) {
@@ -430,7 +419,6 @@ ${e.message}
430419
Uri packageConfigUri,
431420
Uri? resources,
432421
File hookKernelFile,
433-
PackageLayout packageLayout,
434422
Map<String, String> environment,
435423
) async {
436424
final inputFile = input.outputDirectory.resolve('../input.json');
@@ -503,7 +491,7 @@ ${e.message}
503491
hookOutputFile,
504492
hookOutputFileDeprecated,
505493
);
506-
final errors = await _validate(input, output, packageLayout, validator);
494+
final errors = await _validate(input, output, validator);
507495
if (errors.isNotEmpty) {
508496
_printErrors(
509497
'$hook hook of package:${input.packageName} has invalid output',
@@ -716,7 +704,6 @@ ${compileResult.stdout}
716704
Future<ValidationErrors> _validate(
717705
HookInput input,
718706
HookOutput output,
719-
PackageLayout packageLayout,
720707
_HookValidator validator,
721708
) async {
722709
final errors = input is BuildInput
@@ -745,7 +732,6 @@ ${compileResult.stdout}
745732
}
746733

747734
Future<(List<Package>? plan, PackageGraph? dependencyGraph)> _makePlan({
748-
required PackageLayout packageLayout,
749735
required Hook hook,
750736
// TODO(dacoharkes): How to share these two? Make them extend each other?
751737
BuildResult? buildResult,

pkgs/native_assets_builder/test/build_runner/build_runner_reusability_test.dart

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,16 @@ void main() async {
2525
logger: logger,
2626
);
2727

28+
final packageLayout = await PackageLayout.fromWorkingDirectory(
29+
const LocalFileSystem(),
30+
packageUri,
31+
packageName,
32+
);
2833
final buildRunner = NativeAssetsBuildRunner(
2934
logger: logger,
3035
dartExecutable: dartExecutable,
3136
fileSystem: const LocalFileSystem(),
37+
packageLayout: packageLayout,
3238
);
3339

3440
final targetOS = OS.current;
@@ -43,14 +49,8 @@ void main() async {
4349
linkModePreference: LinkModePreference.dynamic,
4450
);
4551

46-
final packageLayout = await PackageLayout.fromWorkingDirectory(
47-
const LocalFileSystem(),
48-
packageUri,
49-
packageName,
50-
);
5152
await buildRunner.build(
5253
inputCreator: inputCreator,
53-
packageLayout: packageLayout,
5454
linkingEnabled: false,
5555
buildAssetTypes: [],
5656
inputValidator: (input) async => [],
@@ -59,7 +59,6 @@ void main() async {
5959
);
6060
await buildRunner.build(
6161
inputCreator: inputCreator,
62-
packageLayout: packageLayout,
6362
linkingEnabled: false,
6463
buildAssetTypes: [],
6564
inputValidator: (input) async => [],

pkgs/native_assets_builder/test/build_runner/concurrency_shared_test_helper.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,16 @@ void main(List<String> args) async {
1919
..onRecord.listen((event) => print(event.message));
2020

2121
final targetOS = target.os;
22+
final packageLayout = await PackageLayout.fromWorkingDirectory(
23+
const LocalFileSystem(),
24+
packageUri,
25+
packageName,
26+
);
2227
final result = await NativeAssetsBuildRunner(
2328
logger: logger,
2429
dartExecutable: dartExecutable,
2530
fileSystem: const LocalFileSystem(),
31+
packageLayout: packageLayout,
2632
).build(
2733
// Set up the code input, so that the builds for different targets are
2834
// in different directories.
@@ -37,11 +43,6 @@ void main(List<String> args) async {
3743
targetOS == OS.android ? AndroidCodeConfig(targetNdkApi: 30) : null,
3844
linkModePreference: LinkModePreference.dynamic,
3945
),
40-
packageLayout: await PackageLayout.fromWorkingDirectory(
41-
const LocalFileSystem(),
42-
packageUri,
43-
packageName,
44-
),
4546
linkingEnabled: false,
4647
buildAssetTypes: [DataAsset.type, CodeAsset.type],
4748
inputValidator: (input) async => [

pkgs/native_assets_builder/test/build_runner/concurrency_test_helper.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,17 @@ void main(List<String> args) async {
2323
..onRecord.listen((event) => print(event.message));
2424

2525
final targetOS = OS.current;
26+
final packageLayout = await PackageLayout.fromWorkingDirectory(
27+
const LocalFileSystem(),
28+
packageUri,
29+
packageName,
30+
);
2631
final result = await NativeAssetsBuildRunner(
2732
logger: logger,
2833
dartExecutable: dartExecutable,
2934
singleHookTimeout: timeout,
3035
fileSystem: const LocalFileSystem(),
36+
packageLayout: packageLayout,
3137
).build(
3238
inputCreator: () => BuildInputBuilder()
3339
..config.setupCode(
@@ -39,11 +45,6 @@ void main(List<String> args) async {
3945
? MacOSCodeConfig(targetVersion: defaultMacOSVersion)
4046
: null,
4147
),
42-
packageLayout: await PackageLayout.fromWorkingDirectory(
43-
const LocalFileSystem(),
44-
packageUri,
45-
packageName,
46-
),
4748
linkingEnabled: false,
4849
buildAssetTypes: [CodeAsset.type, DataAsset.type],
4950
inputValidator: (input) async => [

pkgs/native_assets_builder/test/build_runner/helpers.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ Future<BuildResult?> build(
8080
dartExecutable: dartExecutable,
8181
fileSystem: const LocalFileSystem(),
8282
hookEnvironment: hookEnvironment,
83+
packageLayout: packageLayout,
8384
).build(
8485
inputCreator: () {
8586
final inputBuilder = BuildInputBuilder();
@@ -107,7 +108,6 @@ Future<BuildResult?> build(
107108
return inputBuilder;
108109
},
109110
inputValidator: inputValidator,
110-
packageLayout: packageLayout,
111111
linkingEnabled: linkingEnabled,
112112
buildAssetTypes: buildAssetTypes,
113113
buildValidator: buildValidator,
@@ -159,6 +159,7 @@ Future<LinkResult?> link(
159159
logger: logger,
160160
dartExecutable: dartExecutable,
161161
fileSystem: const LocalFileSystem(),
162+
packageLayout: packageLayout,
162163
).link(
163164
inputCreator: () {
164165
final inputBuilder = LinkInputBuilder();
@@ -186,7 +187,6 @@ Future<LinkResult?> link(
186187
return inputBuilder;
187188
},
188189
inputValidator: inputValidator,
189-
packageLayout: packageLayout,
190190
buildResult: buildResult,
191191
resourceIdentifiers: resourceIdentifiers,
192192
buildAssetTypes: buildAssetTypes,
@@ -236,6 +236,7 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
236236
logger: logger,
237237
dartExecutable: dartExecutable,
238238
fileSystem: const LocalFileSystem(),
239+
packageLayout: packageLayout,
239240
);
240241
final targetOS = target?.os ?? OS.current;
241242
final buildResult = await buildRunner.build(
@@ -265,7 +266,6 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
265266
return inputBuilder;
266267
},
267268
inputValidator: buildInputValidator,
268-
packageLayout: packageLayout,
269269
linkingEnabled: true,
270270
buildAssetTypes: buildAssetTypes,
271271
buildValidator: buildValidator,
@@ -309,7 +309,6 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
309309
return inputBuilder;
310310
},
311311
inputValidator: linkInputValidator,
312-
packageLayout: packageLayout,
313312
buildResult: buildResult,
314313
resourceIdentifiers: resourceIdentifiers,
315314
buildAssetTypes: buildAssetTypes,

0 commit comments

Comments
 (0)