As I'm not using Microsoft tools anymore I won't maintain this repository in the future. If someone wants the repository ownership please contact me on X.
Flutter build task for Azure DevOps.
Installation can be done using Visual Studio MarketPlace.
Source code can be found on Github.
Add the tasks to your build definition.
Installs the Flutter SDK onto the running agent if not already installed. Then uses it for following tasks.
- Select the 
channel:stable (default),beta, ordev. - Select the 
versionof the SDK to install:latest (default),custom. Ifcustomis specified, acustom versionmust be set. - (Optional). Set the 
custom version(in a<M>.<m>.<p>semver format) if needed. 
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 topubspec.yamlfile). - Select the 
targetplatform:Android (default),iOS, orAllfor both. - (Optional). Set 
flutter sdk pathif 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(like1.2.3) that will override the manifest's one. - (Optional). Set 
package number(like12) that will override the manifest's one. - (Optional). Set 
build flavour(likedevelopment) to specify a build flavour. Must match Android Gradle flavor definition or XCode scheme. - (Optional). Set 
debugif you wish to override the default release mode for the build. - (Optional). Set 
Additional argumentsif you wish to adds custom arguments to thebuildcommand. - (Android).(Optional). Set 
platformfor the Android target:android-arm (default),android-arm64. - (iOS).(Optional). Set 
platformfor 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 
Launch tests and publish a report as build test results.
- Select the 
project source directory(that contains topubspec.yamlfile). - (Optional). Set 
test nameas a regular expression matching substrings of the names of tests to run. - (Optional). Set 
Test plain nameas a plain-text substring of the names of tests to run. - (Optional). Set 
Test plain nameas a plain-text substring of the names of tests to run. - (Optional). Set 
update goldens: whethermatchesGoldenFile()calls within your test methods should update the golden files rather than test for an existing match. - (Optional). The number of 
concurrenttest processes to run. (defaults to6) 
Launch a Flutter command with custom arguments.
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.
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'

