build_pipe 0.3.2
build_pipe: ^0.3.2 copied to clipboard
The pipline to build & publish Flutter apps for different target platforms
The pipeline for building & publishing your Flutter app for different target platforms.
Features #
General
- Specify platforms, build commands, and your preferences in
pubspec.yaml - Logs the output of all build & publish commands for future reviews
- Define multiple workflows for different build, environment, etc.
iOS & macOS
- Publishing the iOS app to App Store
- Optional clearing of XCode's derived data for consistent builds
Android
- Publishing the Android app to the Play Store
Web
- Adds the version query paramter to build files post-build to solve the caching problem of Flutter web (e.g.
flutter_bootstrap.js?v=0.12.1)
Usage #
Once the configuration is added to your project, you can run the desired command via:
##### BUILD #####
# To build for all given platforms in the default workflow
dart run build_pipe:build
# To build for all given platforms in a named workflow
dart run build_pipe:build --workflow=your_workflow_name
# To use one (or more) of the platforms defined in a workflow (comma-separated)
dart run build_pipe:build --override-target-platforms=android,ios,web
# The build command will funnel all other args passed (e.g., --dart-define) to the build
# commands on all platforms
# This allows github actions etc to pass environment vars down to the build cmd without editing the yaml file
dart run build_pipe:build --dart-define=ENVIRONMENT=prod
##### PUBLISH #####
# To publish the built app to the given platforms in the default workflow
dart run build_pipe:publish
# To publsih the built app for all given platforms in a named workflow
dart run build_pipe:publish --workflow=your_workflow_name
# To use one (or more) of the platforms defined in a workflow (comma-separated)
dart run build_pipe:publish --override-target-platforms=android
Read the topics below to setup and configure your project. The configuration is quite simple, and you just need to do it once.