Skip to content

Commit d77462e

Browse files
authored
[MNG-8261] Remove jline-terminal-ffm direct dependency (#1719)
1 parent 2d22462 commit d77462e

File tree

5 files changed

+66
-7
lines changed

5 files changed

+66
-7
lines changed

apache-maven/pom.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,15 @@ under the License.
9999
</dependency>
100100
<dependency>
101101
<groupId>org.jline</groupId>
102-
<artifactId>jline</artifactId>
102+
<artifactId>jline-reader</artifactId>
103+
</dependency>
104+
<dependency>
105+
<groupId>org.jline</groupId>
106+
<artifactId>jline-terminal-jni</artifactId>
107+
</dependency>
108+
<dependency>
109+
<groupId>org.jline</groupId>
110+
<artifactId>jline-terminal-ffm</artifactId>
103111
</dependency>
104112

105113
<!-- DI Runtime -->

maven-embedder/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ under the License.
123123
</dependency>
124124
<dependency>
125125
<groupId>org.jline</groupId>
126-
<artifactId>jline</artifactId>
126+
<artifactId>jansi-core</artifactId>
127127
</dependency>
128128

129129
<dependency>

maven-jline/pom.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,20 @@ under the License.
4040
</dependency>
4141
<dependency>
4242
<groupId>org.jline</groupId>
43-
<artifactId>jline</artifactId>
43+
<artifactId>jline-reader</artifactId>
44+
</dependency>
45+
<dependency>
46+
<groupId>org.jline</groupId>
47+
<artifactId>jline-terminal-jni</artifactId>
48+
</dependency>
49+
<dependency>
50+
<groupId>org.jline</groupId>
51+
<artifactId>jline-terminal-ffm</artifactId>
52+
<optional>true</optional>
53+
</dependency>
54+
<dependency>
55+
<groupId>org.jline</groupId>
56+
<artifactId>jansi-core</artifactId>
4457
</dependency>
4558
<dependency>
4659
<groupId>javax.inject</groupId>
@@ -62,4 +75,13 @@ under the License.
6275
</dependency>
6376
</dependencies>
6477

78+
<build>
79+
<plugins>
80+
<plugin>
81+
<groupId>org.eclipse.sisu</groupId>
82+
<artifactId>sisu-maven-plugin</artifactId>
83+
</plugin>
84+
</plugins>
85+
</build>
86+
6587
</project>

maven-jline/src/main/java/org/apache/maven/jline/JLineMessageBuilderFactory.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public MessageBuilder builder(int size) {
7474

7575
@Override
7676
public String readLine() throws IOException {
77-
return doPrompt(null, true);
77+
return doPrompt(null, false);
7878
}
7979

8080
@Override
@@ -193,7 +193,21 @@ private void doDisplay(String message) throws IOException {
193193

194194
private String doPrompt(String message, boolean password) throws IOException {
195195
try {
196-
return MessageUtils.reader.readLine(message != null ? message + ": " : null, password ? '*' : null);
196+
if (message != null) {
197+
if (!message.endsWith("\n")) {
198+
if (message.endsWith(":")) {
199+
message += " ";
200+
} else if (!message.endsWith(": ")) {
201+
message += ": ";
202+
}
203+
}
204+
int lastNl = message.lastIndexOf('\n');
205+
String begin = message.substring(0, lastNl + 1);
206+
message = message.substring(lastNl + 1);
207+
MessageUtils.terminal.writer().print(begin);
208+
MessageUtils.terminal.flush();
209+
}
210+
return MessageUtils.reader.readLine(message, password ? '*' : null);
197211
} catch (Exception e) {
198212
throw new IOException("Unable to prompt user", e);
199213
}

pom.xml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,22 @@ under the License.
461461
</dependency>
462462
<dependency>
463463
<groupId>org.jline</groupId>
464-
<artifactId>jline</artifactId>
464+
<artifactId>jline-reader</artifactId>
465+
<version>${jlineVersion}</version>
466+
</dependency>
467+
<dependency>
468+
<groupId>org.jline</groupId>
469+
<artifactId>jline-terminal-ffm</artifactId>
470+
<version>${jlineVersion}</version>
471+
</dependency>
472+
<dependency>
473+
<groupId>org.jline</groupId>
474+
<artifactId>jline-terminal-jni</artifactId>
475+
<version>${jlineVersion}</version>
476+
</dependency>
477+
<dependency>
478+
<groupId>org.jline</groupId>
479+
<artifactId>jansi-core</artifactId>
465480
<version>${jlineVersion}</version>
466481
</dependency>
467482
<dependency>
@@ -818,7 +833,7 @@ under the License.</licenseText>
818833
<ignoredScope>test</ignoredScope>
819834
</ignoredScopes>
820835
<excludes>
821-
<exclude>org.jline:jline</exclude>
836+
<exclude>org.jline:jline-terminal-ffm</exclude>
822837
</excludes>
823838
</enforceBytecodeVersion>
824839
</rules>

0 commit comments

Comments
 (0)