isProjectReady static method

Future<Map<String, dynamic>> isProjectReady(
  1. String projectPath
)

Check if project is ready for Android signing Returns a map with 'isReady' (bool) and 'issues' (List

Implementation

static Future<Map<String, dynamic>> isProjectReady(String projectPath) async {
  try {
    final analysis = await ProjectAnalyzer.analyzeFlutterProject(projectPath);
    final issues = <String>[];

    if (!analysis.isFlutterProject) {
      issues.add('Not a valid Flutter project');
      return {'isReady': false, 'issues': issues};
    }

    if (!analysis.hasAndroidDir) {
      issues.add('Missing android/ directory');
    }

    if (!analysis.hasAppGradle) {
      issues.add('Missing android/app/build.gradle');
    }

    if (!analysis.hasKeyProperties && !analysis.hasKeystore) {
      issues.add('No keystore or key.properties configuration found');
    }

    if (!analysis.existingSigningConfig) {
      issues.add('No signing configuration in build.gradle');
    }

    final isReady = issues.isEmpty;
    return {'isReady': isReady, 'issues': issues};
  } catch (e) {
    return {
      'isReady': false,
      'issues': ['Error analyzing project: $e']
    };
  }
}