/* ### * 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. */ apply from: "gradle/support/settingsUtil.gradle" /******************************************************************************************* * Include all the standard Ghidra modules. See documentation below for more information * about includeProjects and includeProcessProjects. *******************************************************************************************/ includeProjects('Ghidra/Dev') includeProjects('Ghidra/Debug') includeProjects('Ghidra/Extensions') includeProjects('Ghidra/Framework') includeProjects('Ghidra/Features') includeProjects('Ghidra/Configurations') includeProjects('Ghidra/Processors') includeProjects('Ghidra/Test') includeProjects('GPL') /******************************************************************************************* * Include miscellaneous support modules *******************************************************************************************/ includeProject('JsonDoclet', 'GhidraBuild/BuildFiles', true) includeProject('LaunchSupport', 'GhidraBuild', true) includeProject('Skeleton', 'GhidraBuild', true) includeProject('BuildFiles', 'GhidraBuild', true) includeProject('GhidraTest', '.', true) includeProject('decompile', 'Ghidra/Features/Decompiler/src', true) includeProject('RuntimeScripts', 'Ghidra', true) includeProject('IDAPro', 'GhidraBuild', true) includeProject('GhidraDocs', '.', true) includeProjects('GhidraBuild/EclipsePlugins/GhidraDev') // requires Eclipse PDE includeProjects('GhidraBuild/EclipsePlugins/GhidraSleighEditor') // requires Eclipse DSL /******************************************************************************************* * Apply additional Ghidra respositories *******************************************************************************************/ File extensionsList = file("ghidra.repos.config") if (extensionsList.isFile()) { extensionsList.eachLine { line -> line = line.trim() if (line == "" || line.startsWith("#")) { return // Skip just this one } File extraSettings = file("../$line/extraSettings.gradle") if (extraSettings.exists()) { assert extraSettings.parentFile.parentFile == rootProject.projectDir.parentFile : "Extension must be sibling of ghidra repository" apply from: extraSettings.absolutePath } } }