// 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= // > gradle // // or // // > gradle -PGHIDRA_INSTALL_DIR= // // Gradle should be invoked from the directory of the project to build. Please see the // application.gradle.version property in /Ghidra/application.properties // for the correction version of Gradle to use for the Ghidra installation you specify. plugins { id 'java-library' } configurations { extraLibs } repositories { mavenCentral() } dependencies { extraLibs 'com.google.guava:guava:30.1-jre' extraLibs 'commons-codec:commons-codec:1.15' extraLibs 'com.google.flatbuffers:flatbuffers-java:24.3.25' configurations.implementation.extendsFrom(configurations.extraLibs) } //----------------------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") } if (ghidraInstallDir) { apply from: new File(ghidraInstallDir).getCanonicalPath() + "/support/buildExtension.gradle" } else { throw new GradleException("GHIDRA_INSTALL_DIR is not defined!") } //----------------------END "DO NOT MODIFY" SECTION------------------------------- jar { from { configurations.extraLibs.collect { exclude "META-INF/*" it.isDirectory() ? it : zipTree(it) } } }