Class ConfigurationReader
java.lang.Object
io.github.joke.conventionalversion.config.ConfigurationReader
Interprets
release-please-config.json.
Every option that changes a number is taken from here rather than restated in the build, so the
two cannot disagree. Where release-please does something this project does not model, the
build fails naming it: a coordinate that quietly ignores configuration is the failure this plugin
exists to prevent, and refusing loudly keeps deferring a feature safe.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StringcomponentOf(JsonObject scope) The component release-please derives, which underrelease-type: simpleis whatever is declared and otherwise nothing at all — its default package name is empty, and a package's path is never used as a component.inherited(JsonObject scope, JsonObject config, String key) A package setting wins over the same setting at the top level, as release-please resolves them.inheritedText(JsonObject scope, JsonObject config, String key) protected booleanisLinkedVersions(JsonObject plugin) protected SemanticVersionparseInitialVersion(String text) protected VersionPolicypolicyOf(JsonObject scope, JsonObject config) read(JsonObject config) protected LinkedGroupreadGroup(JsonObject plugin) protected List<LinkedGroup> readGroups(JsonObject config) protected ReleasePackagereadPackage(String path, JsonObject scope, JsonObject config) protected List<ReleasePackage> readPackages(JsonObject config) protected voidrefuseSharedTag(Map.Entry<String, List<ReleasePackage>> shared) protected voidrefuseVersionAffecting(JsonObject scope) protected voidrequireDistinctTags(List<ReleasePackage> packages) protected TagFormattagFormatOf(JsonObject scope, JsonObject config)
-
Field Details
-
CONFIG_FILE
- See Also:
-
-
Constructor Details
-
ConfigurationReader
public ConfigurationReader()
-
-
Method Details
-
read
-
readPackages
-
readPackage
@VisibleForTesting protected ReleasePackage readPackage(String path, JsonObject scope, JsonObject config) -
componentOf
The component release-please derives, which underrelease-type: simpleis whatever is declared and otherwise nothing at all — its default package name is empty, and a package's path is never used as a component. -
tagFormatOf
-
policyOf
-
parseInitialVersion
-
inherited
@VisibleForTesting protected Optional<Boolean> inherited(JsonObject scope, JsonObject config, String key) A package setting wins over the same setting at the top level, as release-please resolves them. -
inheritedText
@VisibleForTesting protected Optional<String> inheritedText(JsonObject scope, JsonObject config, String key) -
refuseVersionAffecting
-
requireDistinctTags
-
readGroups
-
isLinkedVersions
-
readGroup
-