addPubspecFileWithoutCommitting function
Create a pubspec.yaml file with a version
Implementation
Future<File> addPubspecFileWithoutCommitting(
Directory testDir, {
required String? version,
String? additionalContent,
}) async {
final file = File('${testDir.path}/pubspec.yaml');
var content = await file.exists()
? await file.readAsString()
: 'name: test\nversion: $version\n';
if (version == null) {
content = content.replaceAll(RegExp(r'version: .*'), '');
} else {
content = content.replaceAll(RegExp(r'version: .*'), 'version: $version');
}
// Add additional content
if (additionalContent != null) {
if (!content.contains(additionalContent)) {
content += additionalContent;
}
}
await file.writeAsString(content);
return file;
}