Flutter for Azure DevOps Flutter build task for Azure DevOps. Installation Installation can be done using Visual Studio MarketPlace. Source Code Source code can be found on 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 .

: , , or . Select the version of the SDK to install: latest (default) , custom . If custom is specified, a custom version must be set.

of the SDK to install: , . If is specified, a must be set. (Optional). Set the custom version (in a <M>.<m>.<p> semver format) if needed. 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).

(that contains to file). Select the target platform: Android (default) , iOS , or All for both.

platform: , , or 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.

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.

(like ) that will override the manifest's one. (Optional). Set package number (like 12 ) that will override the manifest's one.

(like ) 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.

(like ) 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.

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 .

.(Optional). Set for the Android target: , . (iOS) .(Optional). Set platform for the iOS target: device (default) , simulator .

.(Optional). Set for the iOS target: , . (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 Certificate task Test Launch tests and publish a report as build test results. Select the project source directory (that contains to pubspec.yaml file).

(that contains to file). (Optional). Set test name as a regular expression matching substrings of the names of tests to run.

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.

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.

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.

: whether 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 ) 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. 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