mirror of
https://github.com/processing/processing4.git
synced 2026-02-04 22:29:18 +01:00
Moves to Java11 and OpenJDK via AdoptOpenJDK within the processing4 train using a squash of sampottinger processing fork's java11 branch. **Primary required changes:** Some changes directly support OpenJFX / OpenJDK 11: - Response to image loading changes caused by [JEP 320](https://openjdk.java.net/jeps/320) - Use of jmodules as necessitated by [JEP 261](https://openjdk.java.net/jeps/261) - Reponse to largely changed file paths caused by [JEP 220](https://openjdk.java.net/jeps/220). - Modifications in build system related to AdoptOpenJDK and Java 11 which have a different naming structure for downloads. - Allowing use of non-Oracle Java within internal Processing checks. **Secondary required changes:** There were some secondary required changes that impacted the usability of Processing after having moved to OpenJFX / OpenJDK 11: - Removal of com.apple.eawt calls related to [JEP 272](http://openjdk.java.net/jeps/272) - Response to HiDPI support on Windows and Linux in [JEP 263](https://openjdk.java.net/jeps/263) - Removal of `java.ext.dirs`. Would be forced by [JEP 220](http://openjdk.java.net/jeps/220). - Due to bugs on Windows, updated the JNA jars. - Changes in downloader build tasks to support AdoptOpenJDK and OpenJFX. - Updated org.eclipse.* / equinox jars. - Some optimization around size of distribution. - Update of AppBundler. - Some changes in formulation of classpath and modifications in PreprocessingService given [JEP 261](https://openjdk.java.net/jeps/261). **Incidental changes:** This was (ahem) a bit of a larger PR with the above modifications. So, I wanted to introduce automated tests when possible and convenient along with a few changes for platform sustainability in order to support development: - Addition of cross-building capability (!) made possible by AdoptOpenJDK. - Addition of mockito for testing. - Upgrade of junit. - Addition of ant-contrib. - Standardized nomenclature around JRE / JDK in `build/build.xml` - Deduplication of code in `jre/build.xml`. - Addition of JavaDoc in a few places. - Some refactoring of PImage / Shape to support increased testing and readability in image manipulation code.
73 lines
2.0 KiB
Java
73 lines
2.0 KiB
Java
/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
|
|
|
|
/*
|
|
Part of the Processing project - http://processing.org
|
|
|
|
Copyright (c) 2014-19 The Processing Foundation
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
version 2, as published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software Foundation,
|
|
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*/
|
|
|
|
|
|
import java.util.Optional;
|
|
|
|
/**
|
|
* Utility to generate the download URL from Oracle.
|
|
*/
|
|
public class OracleDownloadUrlGenerator extends DownloadUrlGenerator {
|
|
private static final String COOKIE =
|
|
"oraclelicense=accept-securebackup-cookie";
|
|
|
|
|
|
@Override
|
|
public String buildUrl(String platform, String component, int train, int version, int update,
|
|
int build, String flavor, String hash) {
|
|
|
|
if (!component.equalsIgnoreCase("jdk")) {
|
|
throw new RuntimeException("Can only generate JDK download URLs for Oracle.");
|
|
}
|
|
|
|
String filename = getLocalFilename(
|
|
platform,
|
|
component,
|
|
train,
|
|
version,
|
|
update,
|
|
build,
|
|
flavor,
|
|
hash
|
|
);
|
|
|
|
String url = "http://download.oracle.com/otn-pub/java/jdk/" +
|
|
(update == 0 ?
|
|
String.format("%d-b%02d/", version, build) :
|
|
String.format("%du%d-b%02d/", version, update, build));
|
|
|
|
// URL format changed starting with 8u121
|
|
if (update >= 121) {
|
|
url += hash + "/";
|
|
}
|
|
|
|
// Finally, add the filename to the end
|
|
url += filename;
|
|
|
|
return url;
|
|
}
|
|
|
|
public Optional<String> getCookie() {
|
|
return Optional.of(COOKIE);
|
|
}
|
|
|
|
}
|