BuildOrchestrator class

Central "what does building this project mean?" service.

Reads SetupConfig and produces an ordered list of build steps. Every other build entry point in Oracular (CLI oracular build …, oracular deploy hosting, the Cloud Run deploy flow, the integration tests) routes through here so that the answer is single-sourced.

Design notes:

  • This service is build only. It never pushes images, never deploys. That keeps it composable with the existing FirebaseService and the new JasprServerDeployer.
  • Every method returns a BuildStepResult instead of bool so callers can assemble a full BuildReport with diagnostics.
  • All paths are derived from SetupConfig (never from cwd), so the orchestrator works the same way whether it's invoked from the project root, from CI, or from a unit test.

Constructors

BuildOrchestrator(SetupConfig config, {ProcessRunner? runner})

Properties

config SetupConfig
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

buildAll() Future<BuildReport>
Build every artifact this project is meant to produce, in order.
buildDartCli() Future<BuildStepResult>
dart compile exe bin/<appName>.dart for the arcaneCli template. Build-only — arcane_cli_app has no deploy target by design.
buildEmbeddedFlutter() Future<BuildStepResult>
Build the Flutter web guest used by arcane_jaspr_flutter_embed.
buildFlutter({required String platform}) Future<BuildStepResult>
flutter build <platform> --release inside the Flutter app project. Returns BuildStepResult.skipped when the platform is not in config.platforms (defensive — buildAll filters by the list, but a direct invocation might pass anything).
buildJaspr() Future<BuildStepResult>
jaspr build inside the Jaspr project, dispatched per SetupConfig.jasprRenderMode:
buildJasprServerImage() Future<BuildStepResult>
docker build -f Dockerfile.jaspr -t <image> . for SSR / hybrid Jaspr projects. Pushes are not performed here; see JasprServerDeployer for the push + Cloud Run deploy.
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