Skip to content

Commit a293822

Browse files
authored
Minor fixes: proper help syntax and ability to extend core exports (#1799)
Display proper syntax on help, ability to extend core exports.
1 parent 66b7e2c commit a293822

File tree

3 files changed

+32
-8
lines changed

3 files changed

+32
-8
lines changed

maven-cli/src/main/java/org/apache/maven/cling/invoker/CommonsCliOptions.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ public void displayHelp(String command, PrintWriter pw) {
437437
formatter.printHelp(
438438
pw,
439439
width,
440-
command + " [args]",
440+
commandLineSyntax(command),
441441
System.lineSeparator() + "Options:",
442442
options,
443443
HelpFormatter.DEFAULT_LEFT_PAD,
@@ -447,5 +447,9 @@ public void displayHelp(String command, PrintWriter pw) {
447447

448448
pw.flush();
449449
}
450+
451+
protected String commandLineSyntax(String command) {
452+
return command + " [options] [goals]";
453+
}
450454
}
451455
}

maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,10 @@ protected PlexusContainer container(C context) throws Exception {
9999
.setName("maven");
100100
customizeContainerConfiguration(context, cc);
101101

102-
Set<String> exportedArtifacts = new HashSet<>(coreEntry.getExportedArtifacts());
103-
Set<String> exportedPackages = new HashSet<>(coreEntry.getExportedPackages());
104-
for (CoreExtensionEntry extension : extensions) {
105-
exportedArtifacts.addAll(extension.getExportedArtifacts());
106-
exportedPackages.addAll(extension.getExportedPackages());
107-
}
108-
CoreExports exports = new CoreExports(containerRealm, exportedArtifacts, exportedPackages);
102+
CoreExports exports = new CoreExports(
103+
containerRealm,
104+
collectExportedArtifacts(coreEntry, extensions),
105+
collectExportedPackages(coreEntry, extensions));
109106
Thread.currentThread().setContextClassLoader(containerRealm);
110107
DefaultPlexusContainer container = new DefaultPlexusContainer(cc, getCustomModule(context, exports));
111108

@@ -153,6 +150,24 @@ protected void configure() {
153150
return container;
154151
}
155152

153+
protected Set<String> collectExportedArtifacts(
154+
CoreExtensionEntry coreEntry, List<CoreExtensionEntry> extensionEntries) {
155+
Set<String> exportedArtifacts = new HashSet<>(coreEntry.getExportedArtifacts());
156+
for (CoreExtensionEntry extension : extensionEntries) {
157+
exportedArtifacts.addAll(extension.getExportedArtifacts());
158+
}
159+
return exportedArtifacts;
160+
}
161+
162+
protected Set<String> collectExportedPackages(
163+
CoreExtensionEntry coreEntry, List<CoreExtensionEntry> extensionEntries) {
164+
Set<String> exportedPackages = new HashSet<>(coreEntry.getExportedPackages());
165+
for (CoreExtensionEntry extension : extensionEntries) {
166+
exportedPackages.addAll(extension.getExportedPackages());
167+
}
168+
return exportedPackages;
169+
}
170+
156171
/**
157172
* Note: overriding this method should be avoided. Preferred way to replace Maven components is the "normal" way
158173
* where the components are on index (are annotated with JSR330 annotations and Sisu index is created) and, they

maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,5 +116,10 @@ protected void prepareOptions(org.apache.commons.cli.Options options) {
116116
.desc("Should imply user answered \"yes\" to all incoming questions?")
117117
.build());
118118
}
119+
120+
@Override
121+
protected String commandLineSyntax(String command) {
122+
return command + " [options] [goal]";
123+
}
119124
}
120125
}

0 commit comments

Comments
 (0)