/* ### * IP: GHIDRA * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // 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. //----------------------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 { duplicatesStrategy 'exclude' } repositories { // Declare dependency repositories here. This is not needed if dependencies are manually // dropped into the lib/ directory. // See https://docs.gradle.org/current/userguide/declaring_repositories.html for more info. // Ex: mavenCentral() } dependencies { // Any external dependencies added here will automatically be copied to the lib/ directory when // this extension is built. } // Exclude additional files from the built extension // Ex: buildExtension.exclude '.idea/**'