saveToFile method

Future<void> saveToFile(
  1. String path
)

Save configuration to file

Implementation

Future<void> saveToFile(String path) async {
  final String content =
      '''
# Oracular Setup Configuration
# Generated: ${DateTime.now().toIso8601String()}

APP_NAME=$appName
ORG_DOMAIN=$orgDomain
BASE_CLASS_NAME=$baseClassName
TEMPLATE_NAME=${template.name}
OUTPUT_DIR=$outputDir
PLATFORMS=${platforms.join(',')}
CREATE_MODELS=${createModels ? 'yes' : 'no'}
CREATE_SERVER=${createServer ? 'yes' : 'no'}
USE_FIREBASE=${useFirebase ? 'yes' : 'no'}
${firebaseProjectId != null ? 'FIREBASE_PROJECT_ID=$firebaseProjectId' : '# FIREBASE_PROJECT_ID='}
SETUP_CLOUD_RUN=${setupCloudRun ? 'yes' : 'no'}
${serviceAccountKeyPath != null ? 'SERVICE_ACCOUNT_KEY=$serviceAccountKeyPath' : '# SERVICE_ACCOUNT_KEY='}
DEPLOY_HOSTING_RELEASE=${deployHostingRelease ? 'yes' : 'no'}
DEPLOY_HOSTING_BETA=${deployHostingBeta ? 'yes' : 'no'}
FIRESTORE_REGION=$firestoreRegion
INITIALIZE_FIRESTORE=${initializeFirestore ? 'yes' : 'no'}
INITIALIZE_STORAGE=${initializeStorage ? 'yes' : 'no'}
ENABLE_EMAIL_AUTH=${enableEmailAuth ? 'yes' : 'no'}
ENABLE_GOOGLE_AUTH=${enableGoogleAuth ? 'yes' : 'no'}
REQUIRE_BLAZE=${requireBlaze ? 'yes' : 'no'}
SETUP_ARTIFACT_CLEANUP=${setupArtifactCleanup ? 'yes' : 'no'}
ARTIFACT_KEEP_RECENT=$artifactKeepRecent
ARTIFACT_DELETE_OLDER_DAYS=$artifactDeleteOlderDays
CLOUD_RUN_KEEP_REVISIONS=$cloudRunKeepRevisions
JASPR_RENDER_MODE=${jasprRenderMode.name}
${jasprServerServiceName != null ? 'JASPR_SERVER_SERVICE_NAME=$jasprServerServiceName' : '# JASPR_SERVER_SERVICE_NAME='}
EMBEDDED_FLUTTER_MOUNT=$embeddedFlutterMount
HYBRID_DYNAMIC_PREFIXES=${hybridDynamicPrefixes.join(',')}
''';

  await File(path).writeAsString(content);
}