build method
Future<BuildResult>
build({
- required LinkModePreferenceImpl linkModePreference,
- required Target target,
- required Uri workingDirectory,
- required BuildModeImpl buildMode,
- CCompilerConfigImpl? cCompilerConfig,
- IOSSdkImpl? targetIOSSdk,
- int? targetIOSVersion,
- int? targetMacOSVersion,
- int? targetAndroidNdkApi,
- required bool includeParentEnvironment,
- PackageLayout? packageLayout,
- String? runPackageName,
- Iterable<
String> ? supportedAssetTypes, - required bool linkingEnabled,
workingDirectory
is expected to contain .dart_tool
.
This method is invoked by launchers such as dartdev (for dart run
) and
flutter_tools (for flutter run
and flutter build
).
If provided, only assets of all transitive dependencies of
runPackageName
are built.
The native assets build runner does not support reentrancy for identical
api.BuildConfig
and api.LinkConfig
! For more info see:
https://github.com/dart-lang/native/issues/1319
Implementation
Future<BuildResult> build({
required LinkModePreferenceImpl linkModePreference,
required Target target,
required Uri workingDirectory,
required BuildModeImpl buildMode,
CCompilerConfigImpl? cCompilerConfig,
IOSSdkImpl? targetIOSSdk,
int? targetIOSVersion,
int? targetMacOSVersion,
int? targetAndroidNdkApi,
required bool includeParentEnvironment,
PackageLayout? packageLayout,
String? runPackageName,
Iterable<String>? supportedAssetTypes,
required bool linkingEnabled,
}) async =>
_run(
hook: Hook.build,
linkModePreference: linkModePreference,
target: target,
workingDirectory: workingDirectory,
buildMode: buildMode,
cCompilerConfig: cCompilerConfig,
targetIOSSdk: targetIOSSdk,
targetIOSVersion: targetIOSVersion,
targetMacOSVersion: targetMacOSVersion,
targetAndroidNdkApi: targetAndroidNdkApi,
includeParentEnvironment: includeParentEnvironment,
packageLayout: packageLayout,
runPackageName: runPackageName,
supportedAssetTypes: supportedAssetTypes,
linkingEnabled: linkingEnabled,
);