[packages_autoroller] Migrate to `dart build cli` (#181273)
Bug:
* https://github.com/flutter/flutter/issues/181265
Tested locally `$ ./dev/packages_autoroller/run --token token.txt` and
commenting out all the GitHub stuff:
```
[...]
Executing [/Users/dacoharkes/src/flutter/package_autoroller_checkouts/framework/bin/dart, build, cli, --target, /Users/dacoharkes/src/flutter/package_autoroller_checkouts/framework/dev/tools/bin/generate_gradle_lockfiles.dart, -o, /var/folders/jc/4znngjfn6f7cxghhg0027rnh00klzg/T/zDK1S4]...
The `dart build cli` command is in preview at the moment.
See documentation on https://dart.dev/interop/c-interop#native-assets.
Deleting output directory: /var/folders/jc/4znngjfn6f7cxghhg0027rnh00klzg/T/zDK1S4/.
Generated: /var/folders/jc/4znngjfn6f7cxghhg0027rnh00klzg/T/zDK1S4/bundle/bin/generate_gradle_lockfiles
Executing [/Users/dacoharkes/src/flutter/package_autoroller_checkouts/framework/bin/flutter, --verbose, update-packages, --force-upgrade]...
[ +19 ms] executing: sysctl hw.optional.arm64
[...]
```
diff --git a/dev/packages_autoroller/lib/src/packages_autoroller.dart b/dev/packages_autoroller/lib/src/packages_autoroller.dart
index cf3aaa4..563a6cb 100644
--- a/dev/packages_autoroller/lib/src/packages_autoroller.dart
+++ b/dev/packages_autoroller/lib/src/packages_autoroller.dart
@@ -151,13 +151,21 @@
Directory tempDir,
) async {
final entrypoint = '${repoRoot.path}/dev/tools/bin/generate_gradle_lockfiles.dart';
- final File target = tempDir.childFile('generate_gradle_lockfiles');
+
await framework.streamFlutter(<String>[
'pub',
'get',
], workingDirectory: '${repoRoot.path}/dev/tools');
- await framework.streamDart(<String>['compile', 'exe', entrypoint, '-o', target.path]);
+ await framework.streamDart(<String>[
+ 'build',
+ 'cli',
+ '--target',
+ entrypoint,
+ '-o',
+ tempDir.path,
+ ]);
+ final File target = tempDir.childFile('bundle/bin/generate_gradle_lockfiles');
assert(
target.existsSync(),
'expected ${target.path} to exist after compilation, but it did not.',
diff --git a/dev/packages_autoroller/test/packages_autoroller_test.dart b/dev/packages_autoroller/test/packages_autoroller_test.dart
index 19d6608..12ef893 100644
--- a/dev/packages_autoroller/test/packages_autoroller_test.dart
+++ b/dev/packages_autoroller/test/packages_autoroller_test.dart
@@ -262,16 +262,19 @@
FakeCommand(
command: const <String>[
'$checkoutsParentDirectory/package_autoroller_checkouts/framework/bin/dart',
- 'compile',
- 'exe',
+ 'build',
+ 'cli',
+ '--target',
'$checkoutsParentDirectory/package_autoroller_checkouts/framework/dev/tools/bin/generate_gradle_lockfiles.dart',
'-o',
- '/.tmp_rand0/rand0/generate_gradle_lockfiles',
+ '/.tmp_rand0/rand0',
],
- onRun: (_) => fileSystem.file('/.tmp_rand0/rand0/generate_gradle_lockfiles').createSync(),
+ onRun: (_) => fileSystem
+ .file('/.tmp_rand0/rand0/bundle/bin/generate_gradle_lockfiles')
+ .createSync(recursive: true),
),
const FakeCommand(
- command: <String>['chmod', '+x', '/.tmp_rand0/rand0/generate_gradle_lockfiles'],
+ command: <String>['chmod', '+x', '/.tmp_rand0/rand0/bundle/bin/generate_gradle_lockfiles'],
),
const FakeCommand(command: <String>['git', 'ls-remote', '--heads', 'mirror']),
const FakeCommand(command: <String>['git', 'checkout', '-b', 'packages-autoroller-branch-1']),
@@ -354,16 +357,19 @@
FakeCommand(
command: const <String>[
'$checkoutsParentDirectory/package_autoroller_checkouts/framework/bin/dart',
- 'compile',
- 'exe',
+ 'build',
+ 'cli',
+ '--target',
'$checkoutsParentDirectory/package_autoroller_checkouts/framework/dev/tools/bin/generate_gradle_lockfiles.dart',
'-o',
- '/.tmp_rand0/rand0/generate_gradle_lockfiles',
+ '/.tmp_rand0/rand0',
],
- onRun: (_) => fileSystem.file('/.tmp_rand0/rand0/generate_gradle_lockfiles').createSync(),
+ onRun: (_) => fileSystem
+ .file('/.tmp_rand0/rand0/bundle/bin/generate_gradle_lockfiles')
+ .createSync(recursive: true),
),
const FakeCommand(
- command: <String>['chmod', '+x', '/.tmp_rand0/rand0/generate_gradle_lockfiles'],
+ command: <String>['chmod', '+x', '/.tmp_rand0/rand0/bundle/bin/generate_gradle_lockfiles'],
),
const FakeCommand(command: <String>['git', 'ls-remote', '--heads', 'mirror']),
const FakeCommand(command: <String>['git', 'checkout', '-b', 'packages-autoroller-branch-1']),
@@ -404,7 +410,7 @@
const FakeCommand(command: <String>['git', 'rev-parse', 'HEAD'], stdout: '000deadbeef'),
const FakeCommand(
command: <String>[
- '/.tmp_rand0/rand0/generate_gradle_lockfiles',
+ '/.tmp_rand0/rand0/bundle/bin/generate_gradle_lockfiles',
'--no-gradle-generation',
'--no-exclusion',
],