phntmxyz_bump_version_sidekick_plugin

Last updated:

0 purchases

phntmxyz_bump_version_sidekick_plugin Image
phntmxyz_bump_version_sidekick_plugin Images
Add to Cart

Description:

phntmxyz bump version sidekick plugin

Bump Version sidekick plugin #
A plugin for sidekick CLIs.
Description #

Bumps the version of a package (major, minor, patch)
Optionally commits the version bump
modification API to adjust other files (e.g. CHANGELOG.md)

Installation #
Prerequisites: #

install sidekick: dart pub global activate sidekick
generate custom sidekick CLI: sidekick init

Installing plugins to a custom sidekick CLI is very similar to installing a package with
the pub tool.
Installing this plugin from pub.dev #
your_custom_sidekick_cli sidekick plugins install phntmxyz_bump_version_sidekick_plugin
copied to clipboard
Usage #
your_custom_sidekick_cli bump_version [package-path] [--minor|patch|major] --[no-]commit
copied to clipboard
package-path is the path to the folder containing the pubspec.yaml whose version should be bumped.
An error is thrown when no pubspec.yaml can be found there.
If package-path is not given, this defaults to the mainProject which can be optionally defined in your sidekick_cli.
If no mainProject is defined, this defaults to the current directory.
One of --minor, --patch, --major is required. This controls how the version is bumped.
E.g. current version is 1.2.3, --minor is selected -> updates to 1.3.0.
If --commit is given, the version bump is automatically committed.
Modification API #
runner..addCommand(BumpVersionCommand()..addModification(bumpChangelog));
copied to clipboard
Future<void> bumpChangelog(DartPackage package, Version oldVersion, Version newVersion) async {
final readme = package.root.file('README.md');
final content = readme.readAsStringSync();

final versionRegex = RegExp(r'my_package: \^(.+)');
final update = content.replaceFirst(versionRegex, 'my_package: ^${newVersion.canonicalizedVersion}');
readme.writeAsStringSync(update);
}
copied to clipboard
License #
Copyright 2023 phntm GmbH

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.