From f7af296734086dd07e0c9b32bc103a69c8b62d3d Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Wed, 29 Sep 2021 09:42:15 -0400 Subject: [PATCH] GP-1338: Bumping GhidraDev to 2.1.5 --- .../GhidraDev/GhidraDevFeature/feature.xml | 2 +- .../GhidraDevPlugin/GhidraDev_README.html | 4 +++- .../GhidraDevPlugin/META-INF/MANIFEST.MF | 2 +- .../utils/PyDevUtils.java | 23 ++++++++----------- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevFeature/feature.xml index b2944967b0..cd4ef3eb1f 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 1f7ab1b5f3..a66dd96273 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.4 and is subject to +

The information provided in this document is effective as of GhidraDev 2.1.5 and is subject to change with future releases.

    @@ -53,6 +53,8 @@ change with future releases.

Change History

+

2.1.5: Eclipse Python breakpoints now work when Eclipse installs PyDev in .p2 +bundle pool directory.

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 diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/META-INF/MANIFEST.MF index 3500462360..286135d06b 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.4.qualifier +Bundle-Version: 2.1.5.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/PyDevUtils.java b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/PyDevUtils.java index e693f48086..8cdb2f7e74 100644 --- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/PyDevUtils.java +++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/src/main/java/ghidradev/ghidraprojectcreator/utils/PyDevUtils.java @@ -16,25 +16,17 @@ package ghidradev.ghidraprojectcreator.utils; import java.io.File; -import java.io.IOException; import java.net.URI; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.ArrayList; import java.util.List; -import java.util.Optional; import java.util.stream.Stream; import javax.naming.OperationNotSupportedException; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.*; import org.eclipse.jdt.core.IClasspathEntry; import org.eclipse.jdt.core.IJavaProject; import org.osgi.framework.Bundle; @@ -163,14 +155,19 @@ public class PyDevUtils { * @throws CoreException if there was a problem searching for the PyDev source directory. */ public static File getPyDevSrcDir() throws CoreException { - Bundle[] bundles = FrameworkUtil.getBundle(PyDevUtilsInternal.class).getBundleContext().getBundles(); + Bundle[] bundles = + FrameworkUtil.getBundle(PyDevUtilsInternal.class).getBundleContext().getBundles(); - Bundle pydevCoreBundle = Stream.of(bundles).filter(bundle -> bundle.getSymbolicName().contains("org.python.pydev.core")).findFirst().orElse(null); + Bundle pydevCoreBundle = Stream.of(bundles) + .filter(bundle -> bundle.getSymbolicName().contains("org.python.pydev.core")) + .findFirst() + .orElse(null); - if(pydevCoreBundle != null) { + if (pydevCoreBundle != null) { try { URL pydevDirUrl = FileLocator.toFileURL(pydevCoreBundle.getEntry("/")); - URI pydevDirUri = new URI(pydevDirUrl.getProtocol(), pydevDirUrl.getPath(), null).normalize(); + URI pydevDirUri = + new URI(pydevDirUrl.getProtocol(), pydevDirUrl.getPath(), null).normalize(); Path pysrcDir = Paths.get(pydevDirUri).resolve("pysrc"); if (Files.exists(pysrcDir)) { return pysrcDir.toFile();