dartdosh 0.3.1
dartdosh: ^0.3.1 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.