fbt: changed stock plugins to EXTERNAL apps; restored building app as a PLUGIN as a part of main fw as well as a .fap; readme fixes

This commit is contained in:
hedger
2022-09-18 22:16:15 +04:00
parent 008cae118b
commit d9d5cc6373
7 changed files with 13 additions and 10 deletions
@@ -1,7 +1,7 @@
App(
appid="bt_hid",
name="Bluetooth Remote",
apptype=FlipperAppType.PLUGIN,
apptype=FlipperAppType.EXTERNAL,
entry_point="bt_hid_app",
stack_size=1 * 1024,
cdefines=["APP_BLE_HID"],
@@ -1,7 +1,7 @@
App(
appid="music_player",
name="Music Player",
apptype=FlipperAppType.PLUGIN,
apptype=FlipperAppType.EXTERNAL,
entry_point="music_player_app",
cdefines=["APP_MUSIC_PLAYER"],
requires=[
@@ -1,7 +1,7 @@
App(
appid="picopass",
name="PicoPass Reader",
apptype=FlipperAppType.PLUGIN,
apptype=FlipperAppType.EXTERNAL,
entry_point="picopass_app",
requires=[
"storage",
@@ -1,7 +1,7 @@
App(
appid="snake_game",
name="Snake Game",
apptype=FlipperAppType.PLUGIN,
apptype=FlipperAppType.EXTERNAL,
entry_point="snake_game_app",
cdefines=["APP_SNAKE_GAME"],
requires=["gui"],
+4 -4
View File
@@ -1,6 +1,6 @@
# Flipper Application Manifests (.fam)
All components of Flipper Zero firmware — services, user applications, system settings — are developed independently. Each component has a build system manifest file, named `application.fam`, defining basic properties of a components and its relations to other parts of the system.
All components of Flipper Zero firmware — services, user applications, system settings — are developed independently. Each component has a build system manifest file, named `application.fam`, defining basic properties of a component and its relations to other parts of the system.
When building firmware, **`fbt`** collects all application manifests, processes their dependencies and builds only those components that are utilized in current build configuration. See [fbt docs](./fbt.md#firmware-application-set) for details on build configurations.
@@ -21,12 +21,12 @@ Only 2 parameters are mandatoty: ***appid*** and ***apptype***, others are optio
| SERVICE | System service, created at early startup |
| SYSTEM | Application not being shown in any menus. Can be started by other apps or from CLI |
| APP | Regular application for main menu |
| PLUGIN | Application to be built as .fap plugin |
| PLUGIN | Application to be built as a part of firmware an to be placed in Plugins menu |
| DEBUG | Application only visible in Debug menu with debug mode enabled |
| ARCHIVE | One and only Archive app |
| SETTINGS | Application to be placed in System settings menu |
| STARTUP | Callback function to run at system startup. Does not define a separate app |
| EXTERNAL | Application to be built as .fap plugin |
| STARTUP | Callback function to run at system startup. Does not define a standalone app |
| EXTERNAL | Application to be built as a .fap executable file |
| METAPACKAGE | Does not define any code to be run, used for declaring dependencies and application bundles |
* **name**: Name to show in menus.
+1 -1
View File
@@ -74,7 +74,7 @@ FIRMWARE_APPS = {
# Settings
"settings_apps",
# Plugins
# "basic_plugins",
"basic_plugins",
# Debug
# "debug_apps",
],
+4 -1
View File
@@ -63,7 +63,10 @@ def build_app_as_external(env, appdef):
extapps["dist"][appdef.appid] = (appdef.fap_category, compact_elf)
apps_to_build_as_faps = [FlipperAppType.PLUGIN, FlipperAppType.EXTERNAL]
apps_to_build_as_faps = [
# FlipperAppType.PLUGIN,
FlipperAppType.EXTERNAL,
]
if appenv["DEBUG_TOOLS"]:
apps_to_build_as_faps.append(FlipperAppType.DEBUG)