ReleaseRunner class

Constructors

ReleaseRunner(String pathToPackageRoot)

Properties

changeLogPath String
no setter
changeLogPathLower String
latefinal
changeLogPathUpper String
git books writes out changelog.md as lower case. We also have the issue that on Windows file names are case insensitive. As such we look for both versions given the upper case version precedence.
latefinal
hashCode int
The hash code for this object.
no setterinherited
pathToPackageRoot String
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

checkPackage({required bool autoAnswer}) PubSpecDetails
checks with the user that we are operating on the correct package and returns details of the packages pubspec.yaml.
commitRelease(Version newVersion, String workingDirectory, {required bool usingGit, required bool autoAnswer, required bool dryrun}) → void
determineAndUpdateVersion(VersionMethod versionMethod, Version? passedVersion, PubSpecDetails pubspecDetails, {required bool dryrun}) Version
doReleaseNotesExist(Version version) bool
checks the change log to see if the release notes for version have already been generated.
doRun({required bool dryrun, required void runRelease()}) Future<void>
Runs the release process. If we are running a dry run we back up key files that we have to change for the pub.dev publish dry run to work but which we don't actually want to changes as we are doing a dry run. At the end of the dry run we restore these key files.
doRunTests(String projectRootPath, {required String? tags, required String? excludeTags}) bool
generateReleaseNotes(Version? newVersion, Version? currentVersion, {required bool autoAnswer, required bool dryrun}) → void
gitChecks(String projectRootPath) bool
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
prepareCode(String projectRootPath, int lineLength, {required bool format, required bool usingGit}) → void
Ensure that all code is correctly formatted. and that it passes all tests.
prepareReleaseNotes(String projectRootPath, Version newVersion, Version? currentVersion, {required bool usingGit, required bool autoAnswer, required bool dryrun}) → void
publish(String pubspecPath, {required bool autoAnswer, required bool dryrun}) bool
pubRelease({required PubSpecDetails pubSpecDetails, required VersionMethod versionMethod, required int lineLength, required bool format, required bool dryrun, required bool runTests, required bool autoAnswer, required String? tags, required String? excludeTags, required bool useGit, Version? setVersion}) Future<bool>
runPubGet(String projectRootPath) → void
Run pub get to ensure that the project is in a runnable state. This may result in pubspec.lock being updated and as we don't allow the project to have any uncommited files we need to commit it. It will almost certainly change if we are doing a multi-package release as the dependencies we are releasing will have their version no.s changed.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited