resolveRecommended function
Blueprint
resolveRecommended({
- required String projectName,
- required String description,
- required String organization,
- required String destination,
- required Set<
String> targetPlatforms, - required bool gitPreference,
- required ValidationProfile validationProfile,
- required RecipeLock lock,
- SetupMode setupMode = SetupMode.recommended,
Resolves the Recommended preset to a schema_version: 3 Blueprint.
The v1-shaped fields (Blueprint.recipeId/Blueprint.recipeVersion/
Blueprint.engineVersion) are populated from lock as a bridge to the
still-fixed-stack staging pipeline (Stager().stage) — composable,
selection-driven resolution lands in T068. They never appear in the v2
wire contract (Blueprint.toJson omits them for schema 2); they exist
only so the existing 0.1 compatibility/staging machinery, which is
reused unchanged per plan.md, keeps working during this preset's plan
review.
Implementation
Blueprint resolveRecommended({
required String projectName,
required String description,
required String organization,
required String destination,
required Set<String> targetPlatforms,
required bool gitPreference,
required ValidationProfile validationProfile,
required RecipeLock lock,
// Overridable so a caller seeding from the Recommended selections for a
// different provenance (e.g. Customize's Phase-3 bridge, before T029/T030
// land) records the mode the developer actually chose (data-model.md §3:
// setupMode is provenance, not the selections themselves).
SetupMode setupMode = SetupMode.recommended,
}) => Blueprint(
schemaVersion: 3,
projectName: projectName,
description: description,
organization: organization,
destination: destination,
flutterSdkRequirement: lock.flutterRange,
targetPlatforms: targetPlatforms,
recipeId: lock.recipeId,
recipeVersion: lock.recipeVersion,
engineVersion: lock.engineVersion,
validationProfile: validationProfile,
gitPreference: gitPreference,
setupMode: setupMode,
singleSelections: recommendedSingleSelections,
multiSelections: recommendedMultiSelections,
);