a mirror of DefinedNet/mobile_nebula
Find a file
2025-02-05 11:37:03 -06:00
.github/workflows Minor updates (#217) 2025-01-17 12:30:20 -05:00
android Upgrade Gradle and Android Gradle Plugin (#225) 2025-01-23 14:57:07 -06:00
fonts Initial commit 2020-07-27 15:43:58 -05:00
images Support DN host enrollment (#86) 2022-11-17 16:43:16 -05:00
ios Fix iOS 16 support (#222) 2025-01-17 12:31:13 -05:00
lib Fix padding for placeholder in ConfigTextItem (#243) 2025-02-05 10:03:47 -06:00
nebula Minor updates (#217) 2025-01-17 12:30:20 -05:00
.git-blame-ignore-revs git blame ignore that the format merge (#39) 2021-05-03 17:00:29 -05:00
.gitignore Add licenses page (#227) 2025-01-24 13:37:28 -06:00
.metadata Initial commit 2020-07-27 15:43:58 -05:00
CHANGELOG.md Fix date 2021-06-09 20:31:00 -05:00
env.sh.example Initial commit 2020-07-27 15:43:58 -05:00
gen-artifacts.sh Add licenses page (#227) 2025-01-24 13:37:28 -06:00
pubspec.lock Add licenses page (#227) 2025-01-24 13:37:28 -06:00
pubspec.yaml Add licenses page (#227) 2025-01-24 13:37:28 -06:00
README.md Update casing and grammar from feedback 2025-02-05 11:37:03 -06:00

Mobile Nebula

Play Store | App Store

Setting up dev environment

Install all of the following things:

Ensure your path is set up correctly to execute flutter

Run flutter doctor and fix everything it complains before proceeding

NOTE on iOS, always open Runner.xcworkspace and NOT the Runner.xccodeproj

Before first compile

  • Copy env.sh.example and set it up for your machine
  • Ensure you have run gomobile init
  • In Android Studio, make sure you have the current NDK installed by going to Tools → SDK Manager, go to the SDK Tools tab, check the Show package details box, expand the NDK section and select 27.0.12077973 version.
  • Ensure you have downloaded an NDK via android studio, this is likely not the default one, and you need to check the Show package details box to select the correct version. The correct version comes from the error when you try and compile
  • Make sure you have gem installed with sudo gem install
  • If on macOS arm64, sudo gem install ffi -- --enable-libffi-alloc

If you are having issues with iOS pods, try blowing it all away! cd ios && rm -rf Pods/ Podfile.lock && pod install --repo-update

Formatting

dart format can be used to format the code in lib and test. We use a line-length of 120 characters.

Use:

dart format lib/ test/ -l 120

In Android Studio, set the line length using Preferences → Editor → Code Style → Dart → Line length, set it to 120. Enable auto-format with Preferences → Languages & Frameworks → Flutter → Format code on save.

Prerelease

Push a git tag v#.#.#-##, e.g. v0.5.1-0, and .github/release.yml will build a draft release and publish it to iOS TestFlight and Android internal track.

Release

  1. Manually promote a prerelease build from TestFlight and Android internal track to the corresponding public app stores.
  2. Mark the associated draft release as published, removing the -## from it, ending with a release in the format v#.#.#, e.g. v0.5.1.
  3. Remove the old draft releases that will never be published.
  4. Add the notable changes to the app to the release summary, e.g.: https://github.com/DefinedNet/mobile_nebula/releases/tag/v0.5.1.