Skip to content

Commit cb47dd8

Browse files
committed
Refactor platform handling in CLI commands
Replaces 'package_platform' and 'config_platform' with 'require_android_sdk' for device and emulator commands, simplifying platform checks. Updates desktop support logic to use system platform detection instead of config_platform. This improves clarity and maintainability of platform-specific initialization.
1 parent 93d8d8b commit cb47dd8

File tree

4 files changed

+12
-9
lines changed

4 files changed

+12
-9
lines changed

sdk/python/packages/flet-cli/src/flet_cli/commands/build_base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ def __init__(self, parser: argparse.ArgumentParser) -> None:
4848
self.rel_out_dir = None
4949
self.assets_path = None
5050
self.target_platform = None
51+
self.package_platform = None
52+
self.config_platform = None
5153
self.flutter_dependencies = {}
5254
self.package_app_path = None
5355
self.template_data = None
@@ -600,6 +602,7 @@ def initialize_command(self):
600602

601603
self.package_platform = self.platforms[self.target_platform]["package_platform"]
602604
self.config_platform = self.platforms[self.target_platform]["config_platform"]
605+
self.require_android_sdk = self.package_platform == "Android"
603606

604607
super().initialize_command()
605608

sdk/python/packages/flet-cli/src/flet_cli/commands/devices.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ def handle(self, options: argparse.Namespace) -> None:
7171
self.cleanup(0)
7272

7373
def initialize_command(self):
74-
self.package_platform = ""
75-
self.config_platform = ""
74+
self.require_android_sdk = True
7675

7776
super().initialize_command()
7877

sdk/python/packages/flet-cli/src/flet_cli/commands/emulators.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,7 @@ def handle(self, options: argparse.Namespace) -> None:
8282
self._list_emulators()
8383

8484
def initialize_command(self):
85-
self.package_platform = ""
86-
self.config_platform = ""
85+
self.require_android_sdk = True
8786

8887
super().initialize_command()
8988

sdk/python/packages/flet-cli/src/flet_cli/commands/flutter_base.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ def __init__(self, parser: argparse.ArgumentParser) -> None:
5050
self.dart_exe = None
5151
self.flutter_exe = None
5252
self.verbose = False
53-
self.package_platform = None
54-
self.config_platform = None
53+
self.require_android_sdk = False
5554
self.skip_flutter_doctor = get_bool_env_var("FLET_CLI_SKIP_FLUTTER_DOCTOR")
5655
self.no_rich_output = no_rich_output
5756
self.current_platform = platform.system()
@@ -113,7 +112,7 @@ def initialize_command(self):
113112
console.log("Flutter executable:", self.flutter_exe, style=verbose2_style)
114113
console.log("Dart executable:", self.dart_exe, style=verbose2_style)
115114

116-
if self.package_platform == "Android":
115+
if self.require_android_sdk:
117116
self.install_jdk()
118117
self.install_android_sdk()
119118

@@ -160,7 +159,10 @@ def install_flutter(self):
160159
self.env["PATH"] = os.pathsep.join([os.path.join(flutter_dir, "bin"), path_env])
161160

162161
# desktop mode
163-
if self.config_platform in ["macos", "windows", "linux"]:
162+
desktop_platform = platform.system().lower()
163+
if desktop_platform == "darwin":
164+
desktop_platform = "macos"
165+
if desktop_platform in ["macos", "windows", "linux"]:
164166
if self.verbose > 0:
165167
console.log(
166168
"Ensure Flutter has desktop support enabled",
@@ -172,7 +174,7 @@ def install_flutter(self):
172174
"config",
173175
"--no-version-check",
174176
"--suppress-analytics",
175-
f"--enable-{self.config_platform}-desktop",
177+
f"--enable-{desktop_platform}-desktop",
176178
],
177179
cwd=os.getcwd(),
178180
capture_output=self.verbose < 1,

0 commit comments

Comments
 (0)