flutter-container
Provides functions for building Flutter Docker images (flutter, android, emulator stages).Images are pre-configured with sensible defaults; versions can be overridden via
WithFlutterVersion and WithAndroidVersion.
Installation
dagger install github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069Entrypoint
Return Type
FlutterContainer ! Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
func (m *MyModule) Example() *dagger.FlutterContainer {
return dag.
FlutterContainer()
}@function
def example() -> dagger.FlutterContainer:
return (
dag.flutter_container()
)@func()
example(): FlutterContainer {
return dag
.flutterContainer()
}Types
FlutterContainer 🔗
flutterVersion() 🔗
Flutter SDK version tag (e.g. “3.41.9”).
Return Type
String ! Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
flutter-versionfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
FlutterContainer().
FlutterVersion(ctx)
}@function
async def example() -> str:
return await (
dag.flutter_container()
.flutter_version()
)@func()
async example(): Promise<string> {
return dag
.flutterContainer()
.flutterVersion()
}androidVersion() 🔗
Android platform API level for the emulator system image (e.g. “36”).
Return Type
String ! Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
android-versionfunc (m *MyModule) Example(ctx context.Context) string {
return dag.
FlutterContainer().
AndroidVersion(ctx)
}@function
async def example() -> str:
return await (
dag.flutter_container()
.android_version()
)@func()
async example(): Promise<string> {
return dag
.flutterContainer()
.androidVersion()
}android() 🔗
Android returns a container with the Flutter SDK and Android tools installed. When platform is not specified, the engine’s native platform is used.
Return Type
Container !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| platform | Scalar | - | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
androidfunc (m *MyModule) Example() *dagger.Container {
return dag.
FlutterContainer().
Android()
}@function
def example() -> dagger.Container:
return (
dag.flutter_container()
.android()
)@func()
example(): Container {
return dag
.flutterContainer()
.android()
}emulator() 🔗
Emulator returns a container with Flutter, Android tools, and a pre-created AVD.
The ABI is automatically selected based on platform: - linux/amd64 → x86_64 - linux/arm64 → arm64-v8a
When platform is not specified, the engine’s native platform is used.
Return Type
Container !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| platform | Scalar | - | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
emulatorfunc (m *MyModule) Example() *dagger.Container {
return dag.
FlutterContainer().
Emulator()
}@function
def example() -> dagger.Container:
return (
dag.flutter_container()
.emulator()
)@func()
example(): Container {
return dag
.flutterContainer()
.emulator()
}flutter() 🔗
Flutter returns a container with the Flutter SDK installed (ubuntu:24.04 base). When platform is not specified, the engine’s native platform is used.
Return Type
Container !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| platform | Scalar | - | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
flutterfunc (m *MyModule) Example() *dagger.Container {
return dag.
FlutterContainer().
Flutter()
}@function
def example() -> dagger.Container:
return (
dag.flutter_container()
.flutter()
)@func()
example(): Container {
return dag
.flutterContainer()
.flutter()
}publish() 🔗
Publish builds multi-arch Flutter images and pushes them to a container registry.
Publishes three tags: - flutter: — flutter base (ubuntu + Flutter SDK) - flutter:-android — android base (flutter + Android SDK - flutter:-emulator — emulator (android + emulator + AVD, per-platform ABI)
Returns the digest of the published flutter base image.
Return Type
String !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| registry | String ! | - | No description provided |
| username | String ! | - | No description provided |
| password | Secret ! | - | No description provided |
| platforms | String | "linux/amd64,linux/arm64" | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
publish --registry string --username string --password env:MYSECRETfunc (m *MyModule) Example(ctx context.Context, registry string, username string, password *dagger.Secret) string {
return dag.
FlutterContainer().
Publish(ctx, registry, username, password)
}@function
async def example(registry: str, username: str, password: dagger.Secret) -> str:
return await (
dag.flutter_container()
.publish(registry, username, password)
)@func()
async example(registry: string, username: string, password: Secret): Promise<string> {
return dag
.flutterContainer()
.publish(registry, username, password)
}withAndroidVersion() 🔗
WithAndroidVersion returns this module configured to use the given Android API level.
Return Type
FlutterContainer !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| version | String ! | - | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
with-android-version --version stringfunc (m *MyModule) Example(version string) *dagger.FlutterContainer {
return dag.
FlutterContainer().
WithAndroidVersion(version)
}@function
def example(version: str) -> dagger.FlutterContainer:
return (
dag.flutter_container()
.with_android_version(version)
)@func()
example(version: string): FlutterContainer {
return dag
.flutterContainer()
.withAndroidVersion(version)
}withFlutterVersion() 🔗
WithFlutterVersion returns this module configured to use the given Flutter version.
Return Type
FlutterContainer !Arguments
| Name | Type | Default Value | Description |
|---|---|---|---|
| version | String ! | - | No description provided |
Example
dagger -m github.com/daniel-naegele/daggerverse/flutter-container@c1726f379484cbd7c24af3b1997e5cac894db069 call \
with-flutter-version --version stringfunc (m *MyModule) Example(version string) *dagger.FlutterContainer {
return dag.
FlutterContainer().
WithFlutterVersion(version)
}@function
def example(version: str) -> dagger.FlutterContainer:
return (
dag.flutter_container()
.with_flutter_version(version)
)@func()
example(version: string): FlutterContainer {
return dag
.flutterContainer()
.withFlutterVersion(version)
}