add deps for GraphCLI

This commit is contained in:
ulic-youthlic 2025-04-29 19:05:38 +08:00
parent 599a631c65
commit 326851391c
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
2 changed files with 32 additions and 1 deletions

View file

@ -8,6 +8,7 @@
plugins {
// Apply the application plugin to add support for building a CLI application in Java.
application
id("com.gradleup.shadow") version "9.0.0-beta12"
}
repositories {
@ -23,6 +24,8 @@ dependencies {
// This dependency is used by the application.
implementation(libs.guava)
implementation("org.jline:jline:3.29.0")
}
// Apply a specific Java toolchain to ease working on different environments.
@ -30,7 +33,7 @@ java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }
application {
// Define the main class for the application.
mainClass = "fun.youthlic.Graph"
mainClass = "fun.youthlic.GraphCLI"
}
tasks.named<Test>("test") {

View file

@ -0,0 +1,28 @@
package fun.youthlic;
import java.io.IOException;
import org.jline.reader.LineReader;
import org.jline.reader.LineReaderBuilder;
import org.jline.reader.impl.DefaultParser;
import org.jline.terminal.Terminal;
import org.jline.terminal.TerminalBuilder;
public class GraphCLI {
public static void main(final String[] args) {
try {
final Terminal terminal = TerminalBuilder.builder().system(true).build();
final LineReader reader = LineReaderBuilder.builder().terminal(terminal).parser(new DefaultParser())
.build();
while (true) {
final String line = reader.readLine("graph> ");
if (line.trim().equalsIgnoreCase("exit"))
break;
System.out.println(line);
}
} catch (final IOException e) {
} finally {
}
}
}