From b53707074fa0096fd1c360e6178d4cb72be4e89b Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Tue, 30 Nov 2021 10:26:52 -0500
Subject: [PATCH] DTG: Add classpath to jar, add early check for support when
 called by CLI

for ease of command-line testing
---
 apps/desktopgui/build.xml                        | 2 ++
 apps/desktopgui/src/net/i2p/desktopgui/Main.java | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/apps/desktopgui/build.xml b/apps/desktopgui/build.xml
index ed0af5a16a..6487bfceac 100644
--- a/apps/desktopgui/build.xml
+++ b/apps/desktopgui/build.xml
@@ -10,6 +10,7 @@
 	<property name="javac.version" value="1.8" />
 	<property name="javac.release" value="8" />
 	<property name="require.gettext" value="true" />
+	<property name="manifest.classpath.name" value="Class-Path" />
 
     <condition property="no.bundle">
         <isfalse value="${require.gettext}" />
@@ -86,6 +87,7 @@
 		<jar basedir="${build}" excludes="messages-src/**" destfile="${dist}/${jar}">
 			<manifest>
 				<attribute name="Main-Class" value="net.i2p.desktopgui.Main"/>
+				<attribute name="${manifest.classpath.name}" value="i2p.jar router.jar" />
 				<attribute name="Implementation-Version" value="${full.version}" />
 				<attribute name="Built-By" value="${build.built-by}" />
 				<attribute name="Build-Date" value="${build.timestamp}" />
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/Main.java b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
index 70b96d7a43..557563b318 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/Main.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
@@ -5,6 +5,7 @@ package net.i2p.desktopgui;
  */
 
 import java.awt.Image;
+import java.awt.SystemTray;
 import java.awt.Toolkit;
 import java.io.File;
 import java.lang.reflect.Method;
@@ -95,6 +96,11 @@ public class Main implements RouterApp {
     }
     
     public static void main(String[] args) {
+        // early check so we can bail out when started via CLI
+        if (!SystemTray.isSupported()) {
+            System.err.println("SystemTray not supported");
+            return;
+        }
         Main main = new Main();
         main.beginStartup(args);
     }
-- 
GitLab