NativeProjectExecutor class final

Shared build entry point for CLI, hooks, CI, and tests.

Orchestrates the complete native build pipeline:

  1. Resolves source when a declarative recipe needs it
  2. Resolves the recipe via NativeBuildDefinition.recipeFor
  3. Executes the recipe, or falls back to hook/build.dart when no recipe exists
  4. Stages the artifact bundle with role-based subdirectories
  5. Writes native_prebuilt.json metadata
  6. Returns NativeBuildResult

Constructors

NativeProjectExecutor({required NativeProject project, ResolvedSource? source, SourceFallback? sourceFallback, BuildCache? cache, Logger? logger, ProcessRunnerInterface? runner})
const

Properties

cache BuildCache?
Optional build cache for step-level caching.
final
hashCode int
The hash code for this object.
no setterinherited
logger → Logger?
Optional logger for build output.
final
project NativeProject
The native project definition.
final
runner ProcessRunnerInterface?
Optional process runner used for hook/build.dart fallback.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
source ResolvedSource?
The resolved source to build from.
final
sourceFallback SourceFallback?
Source fallback configuration for resolving source when source is null.
final

Methods

build({required NativeTarget target, required Directory outputDir, Directory? workDir, LinkMode? linkMode}) Future<NativeBuildResult>
Build for a specific target.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited