From efd11eefd52dfa67e10d6dc7ff54f0d25d0bbb76 Mon Sep 17 00:00:00 2001 From: POUDEROUX Tom Date: Sat, 7 Feb 2026 18:47:04 +0100 Subject: [PATCH] Initial commit : POC with ProcessBuilder and Flatpak --- .classpath | 10 ++++++ .gitignore | 1 + .project | 17 ++++++++++ .settings/org.eclipse.core.resources.prefs | 2 ++ .settings/org.eclipse.jdt.core.prefs | 11 +++++++ src/Main.java | 10 ++++++ src/backend/Process.java | 36 ++++++++++++++++++++++ 7 files changed, 87 insertions(+) create mode 100644 .classpath create mode 100644 .gitignore create mode 100644 .project create mode 100644 .settings/org.eclipse.core.resources.prefs create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 src/Main.java create mode 100644 src/backend/Process.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..463d5f9 --- /dev/null +++ b/.classpath @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/.project b/.project new file mode 100644 index 0000000..71e191d --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + GDB_JavaUI + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..99f26c0 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..9a7984b --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..d02f130 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,10 @@ + +public class Main { + + public static void main(String[] args) { + System.out.println("Hello World !"); + backend.Process p = new backend.Process(""); + + } + +} diff --git a/src/backend/Process.java b/src/backend/Process.java new file mode 100644 index 0000000..1f857fc --- /dev/null +++ b/src/backend/Process.java @@ -0,0 +1,36 @@ +package backend; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +public class Process { + + private InputStream stdOut; + private java.lang.Process process; + private ProcessBuilder processBuilder; + + public Process(String command) { + + ProcessBuilder pb = null; + if (System.getenv("container") != null) { + if (System.getenv("container").equals("flatpak")) { + pb = new ProcessBuilder("flatpak-spawn", "--host", "kate"); + } + } + if (pb == null) { + pb = new ProcessBuilder("kate"); + } + try { + process = pb.start(); + InputStream stdOut = process.getInputStream(); + process.waitFor(); + System.out.println(new String(stdOut.readAllBytes())); + + } catch (IOException e) { + e.printStackTrace(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } +}