38 public static class LoadGtk {
39 public static void main(String[] args) {
40 ((UNIXToolkit)Toolkit.getDefaultToolkit()).loadGTK();
41 }
42 }
43
44 public static void main(String[] args) throws Exception {
45 test(null, "2");
46 test("2", "2");
47 test("2.2", "2");
48 test("3", "3");
49 }
50
51 private static void test(String version, String expect) throws Exception {
52 System.out.println( "Test " +
53 (version == null ? "no" : " GTK" + version) + " preference.");
54 Process p = Runtime.getRuntime().exec(System.getProperty("java.home") +
55 "/bin/java " +
56 (version == null ? "" : "-Djdk.gtk.version=" + version) +
57 " -Djdk.gtk.verbose=true " +
58 "-XaddExports:java.desktop/sun.awt=ALL-UNNAMED " +
59 "-cp " + System.getProperty("java.class.path", ".") +
60 " GtkVersionTest$LoadGtk");
61 p.waitFor();
62
63 try (BufferedReader br = new BufferedReader(
64 new InputStreamReader(p.getErrorStream()))) {
65 String line;
66 while ((line = br.readLine()) != null) {
67 System.out.println(line);
68 if (line.contains("Looking for GTK" + expect + " library")) {
69 return;
70 } else if (line.contains("Looking for GTK")) {
71 break;
72 }
73 }
74 throw new RuntimeException("Wrong GTK library version: \n" + line);
75 }
76 }
77
78 }
|
38 public static class LoadGtk {
39 public static void main(String[] args) {
40 ((UNIXToolkit)Toolkit.getDefaultToolkit()).loadGTK();
41 }
42 }
43
44 public static void main(String[] args) throws Exception {
45 test(null, "2");
46 test("2", "2");
47 test("2.2", "2");
48 test("3", "3");
49 }
50
51 private static void test(String version, String expect) throws Exception {
52 System.out.println( "Test " +
53 (version == null ? "no" : " GTK" + version) + " preference.");
54 Process p = Runtime.getRuntime().exec(System.getProperty("java.home") +
55 "/bin/java " +
56 (version == null ? "" : "-Djdk.gtk.version=" + version) +
57 " -Djdk.gtk.verbose=true " +
58 "--add-exports=java.desktop/sun.awt=ALL-UNNAMED " +
59 "-cp " + System.getProperty("java.class.path", ".") +
60 " GtkVersionTest$LoadGtk");
61 p.waitFor();
62
63 try (BufferedReader br = new BufferedReader(
64 new InputStreamReader(p.getErrorStream()))) {
65 String line;
66 while ((line = br.readLine()) != null) {
67 System.out.println(line);
68 if (line.contains("Looking for GTK" + expect + " library")) {
69 return;
70 } else if (line.contains("Looking for GTK")) {
71 break;
72 }
73 }
74 throw new RuntimeException("Wrong GTK library version: \n" + line);
75 }
76 }
77
78 }
|