dartdosh 0.2.1
dartdosh: ^0.2.1 copied to clipboard
A powerful Flutter build CLI tool with automatic version management, smart file naming, and personalized experience
0.2.1 #
Features #
- β‘ Short Flag Support: Added convenient shorthand flags for environments
- Production:
--production,-p,-prod - Staging:
--staging,-s - Development:
--development,-d,-dev
- Production:
Changes #
- Enhanced CLI flag parsing to accept multiple variants for each environment
- Updated environment flag filtering in extra flags extraction
- Improved documentation for flag options
Examples #
# All these commands work the same:
dartdosh build apk --production
dartdosh build apk -p
dartdosh build apk -prod
dartdosh build apk --development
dartdosh build apk -d
dartdosh build apk -dev
dartdosh build apk --staging
dartdosh build apk -s
0.2.0 #
Features #
- π Multi-Language Support: Full support for Uzbek (uz), English (en), and Russian (ru) languages
- π― Language Configuration: Added
languagefield to build_config.json (default: "uz") - π¬ Localized Messages: All log messages translated with positive, encouraging tone across all languages
- π Cultural Adaptation: Language-appropriate addressing - "Xo'jayiin" (uz), "Boss" (en), "ΠΠΎΡΡ" (ru)
Changes #
- Completely rewrote Logger class with multi-language support
- Added static language state management in Logger
- Implemented nested Map structure for translations:
Map<String, Map<LogType, List<String>>> - All LogTypes now support 3 languages with multiple message variants
- Language is read from build_config.json and applied to all log messages
- BuildManager now sets language from config before executing builds
Technical #
- Added
Logger.setLanguage(String language)static method - Language validation: only accepts 'uz', 'en', 'ru'
- Default language: 'uz' (Uzbek) if not specified in config
- Maintains random message selection within each language
0.1.12 #
Features #
- π― Clean Progress Display: Build output is now hidden, showing only clean progress bar
- β οΈ Smart Error Display: Warnings and errors are still shown when they occur
- π Enhanced Stage Detection: Added dependency resolution (30%) and "Got dependencies" (40%) stages
Changes #
- Removed verbose Flutter build output for cleaner terminal
- Only show warnings, errors, and failures from build output
- Added dependency-related progress stages
- Progress bar updates smoothly through all build stages (20% β 40% β 60% β 95%)
0.1.11 #
Bug Fixes #
- π§ Fixed Terminal Clearing: Progress bar now properly clears on macOS instead of creating new lines
- π Enhanced Progress Detection: Added more build stage patterns (bundling, signing, assembling) for accurate progress tracking
- π― Better Stage Recognition: Progress now advances beyond 20% by detecting bundle, sign, and assemble stages
Changes #
- Clear progress bar before showing stdout to prevent line duplication
- Added comprehensive lowercase pattern matching for build stages
- Added new build stages: bundling (60%), signing (80%), improved detection for assembling (70%)
- Progress bar only shows after first stdout output to avoid premature display
0.1.10 #
Features #
- β‘ Faster Progress Updates: Progress bar now updates every 1 second (improved from 2 seconds)
- π± Build Info Display: Progress bar now shows target and flavor being built (e.g.,
[apk - production]) - π macOS Terminal Fix: Improved terminal clearing for better compatibility on macOS
Changes #
- Changed progress update interval from 2 seconds to 1 second for more responsive feedback
- Added target and environment info to progress bar display
- Improved ANSI escape codes for terminal clearing on macOS
0.1.9 #
Features #
- π Live Progress Updates: Progress bar updates every 2 seconds with current task info
- π Task Indicator: Shows what's happening: "Gradle ishlayapti...", "Flutter kodi kompilyatsiya qilinyapti..."
- π― AAB Support: Full support for
aabandappbundlecommands with proper file detection - π§ Better File Detection: Improved APK/AAB path detection for all flavors
Changes #
- Progress bar now updates periodically (every 2 seconds) instead of on-demand
- Added
Timer.periodicfor continuous progress updates - Fixed appbundle/aab not being copied to output path
- Fixed flavor name duplication in Android build files
- Improved split APK architecture extraction (only arch name, no flavor duplication)
- Added more AAB path variants: productionRelease, stagingRelease, developmentDebug
- Added more APK path variants for different flavor configurations
Bug Fixes #
- Fixed:
aabcommand not recognized - Fixed: Progress bar showing only once and freezing
- Fixed: Appbundle files not moved to output directory
- Fixed: Android file names containing duplicate flavor names (e.g.,
production_production_1.0.8.apk)
0.1.8 #
Features #
- π Build Progress Bar: Real-time progress bar with percentage during builds
- β‘ Async Build Process: Non-blocking build execution with live output streaming
- π― Smart Progress Detection: Automatically detects Flutter build stages and updates progress
Changes #
- Removed auto-open config file feature (config file no longer opens automatically)
- Converted build process from sync to async for better performance
- Added
_handleProcessOutput()method for streaming build output - Added
_showProgress()method with animated progress bar - Removed
configFileOpenedLogType (no longer needed)
0.1.7 #
Features #
- π Donation Messages: After successful builds, random humorous donation messages appear (10 variants)
- π Logger System: All console output now goes through the Logger system for consistency
- π¨ Better File Naming: Build files now named as
{target}_{env}_{version}_{buildNumber}(e.g.,apk_production_1.0.8_2150.apk) - π§ Enhanced LogTypes: Added
buildNumberIncremented,fileSaved,outputDirCreatedfor detailed logging
Changes #
- Removed all
print()statements in favor ofLogger.log() - Fixed file naming bug where environment was duplicated in filename
- Added new LogType variants with random message selection
- Improved code organization and consistency
0.1.6 #
Features #
- π― Desktop Output Path: Default output path now points to
~/Desktop/dartdosh-buildsinstead ofreleases - π Auto File Open: Config file automatically opens in default editor after creation
- π¬ Improved Messages: Better user feedback when config is created for first time
- π₯οΈ Cross-Platform: Supports macOS, Linux, and Windows for auto file opening
Changes #
- Changed default
output_pathfromreleasesto~/Desktop/dartdosh-builds - Added
_openConfigFile()helper method for opening config in default editor - Enhanced console messages: "Xo'jayiin, default configlarni yaratdim, tekshirib ko'ring!"
0.1.5 #
Package Maintenance #
- β
Added Verified Publisher: Package now published under verified publisher
ahadjonovss.uz - π¦ Publisher Information: Added publisher field to pubspec.yaml for better package credibility
0.1.4 #
Bug Fixes #
- π Fixed --split Flag for IPA: The
--splitflag is now properly ignored for IPA builds (iOS doesn't support split builds) - β
Improved Flag Handling:
--splitflag now only applies to APK builds, converting to--split-per-abi - π± Better Platform Support: Different build targets now handle flags appropriately based on platform capabilities
0.1.3 #
Critical Bug Fix #
- π₯ Fixed Entry Point: Updated main entry point to use the new CLI class architecture
- π Resolved Environment Detection: Fixed critical issue where dartdosh.dart was using old ArgParser code instead of the new CLI class
- β Simplified Architecture: Main entry point now properly delegates to CLI class for cleaner code organization
0.1.2 #
Bug Fixes #
- π Fixed Environment Flag Parsing: Environment flags (--production, --staging, --development) are now correctly recognized and excluded from extra build flags
- π Resolved "Unknown" Environment Error: Fixed issue where environment was being detected as "unknown" even when flags were provided
0.1.1 #
Code Quality Improvements #
- β Added Dartdoc Comments: All public APIs now have comprehensive documentation
- β
Fixed Formatting Issues: All files formatted with
dart format - β Fixed Linting Issues: Removed unnecessary braces in string interpolation
- β Improved Pub Score: Achieved 50/50 pub points with proper documentation
Technical Changes #
- Added dartdoc comments to CLI, BuildManager, and public functions
- Fixed string interpolation warnings
- Applied Dart formatting to entire codebase
0.1.0 #
New Features #
- β Automatic Build Number Increment: Build number automatically increments by 1 before each build
- β Output Path Support: Built files can be automatically copied to specified output directory
- β
Smart File Naming: Files are renamed to
{environment}_{version}_{buildNumber}format - β Auto Directory Creation: Output directory is created automatically if it doesn't exist
- β
Auto Config Generation: If
build_config.jsondoesn't exist, it's automatically created with default settings - β Personalized Messages: All log messages address the user as "Xo'jayiin" (Boss)
Changes #
- Updated
build_config.jsonstructure to supportoutput_pathparameter - Build number is now incremented in
pubspec.yamlbefore build starts - Built files are copied to output path (if specified) instead of just being renamed
- Missing
build_config.jsonis now auto-generated instead of causing an error - All logger messages now include "Xo'jayiin" for a personalized experience
Examples #
# With output_path configured
dartdosh build apk --production
# Result: releases/production_1.2.3_46.apk
# Without output_path
dartdosh build apk --staging
# Result: build/app/outputs/flutter-apk/staging_1.2.3_46.apk
0.0.3 #
- Stable version with basic build functionality
0.0.1 #
- Initial version