Skip to content

Commit 9f8be15

Browse files
authored
Merge branch 'remkop:main' into main
2 parents 5e215f6 + 270bd02 commit 9f8be15

29 files changed

Lines changed: 1712 additions & 1275 deletions

.gitattributes

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,17 @@
66
# The above will handle all files NOT found below
77
#
88
# These files are text and should be normalized (Convert crlf => lf)
9-
*.adoc text
10-
*.css text
11-
*.gradle text
12-
*.groovy text
13-
*.java text
14-
*.js text
15-
*.md text
16-
*.properties text
17-
*.txt text
18-
*.yml text
19-
*.html text
9+
*.adoc text eol=lf
10+
*.css text eol=lf
11+
*.gradle text eol=lf
12+
*.groovy text eol=lf
13+
*.java text eol=lf
14+
*.js text eol=lf
15+
*.md text eol=lf
16+
*.properties text eol=lf
17+
*.txt text eol=lf
18+
*.yml text eol=lf
19+
*.html text eol=lf
2020

2121
# These files are text and must be normalized to lf
2222
gradlew text eol=lf

RELEASE-NOTES.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,47 @@
11
# picocli Release Notes
22

3+
# <a name="4.7.7"></a> Picocli 4.7.7
4+
The picocli community is pleased to announce picocli 4.7.7.
5+
6+
This release includes bugfixes and enhancements.
7+
8+
Many thanks to the picocli community for raising these issues and providing the pull requests to address them!
9+
10+
This is the eighty-sixth public release.
11+
Picocli follows [semantic versioning](https://semver.org/).
12+
Artifacts in this release are signed by Remko Popma (6601 E5C0 8DCC BB96).
13+
14+
## <a name="4.7.7-toc"></a> Table of Contents
15+
* [New and noteworthy](#4.7.7-new)
16+
* [Fixed issues](#4.7.7-fixes)
17+
* [Deprecations](#4.7.7-deprecated)
18+
* [Potential breaking changes](#4.7.7-breaking-changes)
19+
20+
## <a name="4.7.7-new"></a> New and Noteworthy
21+
22+
The built-in `picocli.CommandLine.HelpCommand` subcommand now implements `Callable<Integer>` and returns the exit code of the subcommand's `exitCodeOnUsageHelp` value for the subcommand whose help was requested.
23+
24+
From this release, if a command implements both `Callable` and `Runnable`, then the default execution strategy will invoke the `call` method instead of the `run` method.
25+
26+
27+
28+
## <a name="4.7.7-fixes"></a> Fixed issues
29+
30+
* [#2355] Bugfix: The built-in `help` subcommand should return the exit code of the subcommand's `exitCodeOnUsageHelp` value for the subcommand whose help was requested. Thanks to [marco-brandizi](https://github.com/marco-brandizi) for raising this.
31+
* [#2335] Bugfix: Module info missing in all jars except the main picocli jar file. Thanks to [Oliver B. Fischer](https://github.com/obfischer) for raising this.
32+
* [#2331] Bugfix: AutoComplete with jline3 was showing hidden commands. Thanks to [clebertsuconic](https://github.com/clebertsuconic) for raising this.
33+
* [#2291] Bugfix: NullPointerException when using PropertiesDefaultProvider. Thanks to [JessHolle](https://github.com/JessHolle) for raising this.
34+
* [#2290] DOC: User guide, CDI 2.0 (JSR 365) section: fix example and add warning about dynamic proxies. Thanks to [Mert Zeybekler](https://github.com/Mert-Z) for the pull request.
35+
* [#2347] DOC: Fix line-endings in generated asciidoc HTML. Thanks to [Fridrich Štrba](https://github.com/fridrich) for the pull request.
36+
37+
## <a name="4.7.7-deprecated"></a> Deprecations
38+
No features were deprecated in this release.
39+
40+
## <a name="4.7.7-breaking-changes"></a> Potential breaking changes
41+
This release has no breaking changes.
42+
43+
44+
345
# <a name="4.7.6"></a> Picocli 4.7.6
446
The picocli community is pleased to announce picocli 4.7.6.
547

build.gradle

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ buildscript {
2323
}
2424
}
2525

26+
apply plugin: 'org.beryx.jar' // for compiling module-info on Java 8
2627
apply plugin: 'io.codearte.nexus-staging'
2728

2829
if (System.getenv('MAVEN_OSS_USER')) { // on home system
@@ -61,7 +62,6 @@ pluginManager.withPlugin('biz.aQute.bnd.builder') { // if plugin applied, execut
6162
allprojects {
6263
apply plugin: 'java'
6364
apply plugin: 'java-library' // to avoid https://github.com/gradle/gradle/issues/1118
64-
apply plugin: 'org.beryx.jar' // for compiling module-info on Java 8
6565

6666
// https://errorprone.info/docs/installation requires Java 11+
6767
if (JavaVersion.current().isJava11Compatible()) {
@@ -121,32 +121,6 @@ allprojects {
121121
// Workaround frpm https://bugs.openjdk.org/browse/JDK-4973681
122122
javadoc.options.addStringOption('sourcepath', 'src/main/java')
123123

124-
if (!project.name in ['picocli-examples', 'picocli-annotation-processing-tests']) {
125-
//sourceSets.main.java.srcDirs = ['src/main/java', 'src/main/java9']
126-
compileJava {
127-
inputs.property("moduleName", moduleName)
128-
// doFirst {
129-
// logger.info("Java version is " + JavaVersion.current())
130-
// if (JavaVersion.current().isJava9Compatible()) {
131-
// options.compilerArgs = [
132-
// '--module-path', classpath.asPath,
133-
// ]
134-
// }
135-
// // classpath = files()
136-
// classpath = sourceSets.main.runtimeClasspath
137-
// logger.info("options.compilerArgs is " + options.compilerArgs)
138-
// logger.info("classpath is " + classpath.files)
139-
// }
140-
}
141-
moduleConfig {
142-
// copy module-info.class to META-INF/versions/9
143-
multiReleaseVersion = 9
144-
moduleInfoPath = 'src/main/java9/module-info.java'
145-
version = project.version
146-
neverCompileModuleInfo = true
147-
}
148-
}
149-
150124
normalization {
151125
runtimeClasspath {
152126
metaInf {

docs/announcing-picocli-1.0.html

Lines changed: 75 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -526,81 +526,81 @@
526526
.CodeRay .change .change{color:#66f}
527527
.CodeRay .head .head{color:#f4f}
528528
</style>
529-
<style>
530-
.hidden {
531-
display: none;
532-
}
533-
534-
.switch {
535-
border-width: 1px 1px 0 1px;
536-
border-style: solid;
537-
border-color: #7a2518;
538-
display: inline-block;
539-
}
540-
541-
.switch--item {
542-
padding: 10px;
543-
background-color: #ffffff;
544-
color: #7a2518;
545-
display: inline-block;
546-
cursor: pointer;
547-
}
548-
549-
.switch--item.selected {
550-
background-color: #7a2519;
551-
color: #ffffff;
552-
}
553-
554-
</style>
555-
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
556-
<script type="text/javascript">
557-
function addBlockSwitches() {
558-
$('.primary').each(function() {
559-
primary = $(this);
560-
createSwitchItem(primary, createBlockSwitch(primary)).item.addClass("selected");
561-
primary.children('.title').remove();
562-
});
563-
$('.secondary').each(function(idx, node) {
564-
secondary = $(node);
565-
primary = findPrimary(secondary);
566-
switchItem = createSwitchItem(secondary, primary.children('.switch'));
567-
switchItem.content.addClass('hidden');
568-
findPrimary(secondary).append(switchItem.content);
569-
secondary.remove();
570-
});
571-
}
572-
573-
function createBlockSwitch(primary) {
574-
blockSwitch = $('<div class="switch"></div>');
575-
primary.prepend(blockSwitch);
576-
return blockSwitch;
577-
}
578-
579-
function findPrimary(secondary) {
580-
candidate = secondary.prev();
581-
while (!candidate.is('.primary')) {
582-
candidate = candidate.prev();
583-
}
584-
return candidate;
585-
}
586-
587-
function createSwitchItem(block, blockSwitch) {
588-
blockName = block.children('.title').text();
589-
content = block.children('.content').first().append(block.next('.colist'));
590-
item = $('<div class="switch--item">' + blockName + '</div>');
591-
item.on('click', '', content, function(e) {
592-
$(this).addClass('selected');
593-
$(this).siblings().removeClass('selected');
594-
e.data.siblings('.content').addClass('hidden');
595-
e.data.removeClass('hidden');
596-
});
597-
blockSwitch.append(item);
598-
return {'item': item, 'content': content};
599-
}
600-
601-
$(addBlockSwitches);
602-
603-
</script>
529+
<style>
530+
.hidden {
531+
display: none;
532+
}
533+
534+
.switch {
535+
border-width: 1px 1px 0 1px;
536+
border-style: solid;
537+
border-color: #7a2518;
538+
display: inline-block;
539+
}
540+
541+
.switch--item {
542+
padding: 10px;
543+
background-color: #ffffff;
544+
color: #7a2518;
545+
display: inline-block;
546+
cursor: pointer;
547+
}
548+
549+
.switch--item.selected {
550+
background-color: #7a2519;
551+
color: #ffffff;
552+
}
553+
554+
</style>
555+
<script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"></script>
556+
<script type="text/javascript">
557+
function addBlockSwitches() {
558+
$('.primary').each(function() {
559+
primary = $(this);
560+
createSwitchItem(primary, createBlockSwitch(primary)).item.addClass("selected");
561+
primary.children('.title').remove();
562+
});
563+
$('.secondary').each(function(idx, node) {
564+
secondary = $(node);
565+
primary = findPrimary(secondary);
566+
switchItem = createSwitchItem(secondary, primary.children('.switch'));
567+
switchItem.content.addClass('hidden');
568+
findPrimary(secondary).append(switchItem.content);
569+
secondary.remove();
570+
});
571+
}
572+
573+
function createBlockSwitch(primary) {
574+
blockSwitch = $('<div class="switch"></div>');
575+
primary.prepend(blockSwitch);
576+
return blockSwitch;
577+
}
578+
579+
function findPrimary(secondary) {
580+
candidate = secondary.prev();
581+
while (!candidate.is('.primary')) {
582+
candidate = candidate.prev();
583+
}
584+
return candidate;
585+
}
586+
587+
function createSwitchItem(block, blockSwitch) {
588+
blockName = block.children('.title').text();
589+
content = block.children('.content').first().append(block.next('.colist'));
590+
item = $('<div class="switch--item">' + blockName + '</div>');
591+
item.on('click', '', content, function(e) {
592+
$(this).addClass('selected');
593+
$(this).siblings().removeClass('selected');
594+
e.data.siblings('.content').addClass('hidden');
595+
e.data.removeClass('hidden');
596+
});
597+
blockSwitch.append(item);
598+
return {'item': item, 'content': content};
599+
}
600+
601+
$(addBlockSwitches);
602+
603+
</script>
604604

605605
</head>
606606
<body class="article">

0 commit comments

Comments
 (0)