PublishSkipCheck class

Decides whether a ticket repository needs to be published at all.

Many repositories are only part of a ticket because they sit between two changed packages in the dependency chain. Such a pass-through repository does not need a release when

  1. no dependency published earlier in the run received a version its already-published constraint cannot absorb (i.e. no breaking bump — for versions >= 1.0.0 that is a whole-number/major increase, for 0.x versions the minor position acts as the breaking one), and
  2. the repository carries no manual changes — the working tree is clean and every commit this ticket contributes is gg's own bookkeeping, which gg.ContributedCommits decides for this check and for gg do commit alike.

Every situation that cannot be judged reliably (unknown dependency version, unparsable constraint, missing git history, …) results in »publish« — skipping is only ever chosen when it is provably safe.

Implementers

Constructors

PublishSkipCheck({ProcessRunner? processRunner, ContributedCommits? contributedCommits})
Constructor.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

get({required Node repo, required Map<String, String> refVersions}) → Future<PublishSkipDecision>
Returns the skip decision for repo.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

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

Static Properties

ggOwnedFiles → Set<String>
The files gg's bookkeeping commits legitimately touch.
final

Constants

ggCommitPrefix → const String
Every commit message gg generates itself starts with this prefix.
legacyGgCommitMessages → const Set<String>
Commit subjects gg versions before the »#gg: « prefix created.