fix(deps): update picocli to v4.7.0 #145
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.6.3
->4.7.0
4.6.3
->4.7.0
⚠ Dependency Lookup Warnings ⚠
Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.
Release Notes
remkop/picocli
v4.7.0
Compare Source
The picocli community is pleased to announce picocli 4.7.0.
This release includes bugfixes and enhancements.
A potentially breaking change is that the parser now treats
char[]
as a single-value type.From this release, applications can programmatically set the trace level, and use tracing in custom components.
Applications can improve startup time by setting system property
picocli.disable.closures
totrue
to disable support for closures in annotations.Many more fixes and enhancements, see the sections below for more details.
This is the seventy-ninth public release.
Picocli follows semantic versioning.
Artifacts in this release are signed by Remko Popma (6601 E5C0 8DCC BB96).
Table of Contents
New and Noteworthy
Tracing API
From picocli 4.7.0, applications can programmatically set the trace level, and use tracing in custom components.
In addition to setting system property
picocli.trace
, applications can now change the trace level via theTracer::setLevel
method. For example:The new public method
CommandLine.tracer()
returns the singletonTracer
object that is used internally by picocli, and can also be used by custom component implementations to do tracing. For example:Enable Consuming Option Names or Subcommands
By default, options that take a parameter do not consume values that match a subcommand name or an option name.
This release introduces two parser configuration options to change this behaviour:
CommandLine::setAllowOptionsAsOptionParameters
allows options to consume option namesCommandLine::setAllowSubcommandsAsOptionParameters
allows options to consume subcommand namesWhen set to
true
, all options in the command (options that take a parameter) can consume values that match option names or subcommand names.This means that any option will consume the maximum number of arguments possible for its arity.
USE WITH CAUTION!
If an option is defined as
arity = "*"
, this option will consume all remaining command line arguments following this option (until the End-of-options delimiter) as parameters of this option.Unsorted Synopsis
By default, the synopsis displays options in alphabetical order.
Picocli 4.7.0 introduces a
sortSynopsis = false
attribute to let the synopsis display options in the order they are declared in your class, or sorted by theirorder
attribute.Parser change for
char[]
optionsPrior to 4.7, the picocli parser treated options and positional parameters with type
char[]
as array (multi-value) options, except for interactive options. However, it is more intuitive to treat allchar[]
options as single-value options, similar toString
options.For end users, this means that existing applications that use non-interactive
char[]
options will no longer allow multiple characters to be specified separately on the command line. That is, input like-c A -c B -c C
will be rejected and the user needs to specify-c ABC
instead.Applications that want to preserve the previous behaviour will need to change their code to use
java.lang.Character[]
instead ofchar[]
.Fixed issues
picocli-codegen
artifact is now an explicitly declared named JPMS module with amodule-info.class
.picocli-groovy
artifact is now an explicitly declared named JPMS module with amodule-info.class
.picocli-shell-jline2
is now an explicitly declared named JPMS module with amodule-info.class
.picocli-shell-jline3
is now an explicitly declared named JPMS module with amodule-info.class
.picocli-spring-boot-starter
is now an explicitly declared named JPMS module with amodule-info.class
. NOTE: its module name changed toinfo.picocli.spring.boot
frominfo.picocli.spring
.picocli-spring-boot-starter
JPMS module name toinfo.picocli.spring.boot
frominfo.picocli.spring
.requires static java.sql
to picoclimodule-info
.TraceLevel
. Thanks to ekinano for raising this.requiredOptionMarker
should not be displayed onArgGroup
options. Thanks to Ahmed El Khalifa for the pull request.PicocliSpringFactory
to allow custom fallbackIFactory
. Thanks to Andrew Holland for raising this.OptionSpec.getValue()
and addIScoped
internal API. Thanks to Ruud Senden for the discussion and the pull request.order
.setUsageHelpLongOptionsMaxWidth
method no longer throws an exception when an invalid value is specified; instead, the value is ignored and an INFO-level trace message is logged. Thanks to Fabio for the pull request.char[]
as single-value types (Potentially breaking change). Thanks to Lukáš Petrovický for the pull request with the test to verify the solution.picocli.disable.closures
totrue
to disable support for closures in annotations. Thanks to patric-r for raising this.order
if specified. Thanks to Simon for raising this.order
(if specified). Thanks to Enderaoe for the pull request with unit tests.Help
command description. Thanks to Michael L Heuer for the pull request. Thanks to Garret Wilson for raising this.Option
andParameters
annotations. Thanks to xehpuk for raising this, and thanks to Adam McElwee for the pull request.multiplicity="0"
are now disallowed at construction time and no longer throw aStackOverflowError
while parsing. Thanks to ARNOLD Somogyi for raising this.getCJKAdjustedLength()
no longer miscalculates for supplementary code points. Thanks to gwalbran for the pull request.posixClusteredShortOptionsAllowed
is set to false.@Command
-annotated method parameters are assigned incorrect indices when contained in a@Command
class that is added as a subcommand to another@Command
class which hasscope = CommandLine.ScopeType.INHERIT
. Thanks to Onedy for raising this.CommandSpec
. Thanks to Philippe Charles for raising this.null
asdefaultValue
andfallbackValue
.main
frommaster
. Thanks to Andreas Deininger for the pull request.picocli-codegen
README
. Thanks to Andreas Deininger for the pull request.picocli-examples
in the user manual. Thanks to Markus Elfring for raising this.@Command
-annotated method withint
return value in user manual. Thanks to SinaMobasheri for raising this.picocli-groovy
module now declaresgroovy-all
as dependency.slf4j
frompicocli-spring-boot-starter
.2541b12
c661989
to 2.2.4c661989
to 2.2.5Deprecations
No features were deprecated in this release.
Potential breaking changes
picocli-spring-boot-starter
has been changed toinfo.picocli.spring.boot
frominfo.picocli.spring
.picocli-groovy
module now declaresgroovy-all
as dependency.char[]
as a single-value type.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.