Skip to content

Commit 1e13cb1

Browse files
authored
[native_assets_builder] Take packageLayout for build and dryRun (#127)
1 parent 11b4a64 commit 1e13cb1

File tree

5 files changed

+32
-12
lines changed

5 files changed

+32
-12
lines changed

pkgs/native_assets_builder/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 0.2.2
2+
3+
- Take a `PackageLayout` argument for `build` and `dryRun`
4+
[flutter#134427](https://github.com/flutter/flutter/issues/134427).
5+
16
## 0.2.1
27

38
- Provide a `PackageLayout` constructor for already parsed `PackageConfig`

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ class NativeAssetsBuildRunner {
4242
IOSSdk? targetIOSSdk,
4343
int? targetAndroidNdkApi,
4444
required bool includeParentEnvironment,
45+
PackageLayout? packageLayout,
4546
}) async {
46-
final packageLayout =
47-
await PackageLayout.fromRootPackageRoot(workingDirectory);
47+
packageLayout ??= await PackageLayout.fromRootPackageRoot(workingDirectory);
4848
final packagesWithNativeAssets =
4949
await packageLayout.packagesWithNativeAssets;
5050
final planner = await NativeAssetsBuildPlanner.fromRootPackageRoot(
@@ -118,9 +118,9 @@ class NativeAssetsBuildRunner {
118118
required OS targetOs,
119119
required Uri workingDirectory,
120120
required bool includeParentEnvironment,
121+
PackageLayout? packageLayout,
121122
}) async {
122-
final packageLayout =
123-
await PackageLayout.fromRootPackageRoot(workingDirectory);
123+
packageLayout ??= await PackageLayout.fromRootPackageRoot(workingDirectory);
124124
final packagesWithNativeAssets =
125125
await packageLayout.packagesWithNativeAssets;
126126
final planner = await NativeAssetsBuildPlanner.fromRootPackageRoot(

pkgs/native_assets_builder/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: native_assets_builder
22
description: >-
33
This package is the backend that invokes top-level `build.dart` scripts.
4-
version: 0.2.1
4+
version: 0.2.2
55
repository: https://github.com/dart-lang/native/tree/main/pkgs/native_assets_builder
66

77
environment:

pkgs/native_assets_builder/test/build_runner/build_runner_test.dart

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'dart:io';
66

7+
import 'package:native_assets_builder/native_assets_builder.dart';
78
import 'package:test/test.dart';
89

910
import '../helpers.dart';
@@ -36,15 +37,25 @@ void main() async {
3637
}
3738

3839
// Trigger a build, should not invoke anything.
39-
{
40+
for (final passPackageLayout in [true, false]) {
41+
PackageLayout? packageLayout;
42+
if (passPackageLayout) {
43+
packageLayout = await PackageLayout.fromRootPackageRoot(packageUri);
44+
}
4045
final logMessages = <String>[];
41-
final result = await build(packageUri, logger, dartExecutable,
42-
capturedLogs: logMessages);
46+
final result = await build(
47+
packageUri,
48+
logger,
49+
dartExecutable,
50+
capturedLogs: logMessages,
51+
packageLayout: packageLayout,
52+
);
4353
expect(
44-
false,
45-
logMessages
46-
.join('\n')
47-
.contains('native_add${Platform.pathSeparator}build.dart'));
54+
false,
55+
logMessages
56+
.join('\n')
57+
.contains('native_add${Platform.pathSeparator}build.dart'),
58+
);
4859
expect(result.assets.length, 1);
4960
}
5061
});

pkgs/native_assets_builder/test/build_runner/helpers.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Future<BuildResult> build(
3434
CCompilerConfig? cCompilerConfig,
3535
bool includeParentEnvironment = true,
3636
List<String>? capturedLogs,
37+
PackageLayout? packageLayout,
3738
}) async {
3839
StreamSubscription<LogRecord>? subscription;
3940
if (capturedLogs != null) {
@@ -51,6 +52,7 @@ Future<BuildResult> build(
5152
workingDirectory: packageUri,
5253
cCompilerConfig: cCompilerConfig,
5354
includeParentEnvironment: includeParentEnvironment,
55+
packageLayout: packageLayout,
5456
);
5557
if (result.success) {
5658
await expectAssetsExist(result.assets);
@@ -71,6 +73,7 @@ Future<DryRunResult> dryRun(
7173
CCompilerConfig? cCompilerConfig,
7274
bool includeParentEnvironment = true,
7375
List<String>? capturedLogs,
76+
PackageLayout? packageLayout,
7477
}) async {
7578
StreamSubscription<LogRecord>? subscription;
7679
if (capturedLogs != null) {
@@ -86,6 +89,7 @@ Future<DryRunResult> dryRun(
8689
targetOs: Target.current.os,
8790
workingDirectory: packageUri,
8891
includeParentEnvironment: includeParentEnvironment,
92+
packageLayout: packageLayout,
8993
);
9094

9195
if (subscription != null) {

0 commit comments

Comments
 (0)