mirror of
https://github.com/jtang613/GhidrAssistMCP
synced 2026-06-21 13:54:56 +00:00
61 lines
1.9 KiB
Groovy
61 lines
1.9 KiB
Groovy
/*
|
|
*
|
|
*/
|
|
// Builds a Ghidra Extension for a given Ghidra installation.
|
|
//
|
|
// An absolute path to the Ghidra installation directory must be supplied either by setting the
|
|
// GHIDRA_INSTALL_DIR environment variable or Gradle project property:
|
|
//
|
|
// > export GHIDRA_INSTALL_DIR=<Absolute path to Ghidra>
|
|
// > gradle
|
|
//
|
|
// or
|
|
//
|
|
// > gradle -PGHIDRA_INSTALL_DIR=<Absolute path to Ghidra>
|
|
//
|
|
// Gradle should be invoked from the directory of the project to build. Please see the
|
|
// application.gradle.version property in <GHIDRA_INSTALL_DIR>/Ghidra/application.properties
|
|
// for the correction version of Gradle to use for the Ghidra installation you specify.
|
|
|
|
//----------------------START "DO NOT MODIFY" SECTION------------------------------
|
|
def ghidraInstallDir
|
|
|
|
if (System.env.GHIDRA_INSTALL_DIR) {
|
|
ghidraInstallDir = System.env.GHIDRA_INSTALL_DIR
|
|
}
|
|
else if (project.hasProperty("GHIDRA_INSTALL_DIR")) {
|
|
ghidraInstallDir = project.getProperty("GHIDRA_INSTALL_DIR")
|
|
}
|
|
else {
|
|
ghidraInstallDir = "<REPLACE>"
|
|
}
|
|
|
|
task distributeExtension {
|
|
group = "Ghidra"
|
|
|
|
apply from: new File(ghidraInstallDir).getCanonicalPath() + "/support/buildExtension.gradle"
|
|
dependsOn ':buildExtension'
|
|
}
|
|
//----------------------END "DO NOT MODIFY" SECTION-------------------------------
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
// MCP SDK core dependency
|
|
implementation 'io.modelcontextprotocol.sdk:mcp:0.10.0'
|
|
|
|
// Jetty embedded server for servlet container
|
|
implementation 'org.eclipse.jetty:jetty-server:11.0.20'
|
|
implementation 'org.eclipse.jetty:jetty-servlet:11.0.20'
|
|
|
|
// Jackson for JSON processing (required by MCP)
|
|
implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
|
|
implementation 'com.fasterxml.jackson.core:jackson-core:2.17.0'
|
|
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.17.0'
|
|
}
|
|
|
|
// Exclude additional files from the built extension
|
|
// Ex: buildExtension.exclude '.idea/**'
|