Skip to content

Commit a9c0747

Browse files
committed
[native_assets_builder] Move runPackageName into PackageLayout
1 parent b68f305 commit a9c0747

File tree

8 files changed

+32
-26
lines changed

8 files changed

+32
-26
lines changed

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,6 @@ class NativeAssetsBuildRunner {
8383
/// This method is invoked by launchers such as dartdev (for `dart run`) and
8484
/// flutter_tools (for `flutter run` and `flutter build`).
8585
///
86-
/// If provided, only assets of all transitive dependencies of
87-
/// [runPackageName] are built.
88-
///
8986
/// The given [applicationAssetValidator] is only used if the build is
9087
/// performed without linking (i.e. [linkingEnabled] is `false`).
9188
///
@@ -98,15 +95,13 @@ class NativeAssetsBuildRunner {
9895
required BuildValidator buildValidator,
9996
required ApplicationAssetValidator applicationAssetValidator,
10097
required PackageLayout packageLayout,
101-
required String runPackageName,
10298
required List<String> buildAssetTypes,
10399
required bool linkingEnabled,
104100
}) async {
105101
final (buildPlan, packageGraph) = await _makePlan(
106102
hook: Hook.build,
107103
packageLayout: packageLayout,
108104
buildResult: null,
109-
runPackageName: runPackageName,
110105
);
111106
if (buildPlan == null) return null;
112107

@@ -185,9 +180,6 @@ class NativeAssetsBuildRunner {
185180
/// This method is invoked by launchers such as dartdev (for `dart run`) and
186181
/// flutter_tools (for `flutter run` and `flutter build`).
187182
///
188-
/// If provided, only assets of all transitive dependencies of
189-
/// [runPackageName] are linked.
190-
///
191183
/// The native assets build runner does not support reentrancy for identical
192184
/// [BuildInput] and [LinkInput]! For more info see:
193185
/// https://github.com/dart-lang/native/issues/1319
@@ -198,15 +190,13 @@ class NativeAssetsBuildRunner {
198190
required ApplicationAssetValidator applicationAssetValidator,
199191
required PackageLayout packageLayout,
200192
Uri? resourceIdentifiers,
201-
required String runPackageName,
202193
required List<String> buildAssetTypes,
203194
required BuildResult buildResult,
204195
}) async {
205196
final (buildPlan, packageGraph) = await _makePlan(
206197
hook: Hook.link,
207198
packageLayout: packageLayout,
208199
buildResult: buildResult,
209-
runPackageName: runPackageName,
210200
);
211201
if (buildPlan == null) return null;
212202

@@ -756,7 +746,6 @@ ${compileResult.stdout}
756746

757747
Future<(List<Package>? plan, PackageGraph? dependencyGraph)> _makePlan({
758748
required PackageLayout packageLayout,
759-
required String runPackageName,
760749
required Hook hook,
761750
// TODO(dacoharkes): How to share these two? Make them extend each other?
762751
BuildResult? buildResult,
@@ -772,7 +761,7 @@ ${compileResult.stdout}
772761
dartExecutable: Uri.file(Platform.resolvedExecutable),
773762
logger: logger,
774763
);
775-
final plan = planner.plan(runPackageName);
764+
final plan = planner.plan(packageLayout.runPackageName);
776765
return (plan, planner.packageGraph);
777766
case Hook.link:
778767
// Link hooks are not run in any particular order.

pkgs/native_assets_builder/lib/src/package_layout/package_layout.dart

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,36 +25,48 @@ class PackageLayout {
2525

2626
final Uri packageConfigUri;
2727

28+
/// Only assets of transitive dependencies of [runPackageName] are built.
29+
final String runPackageName;
30+
2831
PackageLayout._(
2932
this._fileSystem,
3033
this.packageConfig,
3134
this.packageConfigUri,
35+
this.runPackageName,
3236
);
3337

3438
factory PackageLayout.fromPackageConfig(
3539
FileSystem fileSystem,
3640
PackageConfig packageConfig,
3741
Uri packageConfigUri,
42+
String runPackageName,
3843
) {
3944
assert(fileSystem.file(packageConfigUri).existsSync());
4045
packageConfigUri = packageConfigUri.normalizePath();
4146
return PackageLayout._(
4247
fileSystem,
4348
packageConfig,
4449
packageConfigUri,
50+
runPackageName,
4551
);
4652
}
4753

4854
static Future<PackageLayout> fromWorkingDirectory(
4955
FileSystem fileSystem,
5056
Uri workingDirectory,
57+
String runPackgeName,
5158
) async {
5259
workingDirectory = workingDirectory.normalizePath();
5360
final packageConfigUri =
5461
await findPackageConfig(fileSystem, workingDirectory);
5562
assert(await fileSystem.file(packageConfigUri).exists());
5663
final packageConfig = await loadPackageConfigUri(packageConfigUri!);
57-
return PackageLayout._(fileSystem, packageConfig, packageConfigUri);
64+
return PackageLayout._(
65+
fileSystem,
66+
packageConfig,
67+
packageConfigUri,
68+
runPackgeName,
69+
);
5870
}
5971

6072
static Future<Uri?> findPackageConfig(

pkgs/native_assets_builder/test/build_runner/build_planner_test.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ void main() async {
3636
final graph = PackageGraph.fromPubDepsJsonString(result.stdout);
3737

3838
final packageLayout = await PackageLayout.fromWorkingDirectory(
39-
const LocalFileSystem(), nativeAddUri);
39+
const LocalFileSystem(), nativeAddUri, 'native_add');
4040
final packagesWithNativeAssets =
4141
await packageLayout.packagesWithAssets(Hook.build);
4242

@@ -61,7 +61,7 @@ void main() async {
6161
await runPubGet(workingDirectory: nativeAddUri, logger: logger);
6262

6363
final packageLayout = await PackageLayout.fromWorkingDirectory(
64-
const LocalFileSystem(), nativeAddUri);
64+
const LocalFileSystem(), nativeAddUri, 'native_add');
6565
final packagesWithNativeAssets =
6666
await packageLayout.packagesWithAssets(Hook.build);
6767
final nativeAssetsBuildPlanner =
@@ -90,7 +90,10 @@ void main() async {
9090
await runPubGet(workingDirectory: nativeAddUri, logger: logger);
9191

9292
final packageLayout = await PackageLayout.fromWorkingDirectory(
93-
const LocalFileSystem(), nativeAddUri);
93+
const LocalFileSystem(),
94+
nativeAddUri,
95+
runPackageName,
96+
);
9497
final packagesWithNativeAssets =
9598
await packageLayout.packagesWithAssets(Hook.build);
9699
final nativeAssetsBuildPlanner =

pkgs/native_assets_builder/test/build_runner/build_runner_reusability_test.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ void main() async {
4646
final packageLayout = await PackageLayout.fromWorkingDirectory(
4747
const LocalFileSystem(),
4848
packageUri,
49+
packageName,
4950
);
5051
await buildRunner.build(
5152
inputCreator: inputCreator,
@@ -55,7 +56,6 @@ void main() async {
5556
inputValidator: (input) async => [],
5657
buildValidator: (input, output) async => [],
5758
applicationAssetValidator: (_) async => [],
58-
runPackageName: packageName,
5959
);
6060
await buildRunner.build(
6161
inputCreator: inputCreator,
@@ -65,7 +65,6 @@ void main() async {
6565
inputValidator: (input) async => [],
6666
buildValidator: (input, output) async => [],
6767
applicationAssetValidator: (_) async => [],
68-
runPackageName: packageName,
6968
);
7069
});
7170
});

pkgs/native_assets_builder/test/build_runner/concurrency_shared_test_helper.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ void main(List<String> args) async {
4040
packageLayout: await PackageLayout.fromWorkingDirectory(
4141
const LocalFileSystem(),
4242
packageUri,
43+
packageName,
4344
),
4445
linkingEnabled: false,
4546
buildAssetTypes: [DataAsset.type, CodeAsset.type],
@@ -52,7 +53,6 @@ void main(List<String> args) async {
5253
...await validateCodeAssetBuildOutput(input, output),
5354
],
5455
applicationAssetValidator: validateCodeAssetInApplication,
55-
runPackageName: packageName,
5656
);
5757
if (result == null) {
5858
throw Error();

pkgs/native_assets_builder/test/build_runner/concurrency_test_helper.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ void main(List<String> args) async {
4242
packageLayout: await PackageLayout.fromWorkingDirectory(
4343
const LocalFileSystem(),
4444
packageUri,
45+
packageName,
4546
),
4647
linkingEnabled: false,
4748
buildAssetTypes: [CodeAsset.type, DataAsset.type],
@@ -54,7 +55,6 @@ void main(List<String> args) async {
5455
...await validateDataAssetBuildOutput(input, output),
5556
],
5657
applicationAssetValidator: validateCodeAssetInApplication,
57-
runPackageName: packageName,
5858
);
5959
if (result == null) {
6060
throw Error();

pkgs/native_assets_builder/test/build_runner/helpers.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Future<BuildResult?> build(
7272
final packageLayout = await PackageLayout.fromWorkingDirectory(
7373
const LocalFileSystem(),
7474
packageUri,
75+
runPackageName_,
7576
);
7677
return await runWithLog(capturedLogs, () async {
7778
final result = await NativeAssetsBuildRunner(
@@ -107,7 +108,6 @@ Future<BuildResult?> build(
107108
},
108109
inputValidator: inputValidator,
109110
packageLayout: packageLayout,
110-
runPackageName: runPackageName_,
111111
linkingEnabled: linkingEnabled,
112112
buildAssetTypes: buildAssetTypes,
113113
buildValidator: buildValidator,
@@ -152,6 +152,7 @@ Future<LinkResult?> link(
152152
final packageLayout = await PackageLayout.fromWorkingDirectory(
153153
const LocalFileSystem(),
154154
packageUri,
155+
runPackageName_,
155156
);
156157
return await runWithLog(capturedLogs, () async {
157158
final result = await NativeAssetsBuildRunner(
@@ -191,7 +192,6 @@ Future<LinkResult?> link(
191192
buildAssetTypes: buildAssetTypes,
192193
linkValidator: linkValidator,
193194
applicationAssetValidator: applicationAssetValidator,
194-
runPackageName: runPackageName_,
195195
);
196196

197197
if (result != null) {
@@ -230,6 +230,7 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
230230
final packageLayout = await PackageLayout.fromWorkingDirectory(
231231
const LocalFileSystem(),
232232
packageUri,
233+
runPackageName_,
233234
);
234235
final buildRunner = NativeAssetsBuildRunner(
235236
logger: logger,
@@ -265,7 +266,6 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
265266
},
266267
inputValidator: buildInputValidator,
267268
packageLayout: packageLayout,
268-
runPackageName: runPackageName_,
269269
linkingEnabled: true,
270270
buildAssetTypes: buildAssetTypes,
271271
buildValidator: buildValidator,
@@ -315,7 +315,6 @@ Future<(BuildResult?, LinkResult?)> buildAndLink(
315315
buildAssetTypes: buildAssetTypes,
316316
linkValidator: linkValidator,
317317
applicationAssetValidator: applicationAssetValidator,
318-
runPackageName: runPackageName_,
319318
);
320319

321320
if (linkResult != null) {

pkgs/native_assets_builder/test/build_runner/package_layout_test.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,16 @@ void main() async {
1919
await runPubGet(workingDirectory: nativeAddUri, logger: logger);
2020

2121
const fileSystem = LocalFileSystem();
22-
final packageLayout =
23-
await PackageLayout.fromWorkingDirectory(fileSystem, nativeAddUri);
22+
final packageLayout = await PackageLayout.fromWorkingDirectory(
23+
fileSystem,
24+
nativeAddUri,
25+
'native_add',
26+
);
2427
final packageLayout2 = PackageLayout.fromPackageConfig(
2528
fileSystem,
2629
packageLayout.packageConfig,
2730
packageLayout.packageConfigUri,
31+
'native_add',
2832
);
2933
expect(packageLayout.packageConfigUri, packageLayout2.packageConfigUri);
3034
});

0 commit comments

Comments
 (0)