From cc75f89272f6926aa0a011a3aa9cea30fa1cc40d Mon Sep 17 00:00:00 2001
From: stephengeorgewest
Date: Mon, 31 May 2021 08:05:20 -0600
Subject: [PATCH 1/2] 3087 GhidraProjectUtils: Don't get entry folder from path
if entry is not CPE_SOURCE
---
.../ghidraprojectcreator/utils/GhidraProjectUtils.java | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
index 61d659bf92..3085a35f0c 100644
--- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
+++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
@@ -388,9 +388,11 @@ public class GhidraProjectUtils {
// If the project is linked to an old Ghidra, keep the list of source folders that are
// linked to the Ghidra installation (after updating their paths to point to the new
// Ghidra installation).
- IFolder entryFolder =
- ResourcesPlugin.getWorkspace().getRoot().getFolder(entry.getPath());
- if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE && entryFolder.isLinked() &&
+ IFolder entryFolder;
+ if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+ entryFolder = ResourcesPlugin.getWorkspace().getRoot().getFolder(entry.getPath());
+ }
+ if (entryFolder != null && entryFolder.isLinked() &&
oldGhidraInstallPath != null &&
oldGhidraInstallPath.isPrefixOf(entryFolder.getLocation())) {
String origPath = entryFolder.getLocation().toString();
From 46592bfe815b982b81714e59e2302e2cbb889bb2 Mon Sep 17 00:00:00 2001
From: Ryan Kurtz
Date: Fri, 23 Jul 2021 08:25:41 -0400
Subject: [PATCH 2/2] GP-1149: Upping GhidraDev to 2.1.4
---
.../EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml | 2 +-
.../GhidraDev/GhidraDevPlugin/GhidraDev_README.html | 4 +++-
.../GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF | 2 +-
.../ghidraprojectcreator/utils/GhidraProjectUtils.java | 2 +-
4 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml
index 0994fef76f..b2944967b0 100644
--- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml
+++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/GhidraDev_README.html b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/GhidraDev_README.html
index 58807f439a..1f7ab1b5f3 100644
--- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/GhidraDev_README.html
+++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/GhidraDev_README.html
@@ -19,7 +19,7 @@
GhidraDev README
GhidraDev provides support for developing and debugging Ghidra scripts and modules in Eclipse.
-The information provided in this document is effective as of GhidraDev 2.1.3 and is subject to
+
The information provided in this document is effective as of GhidraDev 2.1.4 and is subject to
change with future releases.
@@ -53,6 +53,8 @@ change with future releases.
Change History
+2.1.4: Fixed exception that occurred when performing a "Link Ghidra" on projects
+that use a Gradle classpath container.
2.1.3: Fixed a bug that prevented Ghidra projects from recognizing extensions
installed in the user's ~/.ghidra/.ghidra_<version>/Extensions directory.
2.1.2: Fixed exception that occurred when creating a new Ghidra scripting project
diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF
index efb8ab1a23..3500462360 100644
--- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF
+++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: GhidraDev
Bundle-SymbolicName: ghidra.ghidradev;singleton:=true
-Bundle-Version: 2.1.3.qualifier
+Bundle-Version: 2.1.4.qualifier
Bundle-Activator: ghidradev.Activator
Require-Bundle: org.eclipse.ant.core;bundle-version="3.5.200",
org.eclipse.buildship.core;bundle-version="3.0.0",
diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
index 3085a35f0c..a73166c137 100644
--- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
+++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/GhidraProjectUtils.java
@@ -388,7 +388,7 @@ public class GhidraProjectUtils {
// If the project is linked to an old Ghidra, keep the list of source folders that are
// linked to the Ghidra installation (after updating their paths to point to the new
// Ghidra installation).
- IFolder entryFolder;
+ IFolder entryFolder = null;
if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
entryFolder = ResourcesPlugin.getWorkspace().getRoot().getFolder(entry.getPath());
}