setVersion method
Implementation
Future<void> setVersion(
String version, {
bool noCommit = false,
bool noTag = false,
bool push = false,
}) async {
if (!isValidVersion(version)) {
throw ArgumentError('Invalid semantic version format');
}
await executor.updateVersion(version);
final canTag = !noCommit && !noTag;
if (!noCommit) {
await executor.commit('chore: set version to $version');
} else if (!noTag) {
executor.getLogger.warn('[WARNING] Cannot create tag because commit was skipped.');
}
if (canTag) {
await executor.createTag('v$version');
}
if (!noCommit) {
if (push) await executor.push();
} else if (push) {
executor.getLogger.warn('[WARNING] Cannot push because commit was skipped.');
}
}