GP-2132: Upgrade to Java 17 source and target compatibility

This commit is contained in:
Ryan Kurtz 2022-06-22 02:44:34 -04:00
parent 25aa4663d9
commit 0b3a92dfe6
5 changed files with 21 additions and 28 deletions

View File

@ -29,19 +29,19 @@ The following is a list of dependencies, in no particular order.
This guide includes instructions for obtaining many of these at the relevant step(s).
You may not need all of these, depending on which portions you are building or developing.
#### At minimum you will need all of the following
* Java JDK 11 (64-bit) - Free long term support (LTS) versions of JDK 11 are provided by:
* Java JDK 17 (64-bit) - Free long term support (LTS) versions of JDK 17 are provided by:
- Adoptium Temurin
- https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot
- https://adoptium.net/temurin/releases
- Amazon Corretto
- https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
* Gradle 6.8+ or 7.x
- https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html
* Gradle 7.3+
- https://gradle.org/releases/
* A C/C++ compiler - We use GCC on Linux, Xcode (Clang) on macOS, and Visual Studio (2017 or later) on Windows.
- https://gcc.gnu.org/
- https://developer.apple.com/xcode/
- https://visualstudio.microsoft.com/downloads/
#### Optional for Development
* Eclipse - It must support JDK 11. Eclipse 2018-12 or later should work. Other IDEs may work, but we have not tested them.
* Eclipse - Other IDEs may work, but we have not tested them.
- https://www.eclipse.org/downloads/
#### Necessary unless a download zip snapshot of the ghidra repository is used
* Git - We use the official installer on Windows. For windows you can also use the github CLI or git from with (Windows Subsystem for Linux - WSL). Most Linux distros have git in their repos. Xcode provides git on macOS. You can skip Git if you download a .zip file of the ghidra repository.
@ -72,13 +72,13 @@ If you need these offline, a reasonable course of action is to set up a developm
If you're on Windows, install Git unless you will download a .zip clone of the ghidra repository. If you go the manual route
many of the commands given below must be executed in Bash (Windows Subsystem for Linux (WSL), or Use git-bash or MSYS from MinGW).
Install OpenJDK 11 and make sure it's the default java.
Install JDK 17 and make sure it's the default java.
Install Eclipse.
You can launch Eclipse with any JRE/JDK, but you'll need to ensure Eclipse knows about your JDK 11 installation.
In Eclipse, select Window -> Preferences (Eclipse -> Preferences on macOS), then navigate to Java -> Installed JREs, and ensure a JDK 11 is configured.
You can launch Eclipse with any JRE/JDK, but you'll need to ensure Eclipse knows about your JDK 17 installation.
In Eclipse, select Window -> Preferences (Eclipse -> Preferences on macOS), then navigate to Java -> Installed JREs, and ensure a JDK 17 is configured.
Install Gradle, add it to your `PATH`, and ensure it is launched using JDK 11.
Install Gradle, add it to your `PATH`, and ensure it is launched using JDK 17.
## Setup Source Repository

View File

@ -2,7 +2,7 @@ application.name=Ghidra
application.version=10.2
application.release.name=DEV
application.layout.version=1
application.gradle.min=6.8
application.java.min=11
application.gradle.min=7.3
application.java.min=17
application.java.max=
application.java.compiler=11
application.java.compiler=17

View File

@ -18,7 +18,7 @@
<h1>Ghidra Installation Guide</h1>
<p>
The installation information provided is effective as of Ghidra 10.1.2 and is subject to change with
The installation information provided is effective as of Ghidra 10.2 and is subject to change with
future releases.
</p>
@ -82,16 +82,16 @@ Ghidra team if you have a specific need.</p></blockquote>
</ul>
<h3>Software</h3>
<ul>
<li>Java 11 64-bit Runtime and Development Kit (JDK) (see <a href="#JavaNotes">Java Notes</a>)</li>
<li>Java 17 64-bit Runtime and Development Kit (JDK) (see <a href="#JavaNotes">Java Notes</a>)</li>
<ul>
<li>Free long term support (LTS) versions of JDK 11 are provided by:</li>
<li>Free long term support (LTS) versions of JDK 17 are provided by:</li>
<ul>
<li>
<a href="https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot">
<a href="https://adoptium.net/temurin/releases">
Adoptium Temurin</a>
</li>
<li>
<a href="https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html">
<a href="https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/downloads-list.html">
Amazon Corretto</a>
</li>
</ul>
@ -579,12 +579,6 @@ be installed in a pre-existing Eclipse installation.</p>
Language versioning and migration does not handle complex changes in the use of the context
register.
</li>
<li>
Ghidra uses Java reflection in a manner that has been deprecated in newer versions of Java. It
is expected to see Java warnings the about illegal reflective access, especially when importing
new files. Future versions of Ghidra will address this in order to ensure compatibility with
the newest versions of Java.
</li>
<li>
Ghidra will not launch when its path contains a "!" character. This is to avoid issues that
Java's internal libraries have parsing these paths ("!" is used as a jar-separator by Java).

View File

@ -29,7 +29,7 @@ of how you might be impacted.
## Install
To install an official pre-built multi-platform Ghidra release:
* Install [JDK 11 64-bit][jdk11]
* Install [JDK 17 64-bit][jdk17]
* Download a Ghidra [release file][releases]
* Extract the Ghidra release file
* Launch Ghidra: `./ghidraRun` (or `ghidraRun.bat` for Windows)
@ -43,8 +43,8 @@ directory.
To create the latest development build for your platform from this source repository:
##### Install build tools:
* [JDK 11 64-bit][jdk11]
* [Gradle 6.8+ or 7.x][gradle]
* [JDK 17 64-bit][jdk17]
* [Gradle 7.3+][gradle]
* make, gcc, and g++ (Linux/macOS-only)
* [Microsoft Visual Studio][vs] (Windows-only)
@ -113,7 +113,7 @@ source project.
[devguide]: DevGuide.md
[career]: https://www.intelligencecareers.gov/nsa
[releases]: https://github.com/NationalSecurityAgency/ghidra/releases
[jdk11]: https://adoptium.net/releases.html?variant=openjdk11&jvmVariant=hotspot
[jdk17]: https://adoptium.net/temurin/releases
[gradle]: https://gradle.org/releases/
[vs]: https://visualstudio.microsoft.com/vs/community/
[eclipse]: https://www.eclipse.org/downloads/packages/

View File

@ -1,7 +1,6 @@
##VERSION: 2.0
.gitattributes||GHIDRA||||END|
.gitignore||GHIDRA||||END|
.gitlab-ci.yml||GHIDRA||||END|
CONTRIBUTING.md||GHIDRA||||END|
DISCLAIMER.md||GHIDRA||||END|
DebuggerDevGuide.md||GHIDRA||||END|