dartdosh 0.3.2
dartdosh: ^0.3.2 copied to clipboard
A powerful Flutter build CLI tool with automatic version management, smart file naming, and personalized experience
example/README.md
DartDosh Example #
This example demonstrates how to use DartDosh CLI tool in your Flutter project.
Setup #
- Install DartDosh globally:
dart pub global activate dartdosh
- Create a
build_config.jsonin your Flutter project root (or let DartDosh create it automatically):
{
"language": "uz",
"project_name": "my_app",
"auto_increment_build_number": false,
"output_path": "releases",
"apk": {
"production": "flutter build apk --release --flavor production",
"staging": "flutter build apk --release --flavor staging",
"development": "flutter build apk --debug --flavor development"
},
"ipa": {
"production": "flutter build ipa --release --flavor production",
"staging": "flutter build ipa --release --flavor staging"
},
"appbundle": {
"production": "flutter build appbundle --release --flavor production",
"staging": "flutter build appbundle --release --flavor staging"
}
}
Usage Examples #
Build Production APK #
dartdosh build apk --production
Output:
π§ apk build bosqichi: Flutter komandalar bajarilmoqda, Xo'jayiin...
π Ishga tushirilmoqda: flutter build apk --release --flavor production, Xo'jayiin!
[ββββββββββββββββββββββββββββββ] 95% - [apk - production] - Tugallanmoqda...
β
apk build muvaffaqiyatli yakunlandi, Xo'jayiin!
β
Build saqlandi: /path/to/releases/my_app/prod_1.2.3_46.apk
Build Split APK #
dartdosh build apk --production --split
This automatically converts --split to --split-per-abi and creates separate APKs for each architecture:
prod_1.2.3_46_arm64-v8a.apkprod_1.2.3_46_armeabi-v7a.apkprod_1.2.3_46_x86_64.apk
Build iOS IPA #
dartdosh build ipa --production
Build App Bundle #
dartdosh build appbundle --staging
Add Extra Flags #
dartdosh build apk --production --obfuscate --split-debug-info=/path/to/symbols
Features Demonstrated #
- Multi-Language Support: Interface in Uzbek (uz), English (en), or Russian (ru)
- Multi-Project Support: Each project gets its own subfolder in output directory
- Optional Auto Version Increment: Enable with
"auto_increment_build_number": trueto auto-increment build numbers - Smart File Naming: Output files use short environment names:
prod_1.2.3_46.apk,stg_2.0.0_12.ipa,dev_1.5.0_78.aab - Output Path Management: Built files organized by project name in
output_path/project_name/ - Auto Config Creation: Config file is created and opened in IDE on first run
- Progress Bar: Real-time build progress with localized stage messages
- Personalized Experience: All messages include "Xo'jayiin" (Boss) for a friendly touch
First Time Usage #
If you run DartDosh without build_config.json, it will create one for you:
dartdosh build apk --production
Output:
β οΈ Build config topilmadi, default yaratilmoqda, Xo'jayiin!
β
Build saqlandi: /path/to/project/build_config.json, Xo'jayiin!
π Output directory yaratildi: ~/Desktop/dartdosh-builds, Xo'jayiin!
π Xo'jayiin, build_config.json yaratib qo'ydim!
β
Iltimos, tekshirib ko'ring va to'g'ri bo'lsa commandni qayta run qiling.
πΌ Xizmatizga tayyorman, Xo'jayiin!
The config file will automatically open in your IDE. Customize it to match your project's flavor configuration, then run the command again.