generateMetadataFile method
Generates the release.json file inside the target releaseDirectory.
Returns the absolute path of the generated release.json.
Implementation
Future<String> generateMetadataFile(ReleaseMetadataModel metadata) async {
_validateMetadata(metadata);
final dir = Directory(metadata.releaseDirectory);
if (!dir.existsSync()) {
dir.createSync(recursive: true);
}
final file = File(p.join(dir.path, 'release.json'));
// Format JSON with 2-space indentation
final encoder = const JsonEncoder.withIndent(' ');
final jsonString = encoder.convert(metadata.toJson());
await file.writeAsString(jsonString);
return file.absolute.path;
}