Flutter for Azure DevOps
Flutter build task for Azure DevOps.
All credit goes to original author for his awesome work.
This extension is custom/updated/maintained fork of Alois Deniel's extension Github
Installation
Installation can be done using Visual Studio MarketPlace.
Source Code
Source code can be found on Github.
Original Author : Github.
Usage
Add the tasks to your build definition.
Install

Installs the Flutter SDK onto the running agent if not already installed. Then uses it for following tasks.
- Select the
channel: stable (default), beta, or dev.
- Select the
version of the SDK to install: latest (default), custom. If custom is specified, a custom version must be set.
- (Optional). Set the
custom version (in a <M>.<m>.<p> semver format) if needed for example : 'v1.22+3' or '1.17.0'.
Build

Build the given mobile application project. You must call the Flutter Install task, set a FlutterToolPath environment variable, or use the optional Flutter SDK Path task entry that points to your flutter/bin folder before execution. All the application bundles are created into the build/outputs folder of your project.
- Select the
project source directory (that contains to pubspec.yaml file).
- Select the
target platform: Android (default), iOS, or All for both.
- (Optional). Set
flutter sdk path if using a local agent with a pre-installed Flutter SDK, can specify the path to utilize it. Otherwise use Flutter Install.
- (Optional). Set
package name (like 1.2.3) that will override the manifest's one.
- (Optional). Set
package number (like 12) that will override the manifest's one.
- (Optional). Set
build flavour (like development) to specify a build flavour. Must match Android Gradle flavor definition or XCode scheme.
- (Optional). Set
debug if you wish to override the default release mode for the build.
- (Android).(Optional). Set
platform for the Android target: android-arm (default), android-arm64.
- (iOS).(Optional). Set
platform for the iOS target: device (default), simulator.
- (iOS).(Optional). Codesign the application bundle (only available on device builds, and activated by default). Warning: you must install a valid certificate before build with the
Install an Apple Certificatetask
Test

Launch tests and publish a report as build test results.
- Select the
project source directory (that contains to pubspec.yaml file).
- (Optional). Set
test name as a regular expression matching substrings of the names of tests to run.
- (Optional). Set
Test plain name as a plain-text substring of the names of tests to run.
- (Optional). Set
Test plain name as a plain-text substring of the names of tests to run.
- (Optional). Set
update goldens: whether matchesGoldenFile() calls within your test methods should update the golden files rather than test for an existing match.
- (Optional). The number of
concurrent test processes to run. (defaults to 6)
Analyze

Launch analyze on flutter directory.
- Select the
project source directory (that contains to pubspec.yaml file).
- (Optional). Set
pub get if you wish to pub get before analyze: true (default).
Command

Launch a Flutter command with custom arguments.
FAQ
Flutter command isn't recognized ?
Make sure that you have a Flutter Install at the beginning of your definition.
Can I run a custom Flutter command ?
Yes, right after the Flutter Install task, a FlutterToolPath environment variable points to the bin of the Flutter SDK directory. You just have to use $(FlutterToolPath) in your following tasks. Example command "$(FlutterToolPath)/flutter packages get"
Can I run Dart program ?
Yes, actually a Dart runtime is embedded with Flutter tools (in the /cache/dart-sdk/bin subdirectory).
A task example :
- task: CmdLine@2
displayName: 'Execute Dart program'
inputs:
script: '$(FlutterToolPath)/cache/dart-sdk/bin/dart program.dart arg1 arg2'
workingDirectory: 'src'
License
MIT