From 8a3b2f191ea811959fab475d5a5579c886e30fe9 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 21 Apr 2019 08:12:20 -0400 Subject: [PATCH 1/4] preserve file attributes so things don't appear modified; fix some indents lost in tab conversion --- build/build.xml | 17 ++++---- core/build.xml | 27 +++++++------ java/build.xml | 105 +++++++++++++++++++++++------------------------- 3 files changed, 73 insertions(+), 76 deletions(-) diff --git a/build/build.xml b/build/build.xml index fdd1d9a08a..bcc3ca42a4 100644 --- a/build/build.xml +++ b/build/build.xml @@ -388,11 +388,11 @@ message="Do not call assemble from the command line." /> - + - + @@ -403,7 +403,8 @@ - + @@ -643,7 +644,7 @@ - + @@ -785,7 +786,7 @@ - + @@ -818,7 +819,7 @@ - + @@ -1073,7 +1074,7 @@ - + @@ -1094,7 +1095,7 @@ - + diff --git a/core/build.xml b/core/build.xml index 0b82eba67e..e1bf0fd5fc 100644 --- a/core/build.xml +++ b/core/build.xml @@ -15,20 +15,20 @@ - - + - @@ -51,8 +51,8 @@ includeAntRuntime="false" debug="true" destdir="bin" - classpath="apple.jar; - library/jogl-all.jar; + classpath="apple.jar; + library/jogl-all.jar; library/gluegen-rt.jar" nowarn="true"> @@ -61,23 +61,24 @@ - + - + - + - + - + diff --git a/java/build.xml b/java/build.xml index 32932744b5..0fda9c2c55 100644 --- a/java/build.xml +++ b/java/build.xml @@ -1,15 +1,15 @@ - + - + - + @@ -23,12 +23,12 @@ - - - - - - + + + + + + @@ -37,9 +37,9 @@ - + @@ -49,28 +49,24 @@ - + - + - + - + @@ -86,38 +82,37 @@ - - + + https://github.com/processing/processing/issues/1792 --> + debug="on" + nowarn="true" + compiler="org.eclipse.jdt.core.JDTCompilerAdapter"> - From f25160db77d31004e1321d51c279dcb808b6ae7b Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 21 Apr 2019 08:30:47 -0400 Subject: [PATCH 2/4] update AppBundler, use newer macOS SDK, preserve attributes where possible --- build/macosx/appbundler.jar | Bin 143975 -> 139110 bytes build/macosx/appbundler/build.xml | 13 +++++++------ .../com/oracle/appbundler/AppBundlerTask.java | 13 +++++++++---- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/build/macosx/appbundler.jar b/build/macosx/appbundler.jar index 0102f306a9e0e01ca9f283e047c30891056380a5..42cc8f18cdc81f88ddfa7442762c0fb2ae4d6487 100644 GIT binary patch delta 19088 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∨4|G5+n%oO*EyIHwi5&bH3XATP1Lg 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 MtQaTv-A6(BKfwDM`v3p{ diff --git a/build/macosx/appbundler/build.xml b/build/macosx/appbundler/build.xml index 9b48b2bb5c..4d02204175 100644 --- a/build/macosx/appbundler/build.xml +++ b/build/macosx/appbundler/build.xml @@ -33,8 +33,8 @@ questions. version=1.0ea --> - - + + @@ -73,7 +73,8 @@ questions. - + + @@ -87,10 +88,10 @@ questions. - - + + diff --git a/build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java b/build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java index 8009c78b25..df4c26bc73 100644 --- a/build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java +++ b/build/macosx/appbundler/src/com/oracle/appbundler/AppBundlerTask.java @@ -458,6 +458,7 @@ private void copyResources(File resourcesDirectory) throws IOException { } finally { outputStream.close(); } + file.setLastModified(zipEntry.getTime()); } zipEntry = zipInputStream.getNextEntry(); } @@ -729,7 +730,9 @@ private static void delete(File file) throws IOException { private static void copy(URL location, File file) throws IOException { try (InputStream in = location.openStream()) { - Files.copy(in, file.toPath(), StandardCopyOption.REPLACE_EXISTING); + Files.copy(in, file.toPath(), + // can't do attributes when coming from URL + StandardCopyOption.REPLACE_EXISTING); } } @@ -740,13 +743,15 @@ private static void copy(File source, File destination) throws IOException { destination.getParentFile().mkdirs(); - Files.copy(sourcePath, destinationPath, StandardCopyOption.REPLACE_EXISTING, LinkOption.NOFOLLOW_LINKS); + Files.copy(sourcePath, destinationPath, + StandardCopyOption.REPLACE_EXISTING, + StandardCopyOption.COPY_ATTRIBUTES, + LinkOption.NOFOLLOW_LINKS); if (Files.isDirectory(sourcePath, LinkOption.NOFOLLOW_LINKS)) { String[] files = source.list(); - for (int i = 0; i < files.length; i++) { - String file = files[i]; + for (String file : files) { copy(new File(source, file), new File(destination, file)); } } From 238b75d7c261997cce3794db94deeae049affd2c Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Sun, 21 Apr 2019 09:17:42 -0400 Subject: [PATCH 3/4] notes about build changes --- todo.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/todo.txt b/todo.txt index 1d7abd5487..6e714bdb8f 100755 --- a/todo.txt +++ b/todo.txt @@ -2,6 +2,8 @@ X use ctrl-page up/down for tabs on Windows X https://github.com/processing/processing/issues/5794 X fix potential highlighting issue that wasn't selecting portions of text +X update AppBundler to use newer SDK, recompile +X edit build.xml files and appbundler to preserve more attributes _ "Could not get the settings folder" isn't very helpful _ https://github.com/processing/processing/issues/5744 From 37108add372272d7b1fc23d2500dce911c4d1098 Mon Sep 17 00:00:00 2001 From: Ben Fry Date: Mon, 22 Apr 2019 20:30:32 -0400 Subject: [PATCH 4/4] attempt to use 8u212, but Oracle has broken the download --- build/build.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build/build.xml b/build/build.xml index bcc3ca42a4..c7061c2c3d 100644 --- a/build/build.xml +++ b/build/build.xml @@ -77,6 +77,12 @@ or http://stackoverflow.com/q/10268583 --> + +