flet-cli 0.80.6.dev7489__tar.gz → 0.80.6.dev7493__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/PKG-INFO +1 -1
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/pyproject.toml +1 -1
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/build_base.py +76 -34
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/flutter_base.py +26 -9
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/publish.py +4 -3
- flet_cli-0.80.6.dev7493/src/flet_cli/version.py +1 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/PKG-INFO +1 -1
- flet_cli-0.80.6.dev7489/src/flet_cli/version.py +0 -1
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/README.md +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/setup.cfg +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/__init__.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/config.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/hook-flet.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/macos_utils.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/rthooks/pyi_rth_localhost_fletd.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/utils.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/win_utils.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/cli.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/base.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/build.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/create.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/debug.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/devices.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/doctor.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/emulators.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/options.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/pack.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/run.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/commands/serve.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/android_sdk.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/distros.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/flutter.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/hash_stamp.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/jdk.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/merge.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/processes.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/project_dependencies.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/pyproject_toml.py +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/SOURCES.txt +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/dependency_links.txt +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/entry_points.txt +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/requires.txt +0 -0
- {flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/top_level.txt +0 -0
|
@@ -76,7 +76,7 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
76
76
|
"config_platform": "macos",
|
|
77
77
|
"flutter_build_command": "macos",
|
|
78
78
|
"status_text": "macOS bundle",
|
|
79
|
-
"outputs": ["build/macos/Build/Products/Release/{
|
|
79
|
+
"outputs": ["build/macos/Build/Products/Release/{artifact_name}.app"],
|
|
80
80
|
"dist": "macos",
|
|
81
81
|
"can_be_run_on": ["Darwin"],
|
|
82
82
|
},
|
|
@@ -241,8 +241,14 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
241
241
|
"--project",
|
|
242
242
|
dest="project_name",
|
|
243
243
|
required=False,
|
|
244
|
-
help="Project name for the
|
|
245
|
-
"
|
|
244
|
+
help="Project name for bundle IDs and identifiers; used as the default "
|
|
245
|
+
"for artifact and product names",
|
|
246
|
+
)
|
|
247
|
+
parser.add_argument(
|
|
248
|
+
"--artifact",
|
|
249
|
+
dest="artifact_name",
|
|
250
|
+
required=False,
|
|
251
|
+
help="Executable or bundle name on disk",
|
|
246
252
|
)
|
|
247
253
|
parser.add_argument(
|
|
248
254
|
"--description",
|
|
@@ -254,8 +260,8 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
254
260
|
"--product",
|
|
255
261
|
dest="product_name",
|
|
256
262
|
required=False,
|
|
257
|
-
help="Display name
|
|
258
|
-
"and about
|
|
263
|
+
help="Display name shown in app launchers, window titles, "
|
|
264
|
+
"and about dialogs.",
|
|
259
265
|
)
|
|
260
266
|
parser.add_argument(
|
|
261
267
|
"--org",
|
|
@@ -366,7 +372,7 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
366
372
|
dest="web_renderer",
|
|
367
373
|
type=str.lower,
|
|
368
374
|
choices=["auto", "canvaskit", "skwasm"],
|
|
369
|
-
help="Flutter web renderer to use (web only)",
|
|
375
|
+
help="Flutter web renderer to use (web only) [env: FLET_WEB_RENDERER=]",
|
|
370
376
|
)
|
|
371
377
|
parser.add_argument(
|
|
372
378
|
"--route-url-strategy",
|
|
@@ -374,7 +380,8 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
374
380
|
type=str.lower,
|
|
375
381
|
choices=["path", "hash"],
|
|
376
382
|
help="Base URL path to serve the app from. "
|
|
377
|
-
"Useful if the app is hosted in a subdirectory (web only)"
|
|
383
|
+
"Useful if the app is hosted in a subdirectory (web only) "
|
|
384
|
+
"[env: FLET_WEB_ROUTE_URL_STRATEGY=]",
|
|
378
385
|
)
|
|
379
386
|
parser.add_argument(
|
|
380
387
|
"--pwa-background-color",
|
|
@@ -400,7 +407,8 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
400
407
|
dest="no_cdn",
|
|
401
408
|
action="store_true",
|
|
402
409
|
default=False,
|
|
403
|
-
help="Disable loading of CanvasKit, Pyodide and fonts from CDN"
|
|
410
|
+
help="Disable loading of CanvasKit, Pyodide and fonts from CDN "
|
|
411
|
+
"[env: FLET_WEB_NO_CDN=]",
|
|
404
412
|
)
|
|
405
413
|
parser.add_argument(
|
|
406
414
|
"--split-per-abi",
|
|
@@ -529,23 +537,26 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
529
537
|
parser.add_argument(
|
|
530
538
|
"--android-signing-key-store",
|
|
531
539
|
dest="android_signing_key_store",
|
|
532
|
-
help="path to an upload keystore `.jks` file for Android apps"
|
|
540
|
+
help="path to an upload keystore `.jks` file for Android apps "
|
|
541
|
+
"[env: FLET_ANDROID_SIGNING_KEY_STORE=]",
|
|
533
542
|
)
|
|
534
543
|
parser.add_argument(
|
|
535
544
|
"--android-signing-key-store-password",
|
|
536
545
|
dest="android_signing_key_store_password",
|
|
537
|
-
help="Android signing store password"
|
|
546
|
+
help="Android signing store password "
|
|
547
|
+
"[env: FLET_ANDROID_SIGNING_KEY_STORE_PASSWORD=]",
|
|
538
548
|
)
|
|
539
549
|
parser.add_argument(
|
|
540
550
|
"--android-signing-key-password",
|
|
541
551
|
dest="android_signing_key_password",
|
|
542
|
-
help="Android signing key password"
|
|
552
|
+
help="Android signing key password "
|
|
553
|
+
"[env: FLET_ANDROID_SIGNING_KEY_PASSWORD=]",
|
|
543
554
|
)
|
|
544
555
|
parser.add_argument(
|
|
545
556
|
"--android-signing-key-alias",
|
|
546
557
|
dest="android_signing_key_alias",
|
|
547
|
-
default=
|
|
548
|
-
help="Android signing key alias",
|
|
558
|
+
default=None,
|
|
559
|
+
help="Android signing key alias [env: FLET_ANDROID_SIGNING_KEY_ALIAS=]",
|
|
549
560
|
)
|
|
550
561
|
parser.add_argument(
|
|
551
562
|
"--build-number",
|
|
@@ -704,18 +715,27 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
704
715
|
.strip("/")
|
|
705
716
|
.strip()
|
|
706
717
|
)
|
|
707
|
-
|
|
718
|
+
project_name_raw = (
|
|
708
719
|
self.options.project_name
|
|
709
720
|
or self.get_pyproject("project.name")
|
|
710
|
-
or self.get_pyproject("tool.poetry.name")
|
|
711
721
|
or self.python_app_path.name
|
|
712
722
|
)
|
|
713
|
-
project_name_slug = slugify(cast(str,
|
|
723
|
+
project_name_slug = slugify(cast(str, project_name_raw))
|
|
714
724
|
project_name = project_name_slug.replace("-", "_")
|
|
725
|
+
artifact_name = (
|
|
726
|
+
self.options.artifact_name
|
|
727
|
+
or self.get_pyproject(f"tool.flet.{self.config_platform}.artifact")
|
|
728
|
+
or self.get_pyproject("tool.flet.artifact")
|
|
729
|
+
or self.options.project_name
|
|
730
|
+
or self.get_pyproject("project.name")
|
|
731
|
+
or self.python_app_path.name
|
|
732
|
+
)
|
|
715
733
|
product_name = (
|
|
716
734
|
self.options.product_name
|
|
717
735
|
or self.get_pyproject("tool.flet.product")
|
|
718
|
-
or
|
|
736
|
+
or self.options.project_name
|
|
737
|
+
or self.get_pyproject("project.name")
|
|
738
|
+
or self.python_app_path.name
|
|
719
739
|
)
|
|
720
740
|
|
|
721
741
|
split_per_abi = (
|
|
@@ -947,6 +967,7 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
947
967
|
"split_per_abi": split_per_abi,
|
|
948
968
|
"project_name": project_name,
|
|
949
969
|
"project_name_slug": project_name_slug,
|
|
970
|
+
"artifact_name": artifact_name,
|
|
950
971
|
"product_name": product_name,
|
|
951
972
|
"description": (
|
|
952
973
|
self.options.description
|
|
@@ -988,7 +1009,11 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
988
1009
|
"scheme": deep_linking_scheme,
|
|
989
1010
|
"host": deep_linking_host,
|
|
990
1011
|
},
|
|
991
|
-
"android_signing":
|
|
1012
|
+
"android_signing": bool(
|
|
1013
|
+
self.options.android_signing_key_store
|
|
1014
|
+
or self.get_pyproject("tool.flet.android.signing.key_store")
|
|
1015
|
+
or os.getenv("FLET_ANDROID_SIGNING_KEY_STORE")
|
|
1016
|
+
),
|
|
992
1017
|
},
|
|
993
1018
|
"flutter": {"dependencies": list(self.flutter_dependencies.keys())},
|
|
994
1019
|
"pyproject": self.get_pyproject(),
|
|
@@ -1264,9 +1289,9 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1264
1289
|
capture_output=self.verbose < 1,
|
|
1265
1290
|
)
|
|
1266
1291
|
if icons_result.returncode != 0:
|
|
1267
|
-
if icons_result.stdout:
|
|
1292
|
+
if isinstance(icons_result.stdout, str):
|
|
1268
1293
|
console.log(icons_result.stdout, style=verbose1_style)
|
|
1269
|
-
if icons_result.stderr:
|
|
1294
|
+
if isinstance(icons_result.stderr, str):
|
|
1270
1295
|
console.log(icons_result.stderr, style=error_style)
|
|
1271
1296
|
self.cleanup(icons_result.returncode)
|
|
1272
1297
|
console.log(f"Generated app icons {self.emojis['checkmark']}")
|
|
@@ -1514,9 +1539,9 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1514
1539
|
capture_output=self.verbose < 1,
|
|
1515
1540
|
)
|
|
1516
1541
|
if splash_result.returncode != 0:
|
|
1517
|
-
if splash_result.stdout:
|
|
1542
|
+
if isinstance(splash_result.stdout, str):
|
|
1518
1543
|
console.log(splash_result.stdout, style=verbose1_style)
|
|
1519
|
-
if splash_result.stderr:
|
|
1544
|
+
if isinstance(splash_result.stderr, str):
|
|
1520
1545
|
console.log(splash_result.stderr, style=error_style)
|
|
1521
1546
|
self.cleanup(splash_result.returncode)
|
|
1522
1547
|
console.log(f"Generated splash screens {self.emojis['checkmark']}")
|
|
@@ -1728,9 +1753,9 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1728
1753
|
)
|
|
1729
1754
|
|
|
1730
1755
|
if package_result.returncode != 0:
|
|
1731
|
-
if package_result.stdout:
|
|
1756
|
+
if isinstance(package_result.stdout, str):
|
|
1732
1757
|
console.log(package_result.stdout, style=verbose1_style)
|
|
1733
|
-
if package_result.stderr:
|
|
1758
|
+
if isinstance(package_result.stderr, str):
|
|
1734
1759
|
console.log(package_result.stderr, style=error_style)
|
|
1735
1760
|
self.cleanup(package_result.returncode)
|
|
1736
1761
|
|
|
@@ -1799,6 +1824,7 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1799
1824
|
android_signing_key_store = (
|
|
1800
1825
|
self.options.android_signing_key_store
|
|
1801
1826
|
or self.get_pyproject("tool.flet.android.signing.key_store")
|
|
1827
|
+
or os.getenv("FLET_ANDROID_SIGNING_KEY_STORE")
|
|
1802
1828
|
)
|
|
1803
1829
|
if android_signing_key_store:
|
|
1804
1830
|
build_env["FLET_ANDROID_SIGNING_KEY_STORE"] = android_signing_key_store
|
|
@@ -1818,16 +1844,31 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1818
1844
|
key_password if key_password else key_store_password
|
|
1819
1845
|
)
|
|
1820
1846
|
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1847
|
+
if android_signing_key_store:
|
|
1848
|
+
android_signing_key_alias = (
|
|
1849
|
+
self.options.android_signing_key_alias
|
|
1850
|
+
or self.get_pyproject("tool.flet.android.signing.key_alias")
|
|
1851
|
+
or os.getenv("FLET_ANDROID_SIGNING_KEY_ALIAS")
|
|
1852
|
+
or "upload"
|
|
1853
|
+
)
|
|
1826
1854
|
build_env["FLET_ANDROID_SIGNING_KEY_ALIAS"] = android_signing_key_alias
|
|
1827
1855
|
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1856
|
+
flutter_build_args = (
|
|
1857
|
+
self.options.flutter_build_args
|
|
1858
|
+
or self.get_pyproject(
|
|
1859
|
+
f"tool.flet.{self.config_platform}.flutter.build_args"
|
|
1860
|
+
)
|
|
1861
|
+
or self.get_pyproject("tool.flet.flutter.build_args")
|
|
1862
|
+
)
|
|
1863
|
+
if flutter_build_args:
|
|
1864
|
+
if isinstance(flutter_build_args, (list, tuple)):
|
|
1865
|
+
for arg in flutter_build_args:
|
|
1866
|
+
if isinstance(arg, (list, tuple)):
|
|
1867
|
+
build_args.extend(arg)
|
|
1868
|
+
elif isinstance(arg, str):
|
|
1869
|
+
build_args.append(arg)
|
|
1870
|
+
elif isinstance(flutter_build_args, str):
|
|
1871
|
+
build_args.append(flutter_build_args)
|
|
1831
1872
|
|
|
1832
1873
|
if self.verbose > 1:
|
|
1833
1874
|
build_args.append("--verbose")
|
|
@@ -1843,9 +1884,9 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1843
1884
|
build_result.returncode != 0
|
|
1844
1885
|
or "Encountered error while creating the IPA" in str(build_result.stderr)
|
|
1845
1886
|
):
|
|
1846
|
-
if build_result.stdout:
|
|
1887
|
+
if isinstance(build_result.stdout, str):
|
|
1847
1888
|
console.log(build_result.stdout, style=verbose1_style)
|
|
1848
|
-
if build_result.stderr:
|
|
1889
|
+
if isinstance(build_result.stderr, str):
|
|
1849
1890
|
console.log(build_result.stderr, style=error_style)
|
|
1850
1891
|
self.cleanup(build_result.returncode if build_result.returncode else 1)
|
|
1851
1892
|
|
|
@@ -1878,6 +1919,7 @@ class BaseBuildCommand(BaseFlutterCommand):
|
|
|
1878
1919
|
build_output_dir = (
|
|
1879
1920
|
str(self.flutter_dir.joinpath(build_output))
|
|
1880
1921
|
.replace("{arch}", arch)
|
|
1922
|
+
.replace("{artifact_name}", self.template_data["artifact_name"])
|
|
1881
1923
|
.replace("{project_name}", self.template_data["project_name"])
|
|
1882
1924
|
.replace("{product_name}", self.template_data["product_name"])
|
|
1883
1925
|
)
|
|
@@ -71,7 +71,8 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
71
71
|
"--no-rich-output",
|
|
72
72
|
action="store_true",
|
|
73
73
|
default=False,
|
|
74
|
-
help="Disable rich output and prefer plain text. Useful on Windows builds"
|
|
74
|
+
help="Disable rich output and prefer plain text. Useful on Windows builds "
|
|
75
|
+
"[env: FLET_CLI_NO_RICH_OUTPUT=]",
|
|
75
76
|
)
|
|
76
77
|
parser.add_argument(
|
|
77
78
|
"--yes",
|
|
@@ -85,7 +86,8 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
85
86
|
"--skip-flutter-doctor",
|
|
86
87
|
action="store_true",
|
|
87
88
|
default=False,
|
|
88
|
-
help="Skip running Flutter doctor upon failed builds"
|
|
89
|
+
help="Skip running Flutter doctor upon failed builds "
|
|
90
|
+
"[env: FLET_CLI_SKIP_FLUTTER_DOCTOR=]",
|
|
89
91
|
)
|
|
90
92
|
|
|
91
93
|
def handle(self, options: argparse.Namespace) -> None:
|
|
@@ -223,9 +225,9 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
223
225
|
capture_output=self.verbose < 1,
|
|
224
226
|
)
|
|
225
227
|
if config_result.returncode != 0:
|
|
226
|
-
if config_result.stdout:
|
|
228
|
+
if isinstance(config_result.stdout, str):
|
|
227
229
|
console.log(config_result.stdout, style=verbose1_style)
|
|
228
|
-
if config_result.stderr:
|
|
230
|
+
if isinstance(config_result.stderr, str):
|
|
229
231
|
console.log(config_result.stderr, style=error_style)
|
|
230
232
|
self.cleanup(config_result.returncode)
|
|
231
233
|
|
|
@@ -260,9 +262,9 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
260
262
|
capture_output=self.verbose < 1,
|
|
261
263
|
)
|
|
262
264
|
if config_result.returncode != 0:
|
|
263
|
-
if config_result.stdout:
|
|
265
|
+
if isinstance(config_result.stdout, str):
|
|
264
266
|
console.log(config_result.stdout, style=verbose1_style)
|
|
265
|
-
if config_result.stderr:
|
|
267
|
+
if isinstance(config_result.stderr, str):
|
|
266
268
|
console.log(config_result.stderr, style=error_style)
|
|
267
269
|
self.cleanup(config_result.returncode)
|
|
268
270
|
|
|
@@ -310,18 +312,31 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
310
312
|
self.live.start()
|
|
311
313
|
|
|
312
314
|
def find_flutter_batch(self, exe_filename: str):
|
|
315
|
+
"""Locate the Flutter/Dart executable, preferring the managed SDK install."""
|
|
313
316
|
assert self.required_flutter_version
|
|
317
|
+
|
|
314
318
|
install_dir = get_flutter_dir(str(self.required_flutter_version))
|
|
315
319
|
ext = ".bat" if is_windows() else ""
|
|
316
320
|
batch_path = os.path.join(install_dir, "bin", f"{exe_filename}{ext}")
|
|
321
|
+
|
|
317
322
|
if os.path.exists(batch_path):
|
|
318
323
|
return batch_path
|
|
319
324
|
|
|
325
|
+
# Fall back to system-installed executable
|
|
320
326
|
batch_path = shutil.which(exe_filename)
|
|
321
327
|
if not batch_path:
|
|
322
328
|
return None
|
|
323
|
-
|
|
324
|
-
|
|
329
|
+
|
|
330
|
+
if is_windows():
|
|
331
|
+
# convert shim paths
|
|
332
|
+
if batch_path.endswith(".file"):
|
|
333
|
+
return batch_path.replace(".file", ".bat")
|
|
334
|
+
|
|
335
|
+
# normalize .exe casing
|
|
336
|
+
root, ext = os.path.splitext(batch_path)
|
|
337
|
+
if ext.lower() == ".exe":
|
|
338
|
+
return f"{root}.exe"
|
|
339
|
+
|
|
325
340
|
return batch_path
|
|
326
341
|
|
|
327
342
|
def run(self, args, cwd, env: Optional[dict] = None, capture_output=True):
|
|
@@ -375,8 +390,10 @@ class BaseFlutterCommand(BaseCommand):
|
|
|
375
390
|
cwd=os.getcwd(),
|
|
376
391
|
capture_output=True,
|
|
377
392
|
)
|
|
378
|
-
if flutter_doctor.
|
|
393
|
+
if flutter_doctor.stdout:
|
|
379
394
|
console.log(flutter_doctor.stdout, style=verbose1_style)
|
|
395
|
+
if flutter_doctor.stderr:
|
|
396
|
+
console.log(flutter_doctor.stderr, style=error_style)
|
|
380
397
|
|
|
381
398
|
def update_status(self, status):
|
|
382
399
|
if self.no_rich_output:
|
|
@@ -44,7 +44,7 @@ class Command(BaseCommand):
|
|
|
44
44
|
type=str,
|
|
45
45
|
default=None,
|
|
46
46
|
help="Path to a directory containing static assets "
|
|
47
|
-
"used by the app (e.g., images, fonts, icons)",
|
|
47
|
+
"used by the app (e.g., images, fonts, icons). [env: FLET_ASSETS_DIR=]",
|
|
48
48
|
)
|
|
49
49
|
parser.add_argument(
|
|
50
50
|
"--distpath",
|
|
@@ -90,7 +90,7 @@ class Command(BaseCommand):
|
|
|
90
90
|
type=str.lower,
|
|
91
91
|
choices=["auto", "canvaskit", "skwasm"],
|
|
92
92
|
default="auto",
|
|
93
|
-
help="Flutter web renderer to use",
|
|
93
|
+
help="Flutter web renderer to use [env: FLET_WEB_RENDERER=]",
|
|
94
94
|
)
|
|
95
95
|
parser.add_argument(
|
|
96
96
|
"--route-url-strategy",
|
|
@@ -98,7 +98,8 @@ class Command(BaseCommand):
|
|
|
98
98
|
type=str.lower,
|
|
99
99
|
choices=["path", "hash"],
|
|
100
100
|
default="path",
|
|
101
|
-
help="Controls how routes are handled in the browser"
|
|
101
|
+
help="Controls how routes are handled in the browser "
|
|
102
|
+
"[env: FLET_WEB_ROUTE_URL_STRATEGY=]",
|
|
102
103
|
)
|
|
103
104
|
parser.add_argument(
|
|
104
105
|
"--pwa-background-color",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = "0.80.6.dev7493"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = "0.80.6.dev7489"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/__pyinstaller/macos_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli/utils/project_dependencies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{flet_cli-0.80.6.dev7489 → flet_cli-0.80.6.dev7493}/src/flet_cli.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|