Enum Class ResolutionScope
- All Implemented Interfaces:
Serializable, Comparable<ResolutionScope>, Constable, network.ike.support.enums.ConstantBackedEnum, network.ike.support.enums.EnumDefinition
The release-cascade is loosely coupled: a module asserts only about itself ("I am not done until what I just published is actually fetchable where I promised"); no module ever asks about its upstreams. Cascade coherence then emerges, because the finish-trigger fires the downstream only after the upstream build succeeds, and "success" now includes the upstream's own self-resolution check. An un-resolvable artifact fails its own build, the finish-trigger does not fire, and the cascade stops — incoherence becomes a red build on the responsible module, never a silently-wrong downstream.
The three rungs name a provided repository in which the module must confirm its artifact, ordered by audience reach:
LOCAL— the local.m2cache. Verifies nothing: the module's owninstalltrivially put the artifact there. An explicit opt-OUT, valid only for draft/dev runs and rejected for-publish.NEXUS(default) — the shared, consumer-resolvable Nexus group (ike-public). The cross-agent / cascade guarantee: the source of truth a downstream's "resolve latest" actually reads.CENTRAL— Maven Central. The public-availability gate; being eventually-consistent it is a long, bounded, non-blocking verify, never a fast hard gate.
The local-vs-TeamCity run axis is irrelevant to the scope — the determinant is the artifact's audience (consumers resolve from the shared repo), not where the build ran.
Lives in ike-maven-plugin rather than the shared
ike-java-support enum library (where ReleasePolicy
lives) because, unlike a release policy, a resolution scope is read
only by the release goal here — no consumer-side extension validates
it — so it needs no foundation re-release to evolve.
Each rung carries a NAME_* mirror constant — the
ConstantBackedEnum pattern — so the rung name is usable where
a compile-time String constant is required (e.g. the Mojo
@Parameter default).
- Since:
- 1
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum Constants -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanWhether this scope is strong enough to publish at — i.e. it confirms the artifact in a shared, consumer-resolvable repository rather than only the build's own local cache.term()static ResolutionScopeReturns the enum constant of this class with the specified name.static ResolutionScope[]values()Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
LOCAL
The local.m2cache — verifies nothing; draft/dev opt-out only. -
NEXUS
The shared, consumer-resolvable Nexus group (ike-public). -
CENTRAL
Maven Central — the public-availability gate (eventual-consistency).
-
-
Field Details
-
NAME_LOCAL
-
NAME_NEXUS
-
NAME_CENTRAL
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
literalName
For
ResolutionScopethe literal is the rung name as it appears in theike.resolutionScopeproperty.- Specified by:
literalNamein interfacenetwork.ike.support.enums.ConstantBackedEnum
-
term
For
ResolutionScopethe term andliteralName()coincide.- Specified by:
termin interfacenetwork.ike.support.enums.EnumDefinition
-
definition
- Specified by:
definitionin interfacenetwork.ike.support.enums.EnumDefinition
-
satisfiesPublishMinimum
public boolean satisfiesPublishMinimum()Whether this scope is strong enough to publish at — i.e. it confirms the artifact in a shared, consumer-resolvable repository rather than only the build's own local cache.-publishdemands≥ NEXUS: a published artifact's audience is consumers, who resolve from the shared repo, so a release must prove the artifact is fetchable there.LOCALis the lone opt-out and is rejected for publish.
-