runOnPackage method

  1. @override
FutureOr<int> runOnPackage(
  1. Package package
)
override

Implementation

@override
FutureOr<int> runOnPackage(Package package) async {
  try {
    final pubspec = package.pubspec;

    final next = pubspec.version!.nextPatch;

    final alpha = Version(
      next.major,
      next.minor,
      next.patch,
      pre: "alpha",
      build: DateTime.now().millisecondsSinceEpoch.toString(),
    );

    await pubspec
        .copy(
          version: alpha,
        )
        .save(package.directory);

    final changelogFile = File.fromUri(
      package.directory.uri.resolve("CHANGELOG.md"),
    );
    final changelog = await changelogFile.readAsString();
    await changelogFile.writeAsString(
      "## $alpha\n\n$changelog",
      flush: true,
    );

    return 0;
  } catch (e) {
    return 1;
  }
}