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