Skip to content

Commit 5d79761

Browse files
authored
Remove link-dry-run related code (which seems not used anywhere in flutter & dart) (#1613)
It seems neither Flutter Tools nor Dart SDK uses or needs the link-dry-run functionality. So I think we can simplify the code by removing this.
1 parent 5405028 commit 5d79761

File tree

7 files changed

+15
-251
lines changed

7 files changed

+15
-251
lines changed

pkgs/native_assets_builder/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
Dart CI test runner to the `package:native_assets_builder` for testing the
1010
dart-lang/native repository to make it clear those are not intended to be used
1111
by end-users.
12+
- Remove link-dry-run concept as it's unused by Flutter Tools & Dart SDK
1213

1314
## 0.8.3
1415

pkgs/native_assets_builder/lib/native_assets_builder.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,5 @@ export 'package:native_assets_builder/src/build_runner/build_runner.dart';
66
export 'package:native_assets_builder/src/model/build_dry_run_result.dart';
77
export 'package:native_assets_builder/src/model/build_result.dart';
88
export 'package:native_assets_builder/src/model/kernel_assets.dart';
9-
export 'package:native_assets_builder/src/model/link_dry_run_result.dart';
109
export 'package:native_assets_builder/src/model/link_result.dart';
1110
export 'package:native_assets_builder/src/package_layout/package_layout.dart';

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

Lines changed: 13 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import '../locking/locking.dart';
1414
import '../model/build_dry_run_result.dart';
1515
import '../model/build_result.dart';
1616
import '../model/hook_result.dart';
17-
import '../model/link_dry_run_result.dart';
1817
import '../model/link_result.dart';
1918
import '../package_layout/package_layout.dart';
2019
import '../utils/file.dart';
@@ -379,66 +378,12 @@ class NativeAssetsBuildRunner {
379378
PackageLayout? packageLayout,
380379
String? runPackageName,
381380
Iterable<String>? supportedAssetTypes,
382-
}) =>
383-
_runDryRun(
384-
hook: Hook.build,
385-
linkModePreference: linkModePreference,
386-
targetOS: targetOS,
387-
workingDirectory: workingDirectory,
388-
includeParentEnvironment: includeParentEnvironment,
389-
packageLayout: packageLayout,
390-
runPackageName: runPackageName,
391-
supportedAssetTypes: supportedAssetTypes,
392-
linkingEnabled: linkingEnabled,
393-
);
394-
395-
/// [workingDirectory] is expected to contain `.dart_tool`.
396-
///
397-
/// This method is invoked by launchers such as dartdev (for `dart run`) and
398-
/// flutter_tools (for `flutter run` and `flutter build`).
399-
///
400-
/// If provided, only native assets of all transitive dependencies of
401-
/// [runPackageName] are built.
402-
Future<LinkDryRunResult> linkDryRun({
403-
required LinkModePreferenceImpl linkModePreference,
404-
required OSImpl targetOS,
405-
required Uri workingDirectory,
406-
required bool includeParentEnvironment,
407-
PackageLayout? packageLayout,
408-
String? runPackageName,
409-
Iterable<String>? supportedAssetTypes,
410-
required BuildDryRunResult buildDryRunResult,
411-
}) =>
412-
_runDryRun(
413-
hook: Hook.link,
414-
linkModePreference: linkModePreference,
415-
targetOS: targetOS,
416-
workingDirectory: workingDirectory,
417-
includeParentEnvironment: includeParentEnvironment,
418-
packageLayout: packageLayout,
419-
runPackageName: runPackageName,
420-
supportedAssetTypes: supportedAssetTypes,
421-
buildDryRunResult: buildDryRunResult,
422-
linkingEnabled: null,
423-
);
424-
425-
Future<HookResult> _runDryRun({
426-
required LinkModePreferenceImpl linkModePreference,
427-
required OSImpl targetOS,
428-
required Uri workingDirectory,
429-
required bool includeParentEnvironment,
430-
PackageLayout? packageLayout,
431-
String? runPackageName,
432-
Iterable<String>? supportedAssetTypes,
433-
required Hook hook,
434-
BuildDryRunResult? buildDryRunResult,
435-
required bool? linkingEnabled,
436381
}) async {
382+
const hook = Hook.build;
437383
packageLayout ??= await PackageLayout.fromRootPackageRoot(workingDirectory);
438384
final (buildPlan, _, planSuccess) = await _makePlan(
439385
hook: hook,
440386
packageLayout: packageLayout,
441-
buildDryRunResult: buildDryRunResult,
442387
runPackageName: runPackageName,
443388
);
444389
if (!planSuccess) {
@@ -455,8 +400,6 @@ class NativeAssetsBuildRunner {
455400
linkMode: linkModePreference,
456401
buildParentDir: packageLayout.dartToolNativeAssetsBuilder,
457402
supportedAssetTypes: supportedAssetTypes,
458-
hook: hook,
459-
buildDryRunResult: buildDryRunResult,
460403
linkingEnabled: linkingEnabled,
461404
);
462405
final packageConfigUri = packageLayout.packageConfigUri;
@@ -820,11 +763,10 @@ ${compileResult.stdout}
820763
required OSImpl targetOS,
821764
required LinkModePreferenceImpl linkMode,
822765
required Uri buildParentDir,
823-
required Hook hook,
824-
BuildDryRunResult? buildDryRunResult,
825766
Iterable<String>? supportedAssetTypes,
826767
required bool? linkingEnabled,
827768
}) async {
769+
const hook = Hook.build;
828770
final buildDirName = HookConfigImpl.checksumDryRun(
829771
packageName: package.name,
830772
packageRoot: package.root,
@@ -850,30 +792,16 @@ ${compileResult.stdout}
850792
await outDirShared.create(recursive: true);
851793
}
852794

853-
switch (hook) {
854-
case Hook.build:
855-
return BuildConfigImpl.dryRun(
856-
outputDirectory: outDirUri,
857-
outputDirectoryShared: outputDirectoryShared,
858-
packageName: packageName,
859-
packageRoot: packageRoot,
860-
targetOS: targetOS,
861-
linkModePreference: linkMode,
862-
supportedAssetTypes: supportedAssetTypes,
863-
linkingEnabled: linkingEnabled,
864-
);
865-
case Hook.link:
866-
return LinkConfigImpl.dryRun(
867-
outputDirectory: outDirUri,
868-
outputDirectoryShared: outputDirectoryShared,
869-
packageName: packageName,
870-
packageRoot: packageRoot,
871-
targetOS: targetOS,
872-
assets: buildDryRunResult!.assetsForLinking[packageName] ?? [],
873-
supportedAssetTypes: supportedAssetTypes,
874-
linkModePreference: linkMode,
875-
);
876-
}
795+
return BuildConfigImpl.dryRun(
796+
outputDirectory: outDirUri,
797+
outputDirectoryShared: outputDirectoryShared,
798+
packageName: packageName,
799+
packageRoot: packageRoot,
800+
targetOS: targetOS,
801+
linkModePreference: linkMode,
802+
supportedAssetTypes: supportedAssetTypes,
803+
linkingEnabled: linkingEnabled,
804+
);
877805
}
878806

879807
DependencyMetadata? _metadataForPackage({
@@ -926,7 +854,6 @@ ${compileResult.stdout}
926854
required Hook hook,
927855
// TODO(dacoharkes): How to share these two? Make them extend each other?
928856
BuildResult? buildResult,
929-
BuildDryRunResult? buildDryRunResult,
930857
}) async {
931858
final packagesWithHook = await packageLayout.packagesWithAssets(hook);
932859
final List<Package> buildPlan;
@@ -956,8 +883,7 @@ ${compileResult.stdout}
956883
// Link hooks are skipped if no assets for linking are provided.
957884
buildPlan = [];
958885
final skipped = <String>[];
959-
final assetsForLinking = buildResult?.assetsForLinking ??
960-
buildDryRunResult?.assetsForLinking;
886+
final assetsForLinking = buildResult?.assetsForLinking;
961887
for (final package in packagesWithHook) {
962888
if (assetsForLinking![package.name]?.isNotEmpty ?? false) {
963889
buildPlan.add(package);

pkgs/native_assets_builder/lib/src/model/hook_result.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@ import '../../native_assets_builder.dart';
99

1010
/// The result from a [NativeAssetsBuildRunner.build] or
1111
/// [NativeAssetsBuildRunner.link].
12-
final class HookResult
13-
implements BuildResult, BuildDryRunResult, LinkResult, LinkDryRunResult {
12+
final class HookResult implements BuildResult, BuildDryRunResult, LinkResult {
1413
/// The native assets produced by the hooks, which should be bundled.
1514
@override
1615
final List<AssetImpl> assets;

pkgs/native_assets_builder/lib/src/model/link_dry_run_result.dart

Lines changed: 0 additions & 19 deletions
This file was deleted.

pkgs/native_assets_builder/test/build_runner/helpers.dart

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -246,34 +246,6 @@ Future<BuildDryRunResult> buildDryRun(
246246
return result;
247247
});
248248

249-
Future<LinkDryRunResult> linkDryRun(
250-
Uri packageUri,
251-
Logger logger,
252-
Uri dartExecutable, {
253-
LinkModePreferenceImpl linkModePreference = LinkModePreferenceImpl.dynamic,
254-
CCompilerConfigImpl? cCompilerConfig,
255-
bool includeParentEnvironment = true,
256-
List<String>? capturedLogs,
257-
PackageLayout? packageLayout,
258-
required BuildDryRunResult buildDryRunResult,
259-
Iterable<String>? supportedAssetTypes,
260-
}) async =>
261-
runWithLog(capturedLogs, () async {
262-
final result = await NativeAssetsBuildRunner(
263-
logger: logger,
264-
dartExecutable: dartExecutable,
265-
).linkDryRun(
266-
linkModePreference: linkModePreference,
267-
targetOS: Target.current.os,
268-
workingDirectory: packageUri,
269-
includeParentEnvironment: includeParentEnvironment,
270-
packageLayout: packageLayout,
271-
buildDryRunResult: buildDryRunResult,
272-
supportedAssetTypes: supportedAssetTypes,
273-
);
274-
return result;
275-
});
276-
277249
Future<void> expectAssetsExist(List<AssetImpl> assets) async {
278250
for (final asset in assets) {
279251
expect(File.fromUri(asset.file!), exists);

pkgs/native_assets_builder/test/build_runner/link_dry_run_test.dart

Lines changed: 0 additions & 114 deletions
This file was deleted.

0 commit comments

Comments
 (0)