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 Certificate
task
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