addMegaDeps static method
void
addMegaDeps(
{ - required bool hasOverridesDeps,
})
Implementation
static void addMegaDeps({required bool hasOverridesDeps}) {
File file = File('pubspec.yaml');
List<String> lines = file.readAsLinesSync();
int? emptyLineIndex;
String megaDeps = '''
mega_commons_dependencies:
path: ../megaflutter_commons_dependencies
# git:
# url: git@github.com:megaleios-git/megaflutter_commons_dependencies.git
# ref: 1.4.2
mega_commons:
path: ../megaflutter_commons
# git:
# url: git@github.com:megaleios-git/megaflutter_commons.git
# ref: 1.4.4
mega_features:
path: ../megaflutter_features
# git:
# url: git@github.com:megaleios-git/megaflutter_features.git
# ref: 1.4.4''';
for (int i = 0; i < lines.length; i++) {
if (lines[i].contains("cupertino_icons:")) {
emptyLineIndex = getEmptyLine(i, lines, emptyLineIndex);
break;
}
if (lines[i].contains("dependencies:")) {
emptyLineIndex = getEmptyLine(i, lines, emptyLineIndex);
break;
}
}
if (emptyLineIndex != null) {
if (hasOverridesDeps) {
lines.removeWhere((line) => line.trim().startsWith('publish_to:'));
lines.insert(emptyLineIndex, ''' mega_commons_dependencies:
mega_commons:
mega_features:
''');
lines.insert(emptyLineIndex + 1, '''dependency_overrides:
$megaDeps''');
} else {
lines.insert(emptyLineIndex, megaDeps);
}
String newContent = lines.join('\n');
file.writeAsStringSync(newContent);
}
}