1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-13 05:06:30 +04:00

[FL-3317] fbt: allow strings for fap_version field in app manifests (#2672)

This commit is contained in:
hedger
2023-05-14 14:49:52 +03:00
committed by GitHub
parent c496962f95
commit 8d1f5b04b3
4 changed files with 14 additions and 4 deletions

View File

@@ -196,7 +196,10 @@ class FlipperAppStateHelper:
self.set_debug_mode(False)
def set_debug_mode(self, mode: bool) -> None:
gdb.execute(f"set variable furi_hal_debug_gdb_session_active = {int(mode)}")
try:
gdb.execute(f"set variable furi_hal_debug_gdb_session_active = {int(mode)}")
except gdb.error as e:
print(f"Failed to set debug mode: {e}")
# Init additional 'fap-set-debug-elf-root' command and set up hooks

View File

@@ -56,7 +56,7 @@ class FlipperApplication:
# .fap-specific
sources: List[str] = field(default_factory=lambda: ["*.c*"])
fap_version: Tuple[int] = field(default_factory=lambda: (0, 1))
fap_version: str | Tuple[int] = "0.1"
fap_icon: Optional[str] = None
fap_libs: List[str] = field(default_factory=list)
fap_category: str = ""
@@ -84,6 +84,13 @@ class FlipperApplication:
def __post_init__(self):
if self.apptype == FlipperAppType.PLUGIN:
self.stack_size = 0
if isinstance(self.fap_version, str):
try:
self.fap_version = tuple(int(v) for v in self.fap_version.split("."))
except ValueError:
raise FlipperManifestException(
f"Invalid version string '{self.fap_version}'. Must be in the form 'major.minor'"
)
class AppManager:

View File

@@ -8,7 +8,7 @@ App(
stack_size=2 * 1024,
fap_category="Examples",
# Optional values
# fap_version=(0, 1), # (major, minor)
# fap_version="0.1",
fap_icon="@FBT_APPID@.png", # 10x10 1-bit PNG
# fap_description="A simple app",
# fap_author="J. Doe",