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()); }