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
- 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
- the repository carries no manual changes — the working tree is clean
and every commit this ticket contributes is gg's own bookkeeping,
which
gg.ContributedCommitsdecides for this check and forgg do commitalike.
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.