Skip to content

Commit fc9f5b0

Browse files
auto-submit[bot]auto-submit[bot]
andauthored
Reverts "Make Flutter version information accessible at runtime (flutter#140783)" (flutter#163753)
<!-- start_original_pr_link --> Reverts: flutter#140783 <!-- end_original_pr_link --> <!-- start_initiating_author --> Initiated by: matanlurey <!-- end_initiating_author --> <!-- start_revert_reason --> Reason for reverting: This broke presubmit (which was skipped using `added this pull request to the merge queue 2 hours ago`). See flutter#162715. Adding to the merge queue manually is _not_ safe currently. <!-- end_revert_reason --> <!-- start_original_pr_author --> Original PR Author: ueman <!-- end_original_pr_author --> <!-- start_reviewers --> Reviewed By: {bkonyi} <!-- end_reviewers --> <!-- start_revert_body --> This change reverts the following previous change: This makes various Flutter version information available at runtime. It's basically the same as executing `flutter --version`. This is especially useful for tools like Crashlytics or Sentry (see for example getsentry/sentry-dart#416). Usage example: ```dart FlutterVersion.version; // 3.16.5 FlutterVersion.channel; // stable FlutterVersion.gitUrl; // https://github.com/flutter/flutter.git FlutterVersion.frameworkRevision; // 78666c8 FlutterVersion.engineRevision; // 3f3e560236 FlutterVersion.dartVersion; // 3.2.3 ``` This approach has prior art as seen in flutter#134179. Fixes flutter#61814 <!-- *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* --> ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat <!-- end_revert_body --> Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
1 parent 2a6b015 commit fc9f5b0

File tree

13 files changed

+9
-386
lines changed

13 files changed

+9
-386
lines changed

packages/flutter/lib/services.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ export 'src/services/clipboard.dart';
2020
export 'src/services/debug.dart';
2121
export 'src/services/deferred_component.dart';
2222
export 'src/services/flavor.dart';
23-
export 'src/services/flutter_version.dart';
2423
export 'src/services/font_loader.dart';
2524
export 'src/services/haptic_feedback.dart';
2625
export 'src/services/hardware_keyboard.dart';

packages/flutter/lib/src/services/flutter_version.dart

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

packages/flutter/test/services/flutter_version_test.dart

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

packages/flutter_tools/lib/src/runner/flutter_command.dart

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import '../globals.dart' as globals;
3030
import '../project.dart';
3131
import '../reporting/reporting.dart';
3232
import '../reporting/unified_analytics.dart';
33-
import '../version.dart';
3433
import 'flutter_command_runner.dart';
3534
import 'target_devices.dart';
3635

@@ -183,41 +182,6 @@ abstract class FlutterCommand extends Command<void> {
183182
/// The flag name for whether or not to use ipv6.
184183
static const String ipv6Flag = 'ipv6';
185184

186-
/// The dart define used for adding the Flutter version at runtime.
187-
@visibleForTesting
188-
static const String flutterVersionDefine = 'FLUTTER_VERSION';
189-
190-
/// The dart define used for adding the Flutter channel at runtime.
191-
@visibleForTesting
192-
static const String flutterChannelDefine = 'FLUTTER_CHANNEL';
193-
194-
/// The dart define used for adding the Flutter git URL at runtime.
195-
@visibleForTesting
196-
static const String flutterGitUrlDefine = 'FLUTTER_GIT_URL';
197-
198-
/// The dart define used for adding the Flutter framework revision at runtime.
199-
@visibleForTesting
200-
static const String flutterFrameworkRevisionDefine = 'FLUTTER_FRAMEWORK_REVISION';
201-
202-
/// The dart define used for adding the Flutter engine revision at runtime.
203-
@visibleForTesting
204-
static const String flutterEngineRevisionDefine = 'FLUTTER_ENGINE_REVISION';
205-
206-
/// The dart define used for adding the Dart version at runtime.
207-
@visibleForTesting
208-
static const String flutterDartVersionDefine = 'FLUTTER_DART_VERSION';
209-
210-
/// List of all dart defines used for adding Flutter version information at runtime
211-
@visibleForTesting
212-
static const List<String> flutterVersionDartDefines = <String>[
213-
flutterVersionDefine,
214-
flutterChannelDefine,
215-
flutterGitUrlDefine,
216-
flutterFrameworkRevisionDefine,
217-
flutterEngineRevisionDefine,
218-
flutterDartVersionDefine,
219-
];
220-
221185
@override
222186
ArgParser get argParser => _argParser;
223187
final ArgParser _argParser = ArgParser(
@@ -1455,8 +1419,6 @@ abstract class FlutterCommand extends Command<void> {
14551419
final String? cliFlavor = argParser.options.containsKey('flavor') ? stringArg('flavor') : null;
14561420
final String? flavor = cliFlavor ?? defaultFlavor;
14571421

1458-
_addFlutterVersionToDartDefines(globals.flutterVersion, dartDefines);
1459-
14601422
return BuildInfo(
14611423
buildMode,
14621424
flavor,
@@ -1494,34 +1456,6 @@ abstract class FlutterCommand extends Command<void> {
14941456
);
14951457
}
14961458

1497-
// This adds the Dart defines used to access various Flutter version information at runtime.
1498-
void _addFlutterVersionToDartDefines(FlutterVersion version, List<String> dartDefines) {
1499-
for (final String dartDefine in flutterVersionDartDefines) {
1500-
if (globals.platform.environment[dartDefine] != null) {
1501-
throwToolExit(
1502-
'$dartDefine is used by the framework and cannot be set in the environment. '
1503-
'Use FlutterVersion to access it in Flutter code',
1504-
);
1505-
}
1506-
if (dartDefines.any((String define) => define.startsWith(dartDefine))) {
1507-
throwToolExit(
1508-
'$dartDefine is used by the framework and cannot be '
1509-
'set using --${FlutterOptions.kDartDefinesOption} or --${FlutterOptions.kDartDefineFromFileOption}. '
1510-
'Use FlutterVersion to access it in Flutter code',
1511-
);
1512-
}
1513-
}
1514-
1515-
dartDefines.addAll(<String>[
1516-
'$flutterVersionDefine=${version.frameworkVersion}',
1517-
'$flutterChannelDefine=${version.channel}',
1518-
'$flutterGitUrlDefine=${version.repositoryUrl}',
1519-
'$flutterFrameworkRevisionDefine=${version.frameworkRevisionShort}',
1520-
'$flutterEngineRevisionDefine=${version.engineRevisionShort}',
1521-
'$flutterDartVersionDefine=${version.dartSdkVersion}',
1522-
]);
1523-
}
1524-
15251459
void setupApplicationPackages() {
15261460
applicationPackages ??= ApplicationPackageFactory.instance;
15271461
}

packages/flutter_tools/test/commands.shard/hermetic/build_aar_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ flutter:
102102
'-I=/flutter/packages/flutter_tools/gradle/aar_init_script.gradle',
103103
...List<RegExp>.filled(4, RegExp(r'-P[a-zA-Z-]+=.*')),
104104
'-q',
105-
...List<RegExp>.filled(6, RegExp(r'-P[a-zA-Z-]+=.*')),
105+
...List<RegExp>.filled(5, RegExp(r'-P[a-zA-Z-]+=.*')),
106106
'assembleAar$buildMode',
107107
],
108108
onRun: (_) => fs.directory('/build/host/outputs/repo').createSync(recursive: true),

packages/flutter_tools/test/commands.shard/hermetic/build_linux_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -651,7 +651,7 @@ ERROR: No file or variants found for asset: images/a_dot_burr.jpeg
651651
'set(FLUTTER_VERSION_MINOR 0 PARENT_SCOPE)',
652652
'set(FLUTTER_VERSION_PATCH 0 PARENT_SCOPE)',
653653
'set(FLUTTER_VERSION_BUILD 0 PARENT_SCOPE)',
654-
' "DART_DEFINES=Zm9vLmJhcj0y,Zml6ei5mYXI9Mw==,RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI="',
654+
' "DART_DEFINES=Zm9vLmJhcj0y,Zml6ei5mYXI9Mw=="',
655655
' "DART_OBFUSCATION=true"',
656656
' "EXTRA_FRONT_END_OPTIONS=--enable-experiment=non-nullable"',
657657
' "EXTRA_GEN_SNAPSHOT_OPTIONS=--enable-experiment=non-nullable"',

packages/flutter_tools/test/commands.shard/hermetic/build_macos_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ STDERR STUFF
485485
'FLUTTER_BUILD_DIR=build',
486486
'FLUTTER_BUILD_NAME=1.0.0',
487487
'FLUTTER_BUILD_NUMBER=1',
488-
'DART_DEFINES=Zm9vLmJhcj0y,Zml6ei5mYXI9Mw==,RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI=',
488+
'DART_DEFINES=Zm9vLmJhcj0y,Zml6ei5mYXI9Mw==',
489489
'DART_OBFUSCATION=true',
490490
'EXTRA_FRONT_END_OPTIONS=--enable-experiment=non-nullable',
491491
'EXTRA_GEN_SNAPSHOT_OPTIONS=--enable-experiment=non-nullable',

packages/flutter_tools/test/commands.shard/hermetic/build_web_test.dart

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,7 @@ void main() {
143143
'HasWebPlugins': 'true',
144144
'ServiceWorkerStrategy': 'offline-first',
145145
'BuildMode': 'release',
146-
'DartDefines':
147-
'Zm9vPWE=,RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI=',
146+
'DartDefines': 'Zm9vPWE=',
148147
'DartObfuscation': 'false',
149148
'TrackWidgetCreation': 'false',
150149
'TreeShakeIcons': 'true',
@@ -205,8 +204,7 @@ void main() {
205204
'Dart2jsNoFrequencyBasedMinification': 'false',
206205
'Dart2jsOptimization': 'O3',
207206
'BuildMode': 'release',
208-
'DartDefines':
209-
'Zm9vPWE=,RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ==,RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI=',
207+
'DartDefines': 'Zm9vPWE=,RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ==',
210208
'DartObfuscation': 'false',
211209
'TrackWidgetCreation': 'false',
212210
'TreeShakeIcons': 'true',
@@ -260,8 +258,6 @@ void main() {
260258
'HasWebPlugins': 'true',
261259
'ServiceWorkerStrategy': 'offline-first',
262260
'BuildMode': 'release',
263-
'DartDefines':
264-
'RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI=',
265261
'DartObfuscation': 'false',
266262
'TrackWidgetCreation': 'false',
267263
'TreeShakeIcons': 'true',

packages/flutter_tools/test/commands.shard/hermetic/build_windows_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ if %errorlevel% neq 0 goto :VCEnd</Command>
568568
r'set(FLUTTER_VERSION_MINOR 0 PARENT_SCOPE)',
569569
r'set(FLUTTER_VERSION_PATCH 0 PARENT_SCOPE)',
570570
r'set(FLUTTER_VERSION_BUILD 0 PARENT_SCOPE)',
571-
r' "DART_DEFINES=Zm9vPWE=,YmFyPWI=,RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI="',
571+
r' "DART_DEFINES=Zm9vPWE=,YmFyPWI="',
572572
r' "DART_OBFUSCATION=true"',
573573
r' "EXTRA_FRONT_END_OPTIONS=--enable-experiment=non-nullable"',
574574
r' "EXTRA_GEN_SNAPSHOT_OPTIONS=--enable-experiment=non-nullable"',

packages/flutter_tools/test/commands.shard/permeable/build_aar_test.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,6 @@ void main() {
381381
'-PbuildNumber=1.0',
382382
'-q',
383383
'-Ptarget=${globals.fs.path.join('lib', 'main.dart')}',
384-
'-Pdart-defines=RkxVVFRFUl9WRVJTSU9OPTAuMC4w,RkxVVFRFUl9DSEFOTkVMPW1hc3Rlcg==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049MTExMTE=,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049YWJjZGU=,RkxVVFRFUl9EQVJUX1ZFUlNJT049MTI=',
385384
'-Pdart-obfuscation=false',
386385
'-Pextra-front-end-options=foo,bar',
387386
'-Ptrack-widget-creation=true',

0 commit comments

Comments
 (0)