mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-10 14:11:59 +00:00
GP-3523: The GhidraDev Eclipse plugin now deletes the intermediate build
directory following a Ghidra Module Extension export action. This fixes a Ghidra runtime/debugging issue. (Closes #5327)
This commit is contained in:
parent
457517669a
commit
86d4aafab0
@ -2,7 +2,7 @@
|
||||
<feature
|
||||
id="ghidra.ghidradev"
|
||||
label="GhidraDev"
|
||||
version="3.0.0.qualifier"
|
||||
version="3.0.1.qualifier"
|
||||
provider-name="Ghidra">
|
||||
|
||||
<description>
|
||||
|
@ -17,6 +17,7 @@
|
||||
<stringAttribute key="featurePluginResolution" value="workspace"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../runtime-GhidraDev"/>
|
||||
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.pde.ui.launcher.PDESourceLookupDirector"/>
|
||||
<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <sourceLookupDirector> <sourceContainers duplicates="false"> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;javaProject name=&quot;Framework Utility&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.javaProject"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;classpathContainer path=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot;/&gt;&#10;" typeId="org.eclipse.jdt.launching.sourceContainer.classpathContainer"/> <container memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;default/&gt;&#10;" typeId="org.eclipse.debug.core.containerType.default"/> </sourceContainers> </sourceLookupDirector> "/>
|
||||
<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
|
||||
@ -24,6 +25,7 @@
|
||||
<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
|
||||
</listAttribute>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.0%Foundation-1.0"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
|
||||
@ -154,20 +156,21 @@
|
||||
<setEntry value="org.python.pydev.feature:default"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="biz.aQute.bnd.util"/>
|
||||
<setEntry value="bcpg@default:default"/>
|
||||
<setEntry value="bcprov@default:default"/>
|
||||
<setEntry value="biz.aQute.bnd.util@default:default"/>
|
||||
<setEntry value="biz.aQute.bndlib@default:default"/>
|
||||
<setEntry value="ch.qos.logback.classic@default:default"/>
|
||||
<setEntry value="ch.qos.logback.core@default:default"/>
|
||||
<setEntry value="ch.qos.logback.slf4j@default:false"/>
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.google.guava*27.1.0.v20190517-1946@default:default"/>
|
||||
<setEntry value="com.google.guava*30.1.0.v20210127-2300@default:default"/>
|
||||
<setEntry value="com.google.guava.failureaccess@default:default"/>
|
||||
<setEntry value="com.google.guava@default:default"/>
|
||||
<setEntry value="com.ibm.icu@default:default"/>
|
||||
<setEntry value="com.python.pydev.analysis@default:default"/>
|
||||
<setEntry value="com.python.pydev.debug@default:default"/>
|
||||
<setEntry value="com.python.pydev.refactoring@default:default"/>
|
||||
<setEntry value="com.sun.jna*5.8.0.v20210503-0343@default:default"/>
|
||||
<setEntry value="com.sun.jna.platform*5.8.0.v20210406-1004@default:default"/>
|
||||
<setEntry value="com.sun.jna.platform@default:default"/>
|
||||
<setEntry value="com.sun.jna@default:default"/>
|
||||
<setEntry value="jakarta.servlet-api@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.inject@default:default"/>
|
||||
@ -176,6 +179,7 @@
|
||||
<setEntry value="org.apache.batik.css@default:default"/>
|
||||
<setEntry value="org.apache.batik.i18n@default:default"/>
|
||||
<setEntry value="org.apache.batik.util@default:default"/>
|
||||
<setEntry value="org.apache.commons.cli@default:default"/>
|
||||
<setEntry value="org.apache.commons.codec@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.jxpath@default:default"/>
|
||||
@ -184,22 +188,22 @@
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.shell@default:default"/>
|
||||
<setEntry value="org.apache.felix.scr@1:true"/>
|
||||
<setEntry value="org.apache.log4j@default:default"/>
|
||||
<setEntry value="org.apache.lucene.analyzers-common@default:default"/>
|
||||
<setEntry value="org.apache.lucene.analyzers-smartcn@default:default"/>
|
||||
<setEntry value="org.apache.lucene.core@default:default"/>
|
||||
<setEntry value="org.apache.lucene.analysis-common*9.4.2.v20221211-0752@default:default"/>
|
||||
<setEntry value="org.apache.lucene.analysis-common*9.5.0.v20230521-0510@default:default"/>
|
||||
<setEntry value="org.apache.lucene.analysis-smartcn@default:default"/>
|
||||
<setEntry value="org.apache.lucene.core*9.4.2.v20221211-0752@default:default"/>
|
||||
<setEntry value="org.apache.lucene.core*9.5.0.v20230521-0510@default:default"/>
|
||||
<setEntry value="org.apache.xerces@default:default"/>
|
||||
<setEntry value="org.apache.xml.resolver@default:default"/>
|
||||
<setEntry value="org.apache.xml.serializer@default:default"/>
|
||||
<setEntry value="org.apache.xmlgraphics@default:default"/>
|
||||
<setEntry value="org.bouncycastle.bcpg@default:default"/>
|
||||
<setEntry value="org.bouncycastle.bcprov@default:default"/>
|
||||
<setEntry value="org.eclipse.ant.core@default:default"/>
|
||||
<setEntry value="org.eclipse.buildship.compat@default:default"/>
|
||||
<setEntry value="org.eclipse.buildship.core@default:default"/>
|
||||
<setEntry value="org.eclipse.buildship.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core.native*5.7.0.201502131403@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core.win32*5.4.0.201502131403@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core.win32.x86_64*5.3.0.201502131403@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core.win32*5.4.0.201502131403@default:false"/>
|
||||
<setEntry value="org.eclipse.cdt.core.win32.x86_64*5.3.0.201502131403@default:false"/>
|
||||
<setEntry value="org.eclipse.cdt.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.compare.core@default:default"/>
|
||||
@ -217,6 +221,7 @@
|
||||
<setEntry value="org.eclipse.core.filesystem@default:default"/>
|
||||
<setEntry value="org.eclipse.core.jobs@default:default"/>
|
||||
<setEntry value="org.eclipse.core.net.win32.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.core.net.win32@default:false"/>
|
||||
<setEntry value="org.eclipse.core.net@default:default"/>
|
||||
<setEntry value="org.eclipse.core.resources.win32.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.core.resources@default:default"/>
|
||||
@ -240,6 +245,7 @@
|
||||
<setEntry value="org.eclipse.e4.ui.dialogs@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.ide@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.progress@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.services@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.swt.win32@default:false"/>
|
||||
<setEntry value="org.eclipse.e4.ui.widgets@default:default"/>
|
||||
@ -265,18 +271,18 @@
|
||||
<setEntry value="org.eclipse.equinox.p2.artifact.repository@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.core@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.director@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.directorywatcher"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.directorywatcher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.engine@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.extensionlocation@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.garbagecollector"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.garbagecollector@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.jarprocessor@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.metadata@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.operations@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.publisher"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.publisher.eclipse"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.publisher.eclipse@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.publisher@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.repository@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.touchpoint.eclipse"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.touchpoint.eclipse@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.preferences@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.registry@default:default"/>
|
||||
@ -288,9 +294,8 @@
|
||||
<setEntry value="org.eclipse.help.base@default:default"/>
|
||||
<setEntry value="org.eclipse.help.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.help@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.annotation*2.2.600.v20200408-1511@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.compiler.apt@default:false"/>
|
||||
<setEntry value="org.eclipse.jdt.compiler.tool@default:false"/>
|
||||
<setEntry value="org.eclipse.jdt.annotation*2.2.700.v20220826-1026@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.manipulation@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.debug.ui@default:default"/>
|
||||
@ -308,8 +313,8 @@
|
||||
<setEntry value="org.eclipse.jetty.servlet@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util.ajax@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp"/>
|
||||
<setEntry value="org.eclipse.jetty.xml"/>
|
||||
<setEntry value="org.eclipse.jetty.webapp@default:default"/>
|
||||
<setEntry value="org.eclipse.jetty.xml@default:default"/>
|
||||
<setEntry value="org.eclipse.jface.databinding@default:default"/>
|
||||
<setEntry value="org.eclipse.jface.notifications@default:default"/>
|
||||
<setEntry value="org.eclipse.jface.text@default:default"/>
|
||||
@ -319,9 +324,7 @@
|
||||
<setEntry value="org.eclipse.m2e.archetype.common@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.core.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.core@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.logback.appender@default:false"/>
|
||||
<setEntry value="org.eclipse.m2e.maven.indexer@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.maven.runtime.slf4j.simple@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.logback@default:false"/>
|
||||
<setEntry value="org.eclipse.m2e.maven.runtime@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.model.edit@default:default"/>
|
||||
<setEntry value="org.eclipse.m2e.workspace.cli@default:default"/>
|
||||
@ -330,7 +333,7 @@
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.platform@default:default"/>
|
||||
<setEntry value="org.eclipse.rap.tools.launch.rwt"/>
|
||||
<setEntry value="org.eclipse.rap.tools.launch.rwt@default:default"/>
|
||||
<setEntry value="org.eclipse.search@default:default"/>
|
||||
<setEntry value="org.eclipse.swt.win32.win32.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.swt@default:default"/>
|
||||
@ -372,6 +375,23 @@
|
||||
<setEntry value="org.gradle.toolingapi@default:default"/>
|
||||
<setEntry value="org.hamcrest.core@default:default"/>
|
||||
<setEntry value="org.junit@default:default"/>
|
||||
<setEntry value="org.osgi.service.cm@default:default"/>
|
||||
<setEntry value="org.osgi.service.component.annotations@default:default"/>
|
||||
<setEntry value="org.osgi.service.component@default:default"/>
|
||||
<setEntry value="org.osgi.service.device@default:default"/>
|
||||
<setEntry value="org.osgi.service.event@default:default"/>
|
||||
<setEntry value="org.osgi.service.metatype@default:default"/>
|
||||
<setEntry value="org.osgi.service.prefs@default:default"/>
|
||||
<setEntry value="org.osgi.service.provisioning@default:default"/>
|
||||
<setEntry value="org.osgi.service.repository@default:default"/>
|
||||
<setEntry value="org.osgi.service.upnp@default:default"/>
|
||||
<setEntry value="org.osgi.service.useradmin@default:default"/>
|
||||
<setEntry value="org.osgi.service.wireadmin@default:default"/>
|
||||
<setEntry value="org.osgi.util.function@default:default"/>
|
||||
<setEntry value="org.osgi.util.measurement@default:default"/>
|
||||
<setEntry value="org.osgi.util.position@default:default"/>
|
||||
<setEntry value="org.osgi.util.promise@default:default"/>
|
||||
<setEntry value="org.osgi.util.xml@default:default"/>
|
||||
<setEntry value="org.python.pydev.ast@default:default"/>
|
||||
<setEntry value="org.python.pydev.core@default:default"/>
|
||||
<setEntry value="org.python.pydev.customizations@default:default"/>
|
||||
@ -393,6 +413,8 @@
|
||||
<setEntry value="org.w3c.dom.events@default:default"/>
|
||||
<setEntry value="org.w3c.dom.smil@default:default"/>
|
||||
<setEntry value="org.w3c.dom.svg@default:default"/>
|
||||
<setEntry value="slf4j.api@default:default"/>
|
||||
<setEntry value="slf4j.nop@default:default"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="ghidra.ghidradev@default:default"/>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<h1>GhidraDev README</h1>
|
||||
<p>GhidraDev provides support for developing and debugging Ghidra scripts and modules in Eclipse.
|
||||
</p>
|
||||
<p>The information provided in this document is effective as of GhidraDev 3.0.0 and is subject to
|
||||
<p>The information provided in this document is effective as of GhidraDev 3.0.1 and is subject to
|
||||
change with future releases.</p>
|
||||
|
||||
<ul>
|
||||
@ -53,6 +53,9 @@ change with future releases.</p>
|
||||
</ul>
|
||||
|
||||
<h2><a name="ChangeHistory"></a>Change History</h2>
|
||||
<p><u><b>3.0.1</b>:</u> Exporting a Ghidra Module Extension produces an intermediate <i>build</i>
|
||||
directory within the project. This <i>build</i> directory now gets automatically cleaned up to avoid
|
||||
Ghidra runtime/debugging issues.</p>
|
||||
<p><u><b>3.0.0</b>:</u>
|
||||
<ul>
|
||||
<li>
|
||||
|
@ -3,7 +3,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: GhidraDev
|
||||
Bundle-SymbolicName: ghidra.ghidradev;singleton:=true
|
||||
Bundle-Version: 3.0.0.qualifier
|
||||
Bundle-Version: 3.0.1.qualifier
|
||||
Bundle-Activator: ghidradev.Activator
|
||||
Require-Bundle: org.eclipse.ant.core;bundle-version="3.6.200",
|
||||
org.eclipse.buildship.core;bundle-version="3.1.5",
|
||||
|
@ -44,6 +44,7 @@ import ghidra.launch.JavaConfig;
|
||||
import ghidradev.ghidraprojectcreator.utils.GhidraProjectUtils;
|
||||
import ghidradev.ghidraprojectcreator.wizards.pages.ChooseGhidraModuleProjectWizardPage;
|
||||
import ghidradev.ghidraprojectcreator.wizards.pages.ConfigureGradleWizardPage;
|
||||
import utilities.util.FileUtilities;
|
||||
|
||||
/**
|
||||
* Wizard for exporting a Ghidra module project to a releasable extension zip bundle.
|
||||
@ -151,6 +152,11 @@ public class ExportGhidraModuleWizard extends Wizard implements INewWizard {
|
||||
|
||||
monitor.worked(1);
|
||||
|
||||
// Delete the build directory...we don't want Ghidra finding/using it in the module
|
||||
File buildDir = new File(workingDir, "build");
|
||||
FileUtilities.deleteDir(buildDir);
|
||||
|
||||
// Refresh the project to make the new items visible
|
||||
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
|
||||
monitor.worked(1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user