You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* ufbt-bootstrap: added `dotenv_create` command; ufbt: added support for .env files in project directories to specify ufbt state location & other env variables
* tests: new tests for dotenv and paths with spaces
* ufbt: forcing toolchain path creation when symlinking
* ufbt: status: better error output
* docs: dotenv_create
* docs: contribution info
* ufbt: added checks for .env loading
* Organized imports
* bootstrap: fixed error code reporting in certain modes
Copy file name to clipboardExpand all lines: README.md
+14-1Lines changed: 14 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -61,8 +61,15 @@ To update the SDK, run `ufbt update`. This will download and install all require
61
61
- uFBT can also download and update the SDK from any **fixed URL**. To do this, run `ufbt update --url=<url>`.
62
62
- To use a **local copy** of the SDK, run `ufbt update --local=<path>`. This will use the SDK located in `<path>` instead of downloading it. Useful for testing local builds of the SDK.
63
63
64
-
uFBT stores its state in `.ufbt` subfolder in your home directory. You can override this location by setting `UFBT_HOME` environment variable.
64
+
### Global and per-project SDK management
65
65
66
+
By default, uFBT stores its state - SDK and toolchain - in `.ufbt` subfolder of your home directory. You can override this location by setting `UFBT_HOME` environment variable.
67
+
68
+
uFBT also supports dotenv (`.env`) files, containing environment variable overrides for the project in current directory. Most commonly, you will want to use this to override the default state directory to a local one, so that your project could use a specific version and/or hardware target of the SDK.
69
+
70
+
You can enable dotenv mode for current directory by running `ufbt dotenv_create`. This will create `.env` file in current directory with default values, linking SDK state to `.ufbt` subfolder in current directory, and creating a symlink for toolchain to `.ufbt/toolchain` in your home directory. You can then edit `.env` file to further customize the environment.
71
+
72
+
You can also specify additional options when creating the `.env` file. See `ufbt dotenv_create --help` for more information.
66
73
67
74
### ufbt-bootstrap
68
75
@@ -73,3 +80,9 @@ Updating the SDK is handled by uFBT component called _bootstrap_. It has a dedic
73
80
If something goes wrong and uFBT state becomes corrupted, you can reset it by running `ufbt clean`. If that doesn't work, you can try removing `.ufbt` subfolder manually from your home folder.
74
81
75
82
`ufbt-bootstrap` and SDK-related `ufbt` subcommands accept `--verbose` option that will print additional debug information.
83
+
84
+
## Contributing
85
+
86
+
uFBT is a small tool and does not contain the actual implementation of build system, project templates or toolchain. It functions as a downloader and manager of SDK components that are packaged [alongside with Flipper firmware](https://github.com/flipperdevices/flipperzero-firmware/tree/dev/scripts/ufbt).
87
+
88
+
Issues and pull requests regarding `ufbt-bootstrap` features like SDK management should be reported to this project, and the rest - related to actual application development - to [Flipper firmware repo](https://github.com/flipperdevices/flipperzero-firmware/issues).
0 commit comments