Merge remote-tracking branch 'origin/GP-6012_ryanmkurtz_jdk25'

This commit is contained in:
Ryan Kurtz
2026-06-29 04:37:24 -04:00
12 changed files with 28 additions and 17 deletions

View File

@@ -10,7 +10,9 @@ jobs:
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v6
- name: Checkout repository
uses: actions/checkout@v6
- name: Read Ghidra JDK Version
run: echo "JDK_VER=$(awk -F'=' '$1=="application.java.min" {print $2}' Ghidra/application.properties)" >> $GITHUB_ENV

View File

@@ -15,11 +15,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6
- name: Read Ghidra JDK Version
run: echo "JDK_VER=$(awk -F'=' '$1=="application.java.min" {print $2}' Ghidra/application.properties)" >> $GITHUB_ENV
- name: Setup JDK
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
distribution: 'temurin'
java-version: '${{ env.JDK_VER }}'
- name: Fetch Dependencies
run: ./gradlew -I gradle/support/fetchDependencies.gradle -DhideDownloadProgress -DnoEclipse

View File

@@ -9,7 +9,7 @@
</listAttribute>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="GHIDRA_INSTALL_DIR" value="${project_loc:/___root}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-21}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-25}"/>
</mapAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>

View File

@@ -9,7 +9,7 @@
</listAttribute>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="GHIDRA_INSTALL_DIR" value="${project_loc:/___root}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-21}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-25}"/>
</mapAttribute>
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>

View File

@@ -9,7 +9,7 @@
</listAttribute>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="GHIDRA_INSTALL_DIR" value="${project_loc:/___root}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-21}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-25}"/>
<mapEntry key="PYGHIDRA_DEBUG" value="1"/>
</mapAttribute>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:Features PyGhidra/src/main/py/src/pyghidra}"/>

View File

@@ -9,7 +9,7 @@
</listAttribute>
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
<mapEntry key="GHIDRA_INSTALL_DIR" value="${project_loc:/___root}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-21}"/>
<mapEntry key="JAVA_HOME_OVERRIDE" value="${ee_home:JavaSE-25}"/>
<mapEntry key="PYGHIDRA_DEBUG" value="1"/>
</mapAttribute>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:Features PyGhidra/src/main/py/src/pyghidra}"/>

View File

@@ -262,6 +262,8 @@ class PyGhidraLauncher:
if "org.eclipse.jdt.launching.VM_ARGUMENTS" in line:
_, _, value = line.partition("value=")
value = value.removesuffix("/>")
if value.startswith('"') and value.endswith('"'):
value = value[1:-1]
return html.unescape(value).split()
raise Exception("org.eclipse.jdt.launching.VM_ARGUMENTS not found")

View File

@@ -105,6 +105,9 @@ VMARGS=-Djavax.xml.accessExternalStylesheet=
# Enable native access (required by FlatLaf)
VMARGS=--enable-native-access=ALL-UNNAMED
# Hide unsafe memory access warning (triggered by Apache Felix)
VMARGS=--sun-misc-unsafe-memory-access=allow
# Settings directory used by the application to store application settings and data that persist
# between application sessions, system reboots, and periodic system cleanup. Overridden values
# are required to be absolute paths. The current user name may be incorporated into the settings

View File

@@ -2,9 +2,9 @@ application.name=Ghidra
application.version=12.2
application.release.name=DEV
application.layout.version=3
application.gradle.min=8.5
application.gradle.min=9.1
application.gradle.max=
application.java.min=21
application.java.min=25
application.java.max=
application.java.compiler=21
application.java.compiler=25
application.python.supported=3.14, 3.13, 3.12, 3.11, 3.10, 3.9

View File

@@ -51,12 +51,12 @@ a specific need.
* Dual monitors strongly suggested
### Software
* Java 21 64-bit Runtime and Development Kit (JDK) (see [Java Notes](#java-notes))
* Free long term support (LTS) versions of JDK 21 are provided by:
* Java 25 64-bit Runtime and Development Kit (JDK) (see [Java Notes](#java-notes))
* Free long term support (LTS) versions of JDK 25 are provided by:
* [Adoptium Temurin](https://adoptium.net/temurin/releases)
* [Amazon Corretto](https://docs.aws.amazon.com/corretto/latest/corretto-21-ug/downloads-list.html)
* [Amazon Corretto](https://docs.aws.amazon.com/corretto/latest/corretto-25-ug/downloads-list.html)
* Python3 (3.9 to 3.14)
* Python 3.9 to 3.14 for [Debugger support](#debugger-notes)
* Python 3.7 to 3.14 for [Debugger support](#debugger-notes)
* Python 3.9 to 3.14 for [PyGhidra support](#pyghidra-mode)
* This is available from [Python.org](https://python.org) or most operating system's app stores or
software repositories. For Linux it is recommended that the system's package repository be used
@@ -210,7 +210,7 @@ For supported systems where native binaries have not been supplied, or those tha
to run properly, it may be necessary to build the native Ghidra binaries. In order to build native
binaries for your platform, you will need the following installed on your system:
* A [supported](#minimum-requirements) version of a Java Development Kit
* [Gradle 8.5+](https://gradle.org/releases) (or supplied Gradle wrapper with Internet connection)
* [Gradle 9.1.0+](https://gradle.org/releases) (or supplied Gradle wrapper with Internet connection)
* Software C/C++ build tools and library packages
* __macOS:__ _Xcode_ or the abbreviated _Command Line Tools for Xcode_. Assuming you are connected
to the Internet, _Xcode_ (which includes the command tools) may be installed directly from the

View File

@@ -47,8 +47,8 @@ Ghidra installation directory.
To create the latest development build for your platform from this source repository:
##### Install build tools:
* [JDK 21 64-bit][jdk]
* [Gradle 8.5+][gradle] (or provided Gradle wrapper if Internet connection is available)
* [JDK 25 64-bit][jdk]
* [Gradle 9.1.0+][gradle] (or provided Gradle wrapper if Internet connection is available)
* [Python3][python3] (version 3.9 to 3.14) with bundled pip
* GCC or Clang, and make (Linux/macOS-only)
* [Microsoft Visual Studio][vs] 2017+ or [Microsoft C++ Build Tools][vcbuildtools] with the

View File

@@ -226,6 +226,7 @@
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_markdown_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>