initialize static method
템플릿 기반으로 프로젝트 구조 생성
Implementation
static Future<void> initialize({
required String targetPath,
required String projectName,
required String packageId,
required List<String> platforms,
}) async {
final logger = Logger();
try {
final targetDir = Directory(targetPath);
if (!targetDir.existsSync()) {
logger.err('❌ 대상 프로젝트 폴더를 찾을 수 없습니다: $targetPath');
return;
}
// 템플릿 기반으로 프로젝트 구조 생성
await ProjectTemplateGenerator.generateProject(
targetPath: targetPath,
projectName: projectName,
packageId: packageId,
platforms: platforms,
logger: logger,
);
// Android 패키지 이름 업데이트
logger.detail('Android 패키지 이름 업데이트 중...');
await _updateAndroidPackage(
targetPath: targetPath,
packageId: packageId,
logger: logger,
);
// iOS 번들 ID 업데이트
logger.detail('iOS 번들 ID 업데이트 중...');
await _updateIOSBundleId(
targetPath: targetPath,
packageId: packageId,
logger: logger,
);
logger.success('✅ 프로젝트 초기화 완료');
} catch (e, stackTrace) {
logger.err('❌ 프로젝트 초기화 중 오류 발생: $e');
logger.detail('스택 트레이스: $stackTrace');
rethrow;
}
}