mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-21 19:42:14 +00:00
GP-849: Gradle 7 support
This commit is contained in:
parent
cb63f67a81
commit
3a0ae8ee39
@ -34,8 +34,8 @@ You may not need all of these, depending on which portions you are building or d
|
||||
- https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
|
||||
- Amazon Corretto
|
||||
- https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/downloads-list.html
|
||||
* Gradle 5.x or 6.x - We use version 5.0, and have tested with up to 6.8.3.
|
||||
- https://gradle.org/next-steps/?version=5.0&format=bin
|
||||
* Gradle 6.0 or later - We use version 6.9, and tested with up to 7.0.1.
|
||||
- https://gradle.org/releases/
|
||||
* A C/C++ compiler - We use GCC on Linux, Xcode (Clang) on macOS, and Visual Studio (2017 or later) on Windows.
|
||||
- https://gcc.gnu.org/
|
||||
- https://developer.apple.com/xcode/
|
||||
|
@ -16,7 +16,7 @@ if (findProject(':Generic') != null) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
}
|
||||
apply plugin: 'eclipse'
|
||||
|
||||
@ -39,16 +39,14 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
|
||||
eclipse.classpath.plusConfigurations += [configurations.dmgCompile]
|
||||
|
||||
repositories {
|
||||
flatDir name: "flat", dirs:["data/lib"]
|
||||
}
|
||||
|
||||
dependencies {
|
||||
dmgCompile ':csframework@jar'
|
||||
dmgCompile ':hfsx@jar'
|
||||
dmgCompile ':hfsx_dmglib@jar'
|
||||
dmgImplementation ':csframework@jar'
|
||||
dmgImplementation ':hfsx@jar'
|
||||
dmgImplementation ':hfsx_dmglib@jar'
|
||||
}
|
||||
|
||||
/***************************************************************************************
|
||||
@ -58,6 +56,6 @@ dependencies {
|
||||
***************************************************************************************/
|
||||
|
||||
jar {
|
||||
destinationDir = file("build/data/lib")
|
||||
destinationDirectory = file("build/data/lib")
|
||||
from sourceSets.dmg.output
|
||||
}
|
||||
|
@ -60,8 +60,8 @@ task zipBuildableSource(type:Zip) {
|
||||
|
||||
group 'private'
|
||||
description "Collects the source files needed to build this module."
|
||||
baseName project.name + "-src-for-build"
|
||||
extension 'zip'
|
||||
archiveBaseName = project.name + "-src-for-build"
|
||||
archiveExtension = 'zip'
|
||||
|
||||
//
|
||||
// Version 2.33.1
|
||||
|
@ -22,7 +22,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug AnnotationValidator'
|
||||
|
||||
dependencies {
|
||||
compile project(':ProposedUtils')
|
||||
api project(':ProposedUtils')
|
||||
}
|
||||
|
||||
// no-dep jar for experiments in loading annotation processor into Eclipse
|
||||
|
@ -23,14 +23,16 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger-agent-dbgeng'
|
||||
|
||||
dependencies {
|
||||
compile project(":Framework-AsyncComm")
|
||||
compile project(":Framework-Debugging")
|
||||
compile project(":Debugger-gadp")
|
||||
compile "net.java.dev.jna:jna:5.4.0"
|
||||
compile "net.java.dev.jna:jna-platform:5.4.0"
|
||||
api project(":Framework-AsyncComm")
|
||||
api project(":Framework-Debugging")
|
||||
api project(":Debugger-gadp")
|
||||
api "net.java.dev.jna:jna:5.4.0"
|
||||
api "net.java.dev.jna:jna-platform:5.4.0"
|
||||
|
||||
//testCompile project(":Base")
|
||||
testCompile project(path: ":Debugger-gadp", configuration: 'testArtifacts')
|
||||
//testImplementation project(":Base")
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ":Debugger-gadp", configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
def boolean filterJar(File jarfile) {
|
||||
@ -52,7 +54,7 @@ jar {
|
||||
|
||||
task configureNodepJar {
|
||||
doLast {
|
||||
configurations.runtime.files.forEach {
|
||||
configurations.runtimeOnly.files.forEach {
|
||||
if (filterJar(it)) {
|
||||
nodepJar.from(zipTree(it))
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger-agent-dbgmodel-traceloader'
|
||||
|
||||
dependencies {
|
||||
compile project(":Debugger")
|
||||
compile project(":Debugger-agent-dbgeng")
|
||||
compile project(':Debugger-agent-dbgmodel')
|
||||
api project(":Debugger")
|
||||
api project(":Debugger-agent-dbgeng")
|
||||
api project(':Debugger-agent-dbgmodel')
|
||||
}
|
||||
|
@ -23,9 +23,12 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger-agent-dbgmodel'
|
||||
|
||||
dependencies {
|
||||
compile project(":Debugger-agent-dbgeng")
|
||||
api project(":Debugger-agent-dbgeng")
|
||||
|
||||
testCompile project(path: ":Debugger-agent-dbgeng", configuration: 'testArtifacts')
|
||||
testImplementation project(path: ":Debugger-agent-dbgeng", configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ":Debugger-gadp", configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
def boolean filterJar(File jarfile) {
|
||||
@ -47,7 +50,7 @@ jar {
|
||||
|
||||
task configureNodepJar {
|
||||
doLast {
|
||||
configurations.runtime.files.forEach {
|
||||
configurations.runtimeOnly.files.forEach {
|
||||
if (filterJar(it)) {
|
||||
nodepJar.from(zipTree(it))
|
||||
}
|
||||
|
@ -23,12 +23,14 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger-agent-gdb'
|
||||
|
||||
dependencies {
|
||||
compile project(':Framework-AsyncComm')
|
||||
compile project(':Framework-Debugging')
|
||||
compile project(':Debugger-gadp')
|
||||
compile 'org.python:jython-standalone:2.7.1'
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':Framework-Debugging')
|
||||
api project(':Debugger-gadp')
|
||||
api 'org.python:jython-standalone:2.7.1'
|
||||
|
||||
testCompile project(path: ':Debugger-gadp', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Debugger-gadp', configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
def boolean filterJar(File jarfile) {
|
||||
@ -50,7 +52,7 @@ jar {
|
||||
|
||||
task configureNodepJar {
|
||||
doLast {
|
||||
configurations.runtime.files.forEach {
|
||||
configurations.runtimeOnly.files.forEach {
|
||||
if (filterJar(it)) {
|
||||
nodepJar.from(zipTree(it))
|
||||
}
|
||||
|
@ -47,12 +47,13 @@ dependencies {
|
||||
protocArtifact 'com.google.protobuf:protoc:3.11.1:osx-x86_64@exe'
|
||||
}
|
||||
|
||||
compile 'com.google.protobuf:protobuf-java:3.11.1'
|
||||
compile project(':Framework-AsyncComm')
|
||||
compile project(':Framework-Debugging')
|
||||
compile project(':ProposedUtils')
|
||||
api 'com.google.protobuf:protobuf-java:3.11.1'
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':Framework-Debugging')
|
||||
api project(':ProposedUtils')
|
||||
|
||||
testCompile project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
/*protobuf {
|
||||
|
@ -22,9 +22,10 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger-jpda'
|
||||
|
||||
dependencies {
|
||||
compile project(':Framework-AsyncComm')
|
||||
compile project(':Framework-Debugging')
|
||||
compile project(':ProposedUtils')
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':Framework-Debugging')
|
||||
api project(':ProposedUtils')
|
||||
|
||||
testCompile project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
}
|
||||
|
@ -23,15 +23,16 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Debugger'
|
||||
|
||||
dependencies {
|
||||
compile project(':Framework-AsyncComm')
|
||||
compile project(':Framework-Debugging')
|
||||
compile project(':Framework-TraceModeling')
|
||||
compile project(':Base')
|
||||
compile project(':ByteViewer')
|
||||
compile project(':ProposedUtils')
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':Framework-Debugging')
|
||||
api project(':Framework-TraceModeling')
|
||||
api project(':Base')
|
||||
api project(':ByteViewer')
|
||||
api project(':ProposedUtils')
|
||||
|
||||
helpPath project(path: ':Base', configuration: 'helpPath')
|
||||
|
||||
testCompile project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':Framework-TraceModeling', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-Debugging', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts')
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Framework-AsyncComm'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile project(':Graph')
|
||||
compile project(':ProposedUtils')
|
||||
api project(':Generic')
|
||||
api project(':Graph')
|
||||
api project(':ProposedUtils')
|
||||
}
|
||||
|
||||
task genTestPy(type: JavaExec) {
|
||||
|
@ -23,12 +23,12 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Framework-Debugging'
|
||||
|
||||
dependencies {
|
||||
compile project(':Framework-AsyncComm')
|
||||
compile project(':Generic')
|
||||
compile project(':SoftwareModeling')
|
||||
compile project(':ProposedUtils')
|
||||
api project(':Framework-AsyncComm')
|
||||
api project(':Generic')
|
||||
api project(':SoftwareModeling')
|
||||
api project(':ProposedUtils')
|
||||
|
||||
testCompile project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
task testSpecimenWin64 {
|
||||
|
@ -22,11 +22,11 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Debug Framework-TraceModeling'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile project(':SoftwareModeling')
|
||||
compile project(':ProposedUtils')
|
||||
api project(':Generic')
|
||||
api project(':SoftwareModeling')
|
||||
api project(':ProposedUtils')
|
||||
annotationProcessor project(':AnnotationValidator')
|
||||
|
||||
testCompile project(':Base')
|
||||
testRuntime project(':ARM') // For its emulator state modifier
|
||||
testImplementation project(':Base')
|
||||
testRuntimeOnly project(':ARM') // For its emulator state modifier
|
||||
}
|
||||
|
@ -24,16 +24,16 @@ eclipse.project.name = 'Debug ProposedUtils'
|
||||
// val autoServiceVersion = "1.0-rc5"
|
||||
|
||||
dependencies {
|
||||
compile project(':DB')
|
||||
compile project(':Project')
|
||||
compile project(':SoftwareModeling')
|
||||
compile project(':Utility')
|
||||
api project(':DB')
|
||||
api project(':Project')
|
||||
api project(':SoftwareModeling')
|
||||
api project(':Utility')
|
||||
|
||||
compile project(':Base') // Boo!: (Where to put DefaultEnumeratedColumnProgramTableModel?)
|
||||
api project(':Base') // Boo!: (Where to put DefaultEnumeratedColumnProgramTableModel?)
|
||||
|
||||
// TODO: Evaluate these dependencies
|
||||
// compile("com.google.auto.service:auto-service-annotations:$autoServiceVersion")
|
||||
// api("com.google.auto.service:auto-service-annotations:$autoServiceVersion")
|
||||
// annotationProcessor("com.google.auto.service:auto-service:$autoServiceVersion")
|
||||
|
||||
testCompile project(':Base')
|
||||
testImplementation project(':Base')
|
||||
}
|
||||
|
@ -23,5 +23,5 @@ eclipse.project.name = 'Xtra SampleTablePlugin'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -20,5 +20,5 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Xtra SleighDevTools'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ eclipse.project.name = 'Xtra Bundle Examples'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
||||
@ -50,8 +50,8 @@ srcDirs.each {dirName ->
|
||||
// create and return a jar task for the given source directory
|
||||
def makeJarTask(dirName) {
|
||||
return tasks.create("build${dirName}", Jar) {
|
||||
baseName dirName
|
||||
archiveName "${dirName}.jar"
|
||||
archiveBaseName = dirName
|
||||
archiveFileName = "${dirName}.jar"
|
||||
ext.dirName=dirName
|
||||
|
||||
|
||||
@ -91,8 +91,8 @@ eclipse {
|
||||
// "$rootProject.projectDir/gradle/support/extensionCommon.gradle"
|
||||
task zipExtensions(type: Zip, dependsOn:jarTasks) {
|
||||
def p = this.project
|
||||
archiveName "${rootProject.ext.ZIP_NAME_PREFIX}_${p.name}.zip"
|
||||
destinationDir rootProject.ext.DISTRIBUTION_DIR
|
||||
archiveFileName = "${rootProject.ext.ZIP_NAME_PREFIX}_${p.name}.zip"
|
||||
destinationDirectory = rootProject.ext.DISTRIBUTION_DIR
|
||||
|
||||
duplicatesStrategy 'exclude'
|
||||
|
||||
|
@ -22,5 +22,5 @@ eclipse.project.name = 'Xtra sample'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -33,28 +33,28 @@ configurations {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':Utility')
|
||||
compile project(':Generic')
|
||||
compile project(':Docking')
|
||||
compile project(':Graph')
|
||||
compile project(':SoftwareModeling')
|
||||
compile project(':DB')
|
||||
compile project(':Help')
|
||||
api project(':Utility')
|
||||
api project(':Generic')
|
||||
api project(':Docking')
|
||||
api project(':Graph')
|
||||
api project(':SoftwareModeling')
|
||||
api project(':DB')
|
||||
api project(':Help')
|
||||
|
||||
compile 'org.apache.felix:org.apache.felix.framework:6.0.3'
|
||||
compile 'com.github.rotty3000:phidias:0.3.7'
|
||||
compile 'biz.aQute.bnd:biz.aQute.bndlib:5.1.2'
|
||||
compile 'org.slf4j:slf4j-api:1.7.25'
|
||||
api 'org.apache.felix:org.apache.felix.framework:6.0.3'
|
||||
api 'com.github.rotty3000:phidias:0.3.7'
|
||||
api 'biz.aQute.bnd:biz.aQute.bndlib:5.1.2'
|
||||
api 'org.slf4j:slf4j-api:1.7.25'
|
||||
|
||||
runtime "org.slf4j:slf4j-nop:1.7.25"
|
||||
runtimeOnly "org.slf4j:slf4j-nop:1.7.25"
|
||||
|
||||
compileOnly "junit:junit:4.12"
|
||||
|
||||
// These have abstract test classes and stubs needed by this module
|
||||
testCompile project(path: ':Docking', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':Generic', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':Project', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Docking', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Generic', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Project', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
|
||||
javacc 'net.java.dev.javacc:javacc:5.0'
|
||||
}
|
||||
|
@ -23,8 +23,8 @@ eclipse.project.name = 'Features BytePatterns'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':Utility')
|
||||
api project(':Base')
|
||||
api project(':Utility')
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
|
@ -23,9 +23,9 @@ eclipse.project.name = 'Features ByteViewer'
|
||||
|
||||
dependencies {
|
||||
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
|
||||
testCompile project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
|
||||
helpPath project(path: ':Base', configuration: 'helpPath') // this module's help has links to Base help files
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ eclipse.project.name = 'Features DebugUtils'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -24,11 +24,11 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features Decompiler'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':SoftwareModeling')
|
||||
api project(':Base')
|
||||
api project(':SoftwareModeling')
|
||||
// include Base src/test/resources when running decompiler integration tests (uses defaultTools)
|
||||
integrationTestRuntime project(path: ':Base', configuration: 'testArtifacts')
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
integrationTestImplementation project(path: ':Base', configuration: 'testArtifacts')
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
}
|
||||
|
@ -23,8 +23,8 @@ eclipse.project.name = 'Features DecompilerDependent'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':Decompiler')
|
||||
api project(':Base')
|
||||
api project(':Decompiler')
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,28 +23,28 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features FileFormats'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':Recognizers')
|
||||
compile project(':Python')
|
||||
api project(':Base')
|
||||
api project(':Recognizers')
|
||||
api project(':Python')
|
||||
|
||||
compile ':dex-ir:2.0'
|
||||
compile ':dex-reader:2.0'
|
||||
compile ':dex-reader-api:2.0'
|
||||
compile ':dex-translator:2.0'
|
||||
api ':dex-ir:2.0'
|
||||
api ':dex-reader:2.0'
|
||||
api ':dex-reader-api:2.0'
|
||||
api ':dex-translator:2.0'
|
||||
|
||||
compile 'org.ow2.asm:asm-debug-all:4.1'
|
||||
api 'org.ow2.asm:asm-debug-all:4.1'
|
||||
|
||||
compile 'org.smali:baksmali:1.4.0' // TODO: upgrade to 2.2.6
|
||||
compile 'org.smali:dexlib:1.4.0'
|
||||
compile 'org.smali:util:1.4.0'
|
||||
api 'org.smali:baksmali:1.4.0' // TODO: upgrade to 2.2.6
|
||||
api 'org.smali:dexlib:1.4.0'
|
||||
api 'org.smali:util:1.4.0'
|
||||
|
||||
compile 'net.sf.sevenzipjbinding:sevenzipjbinding:16.02-2.01'
|
||||
compile ':AXMLPrinter2'
|
||||
api 'net.sf.sevenzipjbinding:sevenzipjbinding:16.02-2.01'
|
||||
api ':AXMLPrinter2'
|
||||
|
||||
runtime 'net.sf.sevenzipjbinding:sevenzipjbinding-all-platforms:16.02-2.01'
|
||||
runtimeOnly 'net.sf.sevenzipjbinding:sevenzipjbinding-all-platforms:16.02-2.01'
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
// include code from src/test/slow in Base
|
||||
testCompile project(path: ':Base', configuration: 'integrationTestArtifacts')
|
||||
testImplementation project(path: ':Base', configuration: 'integrationTestArtifacts')
|
||||
}
|
||||
|
@ -25,9 +25,9 @@ eclipse.project.name = 'Features Graph FunctionGraph'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features Graph FunctionGraphDecompilerExt'
|
||||
|
||||
dependencies {
|
||||
compile project(":FunctionGraph")
|
||||
compile project(":Decompiler")
|
||||
api project(":FunctionGraph")
|
||||
api project(":Decompiler")
|
||||
}
|
||||
|
@ -24,9 +24,9 @@ eclipse.project.name = 'Features FunctionID'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
compile project(":DB")
|
||||
compile project(":SoftwareModeling")
|
||||
api project(":Base")
|
||||
api project(":DB")
|
||||
api project(":SoftwareModeling")
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
}
|
||||
|
@ -28,9 +28,9 @@ configurations {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(":FileSystem")
|
||||
compile project(":DB")
|
||||
compile project(":Generic")
|
||||
api project(":FileSystem")
|
||||
api project(":DB")
|
||||
api project(":Generic")
|
||||
|
||||
runGhidraServer project
|
||||
}
|
||||
|
@ -23,5 +23,5 @@ eclipse.project.name = 'Features GnuDemangler'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ eclipse.project.name = 'Features Graph FunctionCalls'
|
||||
|
||||
// Note: this module's name is 'GraphFunctionCalls'
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
@ -35,7 +35,7 @@ dependencies {
|
||||
helpPath project(path: ":FunctionGraph", configuration: 'helpPath')
|
||||
|
||||
// These have abstract test classes and stubs needed by this module
|
||||
testCompile project(path: ':Project', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Project', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
|
||||
}
|
||||
|
@ -24,26 +24,26 @@ eclipse.project.name = 'Features Graph Services'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
// jungrapht - exclude slf4j which produces a conflict with other uses with Ghidra
|
||||
compile ("com.github.tomnelson:jungrapht-visualization:1.2") { exclude group: "org.slf4j", module: "slf4j-api" }
|
||||
compile ("com.github.tomnelson:jungrapht-layout:1.2") { exclude group: "org.slf4j", module: "slf4j-api" }
|
||||
api ("com.github.tomnelson:jungrapht-visualization:1.2") { exclude group: "org.slf4j", module: "slf4j-api" }
|
||||
api ("com.github.tomnelson:jungrapht-layout:1.2") { exclude group: "org.slf4j", module: "slf4j-api" }
|
||||
|
||||
compile "org.jgrapht:jgrapht-core:1.5.0"
|
||||
api "org.jgrapht:jgrapht-core:1.5.0"
|
||||
|
||||
// not using jgrapht-io code that depends on antlr, so exclude antlr
|
||||
compile ("org.jgrapht:jgrapht-io:1.5.0") { exclude group: "org.antlr", module: "antlr4-runtime" }
|
||||
api ("org.jgrapht:jgrapht-io:1.5.0") { exclude group: "org.antlr", module: "antlr4-runtime" }
|
||||
|
||||
runtime "org.slf4j:slf4j-api:1.7.25"
|
||||
runtimeOnly "org.slf4j:slf4j-api:1.7.25"
|
||||
|
||||
// use this if you want no slf4j log messages
|
||||
runtime "org.slf4j:slf4j-nop:1.7.25"
|
||||
runtimeOnly "org.slf4j:slf4j-nop:1.7.25"
|
||||
|
||||
// use this if you want slf4j log messages sent to log4j
|
||||
// runtime "org.apache.logging.log4j:log4j-slf4j-impl:2.12.1"
|
||||
// runtimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:2.12.1"
|
||||
|
||||
runtime "org.jheaps:jheaps:0.13"
|
||||
runtimeOnly "org.jheaps:jheaps:0.13"
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
|
@ -22,6 +22,6 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features MicrosoftCodeAnalyzer'
|
||||
|
||||
dependencies {
|
||||
compile project(":MicrosoftDmang")
|
||||
compile project(":Base")
|
||||
api project(":MicrosoftDmang")
|
||||
api project(":Base")
|
||||
}
|
||||
|
@ -23,6 +23,6 @@ eclipse.project.name = 'Features MicrosoftDemangler'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
compile project(":MicrosoftDmang")
|
||||
api project(":Base")
|
||||
api project(":MicrosoftDmang")
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ project.ext.excludeFromParallelTests = true
|
||||
project.ext.excludeFromParallelIntegrationTests = true
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -28,16 +28,16 @@ eclipse.project.name = 'Features PDB'
|
||||
* Build dependencies
|
||||
*********************************************************************************/
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
// Demangler Analyzer needs to find MicrosoftDemangler
|
||||
compile project(":MicrosoftDemangler")
|
||||
api project(":MicrosoftDemangler")
|
||||
helpPath project(path: ':Base', configuration: 'helpPath') // this module's help has links to Base help files
|
||||
|
||||
testCompile project(path: ':Base', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Base', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':SoftwareModeling', configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -24,7 +24,7 @@ eclipse.project.name = 'Features ProgramDiff'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ eclipse.project.name = 'Features Graph ProgramGraph'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
helpPath project(path: ":Base", configuration: 'helpPath')
|
||||
helpPath project(path: ":GraphServices", configuration: 'helpPath')
|
||||
|
@ -31,10 +31,10 @@ configurations {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
helpPath project(path: ":Base", configuration: "helpPath")
|
||||
jython JYTHON
|
||||
compile JYTHON
|
||||
api JYTHON
|
||||
}
|
||||
|
||||
task jythonUnpack(type: Copy) {
|
||||
|
@ -22,7 +22,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features Recognizers'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
test {
|
||||
|
@ -23,7 +23,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Features SourceCodeLookup'
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
compile project(":Decompiler")
|
||||
api project(":Base")
|
||||
api project(":Decompiler")
|
||||
helpPath project(path: ":Decompiler", configuration: 'helpPath')
|
||||
}
|
||||
|
@ -25,10 +25,10 @@ eclipse.project.name = 'Features VersionTracking'
|
||||
project.ext.excludeFromParallelIntegrationTests = true
|
||||
|
||||
dependencies {
|
||||
compile project(":Base")
|
||||
api project(":Base")
|
||||
|
||||
helpPath project(path: ":Base", configuration: "helpPath")
|
||||
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
testCompile project(path: ':Project', configuration: 'testArtifacts')
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
testImplementation project(path: ':Project', configuration: 'testArtifacts')
|
||||
}
|
||||
|
@ -22,6 +22,6 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework DB'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
api project(':Generic')
|
||||
}
|
||||
|
||||
|
@ -22,16 +22,16 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework Docking'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile 'net.java.dev.timingframework:timingframework:1.0'
|
||||
api project(':Generic')
|
||||
api 'net.java.dev.timingframework:timingframework:1.0'
|
||||
|
||||
// Only include this debug version of the jh library if necessary.
|
||||
//compile name:'jh2.with.debug'
|
||||
compile 'javax.help:javahelp:2.0.05'
|
||||
//api name:'jh2.with.debug'
|
||||
api 'javax.help:javahelp:2.0.05'
|
||||
|
||||
|
||||
// include code from src/test in Generic
|
||||
testCompile project(path: ':Generic', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Generic', configuration: 'testArtifacts')
|
||||
compileOnly "junit:junit:4.12"
|
||||
}
|
||||
|
||||
|
@ -22,10 +22,10 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework FileSystem'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile project(':DB')
|
||||
compile project(':Docking')
|
||||
compile "ch.ethz.ganymed:ganymed-ssh2:262@jar"
|
||||
api project(':Generic')
|
||||
api project(':DB')
|
||||
api project(':Docking')
|
||||
api "ch.ethz.ganymed:ganymed-ssh2:262@jar"
|
||||
|
||||
}
|
||||
|
||||
|
@ -24,17 +24,17 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework Generic'
|
||||
|
||||
dependencies {
|
||||
compile project(':Utility')
|
||||
compile "cglib:cglib-nodep:2.2"
|
||||
compile "com.google.guava:guava:19.0"
|
||||
compile "org.jdom:jdom-legacy:1.1.3"
|
||||
compile "org.apache.logging.log4j:log4j-api:2.12.1"
|
||||
compile "org.apache.logging.log4j:log4j-core:2.12.1"
|
||||
compile "org.apache.commons:commons-collections4:4.1"
|
||||
compile "org.apache.commons:commons-lang3:3.9"
|
||||
compile "org.apache.commons:commons-text:1.6"
|
||||
compile "commons-io:commons-io:2.6"
|
||||
compile "com.google.code.gson:gson:2.8.6"
|
||||
api project(':Utility')
|
||||
api "cglib:cglib-nodep:2.2"
|
||||
api "com.google.guava:guava:19.0"
|
||||
api "org.jdom:jdom-legacy:1.1.3"
|
||||
api "org.apache.logging.log4j:log4j-api:2.12.1"
|
||||
api "org.apache.logging.log4j:log4j-core:2.12.1"
|
||||
api "org.apache.commons:commons-collections4:4.1"
|
||||
api "org.apache.commons:commons-lang3:3.9"
|
||||
api "org.apache.commons:commons-text:1.6"
|
||||
api "commons-io:commons-io:2.6"
|
||||
api "com.google.code.gson:gson:2.8.6"
|
||||
|
||||
compileOnly "junit:junit:4.12"
|
||||
}
|
||||
|
@ -22,21 +22,21 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework Graph'
|
||||
|
||||
dependencies {
|
||||
compile project(':Docking')
|
||||
api project(':Docking')
|
||||
|
||||
// these are not used by the project, but indirectly by the jars listed below
|
||||
compile "net.sf.jung:jung-api:2.1.1" // used by jung-graph-impl
|
||||
compile "net.sf.jung:jung-algorithms:2.1.1" // used by jung-visualization
|
||||
api "net.sf.jung:jung-api:2.1.1" // used by jung-graph-impl
|
||||
api "net.sf.jung:jung-algorithms:2.1.1" // used by jung-visualization
|
||||
|
||||
// this project uses these directly
|
||||
compile "net.sf.jung:jung-graph-impl:2.1.1"
|
||||
compile "net.sf.jung:jung-visualization:2.1.1"
|
||||
api "net.sf.jung:jung-graph-impl:2.1.1"
|
||||
api "net.sf.jung:jung-visualization:2.1.1"
|
||||
|
||||
compile "org.jgrapht:jgrapht-core:1.5.0"
|
||||
api "org.jgrapht:jgrapht-core:1.5.0"
|
||||
|
||||
// not using jgrapht-io code that depends on antlr, so exclude antlr
|
||||
compile ("org.jgrapht:jgrapht-io:1.5.0") { exclude group: "org.antlr", module: "antlr4-runtime" }
|
||||
api ("org.jgrapht:jgrapht-io:1.5.0") { exclude group: "org.antlr", module: "antlr4-runtime" }
|
||||
|
||||
// These have abstract test classes and stubs needed by this module
|
||||
testCompile project(path: ':Docking', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Docking', configuration: 'testArtifacts')
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework Help'
|
||||
|
||||
dependencies {
|
||||
compile project(':Utility')
|
||||
compile project(':Docking')
|
||||
api project(':Utility')
|
||||
api project(':Docking')
|
||||
|
||||
// compile name:'jh' - provided by Docking
|
||||
// api name:'jh' - provided by Docking
|
||||
|
||||
}
|
||||
|
@ -22,13 +22,13 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Framework Project'
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile project(':DB')
|
||||
compile project(':Docking')
|
||||
compile project(':FileSystem')
|
||||
compile project(':Utility')
|
||||
api project(':Generic')
|
||||
api project(':DB')
|
||||
api project(':Docking')
|
||||
api project(':FileSystem')
|
||||
api project(':Utility')
|
||||
|
||||
testCompile project(path: ':Generic', configuration: 'testArtifacts')
|
||||
compile "org.apache.commons:commons-compress:1.19"
|
||||
testImplementation project(path: ':Generic', configuration: 'testArtifacts')
|
||||
api "org.apache.commons:commons-compress:1.19"
|
||||
}
|
||||
|
||||
|
@ -28,19 +28,19 @@ apply plugin: 'antlr'
|
||||
rootProject.prepDev.dependsOn compileJava
|
||||
|
||||
dependencies {
|
||||
compile project(':Generic')
|
||||
compile project(':FileSystem')
|
||||
compile project(':Project')
|
||||
compile project(':Graph')
|
||||
api project(':Generic')
|
||||
api project(':FileSystem')
|
||||
api project(':Project')
|
||||
api project(':Graph')
|
||||
|
||||
compile "msv:msv:20050913"
|
||||
compile "msv:xsdlib:20050913"
|
||||
compile "org.antlr:antlr-runtime:3.5.2"
|
||||
api "msv:msv:20050913"
|
||||
api "msv:xsdlib:20050913"
|
||||
api "org.antlr:antlr-runtime:3.5.2"
|
||||
|
||||
runtime "msv:relaxngDatatype:20050913"
|
||||
compile "msv:isorelax:20050913"
|
||||
runtimeOnly "msv:relaxngDatatype:20050913"
|
||||
api "msv:isorelax:20050913"
|
||||
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
// Must specify the specific antlr implementation to use or it will default to trying to find
|
||||
// version 2.7.7 (which we don't have)
|
||||
|
@ -25,5 +25,5 @@ eclipse.project.name = 'Processors 68000'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -21,5 +21,5 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors 8051'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -27,6 +27,6 @@ sleighCompileOptions = [
|
||||
]
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':BytePatterns')
|
||||
api project(':Base')
|
||||
api project(':BytePatterns')
|
||||
}
|
||||
|
@ -22,5 +22,5 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors ARM'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors Atmel'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
sleighCompileOptions = [
|
||||
|
@ -22,6 +22,6 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors DATA'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':SoftwareModeling')
|
||||
api project(':Base')
|
||||
api project(':SoftwareModeling')
|
||||
}
|
||||
|
@ -27,6 +27,6 @@ sleighCompileOptions = [
|
||||
]
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':FileFormats')
|
||||
api project(':Base')
|
||||
api project(':FileFormats')
|
||||
}
|
||||
|
@ -25,5 +25,5 @@ sleighCompileOptions = [
|
||||
]
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -26,6 +26,6 @@ eclipse.project.name = 'Processors JVM'
|
||||
apply from: "$rootProject.projectDir/gradle/processorProject.gradle"
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors MIPS'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
sleighCompileOptions = [
|
||||
|
@ -23,6 +23,6 @@ eclipse.project.name = 'Processors PIC'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ eclipse.project.name = 'Processors PowerPC'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
compile project(':BytePatterns')
|
||||
api project(':Base')
|
||||
api project(':BytePatterns')
|
||||
}
|
||||
|
||||
|
@ -22,5 +22,5 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors RISCV'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -23,6 +23,6 @@ eclipse.project.name = 'Processors Sparc'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
@ -22,5 +22,5 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = 'Processors SuperH4'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -21,6 +21,6 @@ eclipse.project.name = 'Processors Toy'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
@ -23,5 +23,5 @@ eclipse.project.name = 'Processors tricore'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
@ -23,6 +23,6 @@ eclipse.project.name = 'Processors x86'
|
||||
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
|
@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens
|
||||
|
||||
defaultTasks 'buildExtension'
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
|
||||
/*****************************************************************************************
|
||||
*
|
||||
@ -48,9 +48,9 @@ compileJava {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'lib', include: "*.jar")
|
||||
compile fileTree(dir: ghidraDir + '/Framework', include: "**/*.jar")
|
||||
compile fileTree(dir: ghidraDir + '/Features', include: "**/*.jar")
|
||||
api fileTree(dir: 'lib', include: "*.jar")
|
||||
api fileTree(dir: ghidraDir + '/Framework', include: "**/*.jar")
|
||||
api fileTree(dir: ghidraDir + '/Features', include: "**/*.jar")
|
||||
helpPath fileTree(dir: ghidraDir + '/Features/Base', include: "**/Base.jar")
|
||||
}
|
||||
|
||||
@ -75,8 +75,8 @@ task zipSource (type: Zip) {
|
||||
|
||||
task buildExtension (type: Zip) {
|
||||
|
||||
baseName "${ZIP_NAME_PREFIX}_${project.name}"
|
||||
extension 'zip'
|
||||
archiveBaseName = "${ZIP_NAME_PREFIX}_${project.name}"
|
||||
archiveExtension = 'zip'
|
||||
destinationDir DISTRIBUTION_DIR
|
||||
version ''
|
||||
|
||||
@ -152,7 +152,7 @@ task buildExtension (type: Zip) {
|
||||
}
|
||||
|
||||
doLast {
|
||||
println "\nCreated " + baseName + "." + extension + " in " + destinationDir
|
||||
println "\nCreated " + archiveBaseName + "." + archiveExtension + " in " + destinationDir
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -33,6 +33,10 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
|
||||
processIntegrationTestResources {
|
||||
duplicatesStrategy = 'exclude'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// integrationtest module may depend on other projects in this repo; add them
|
||||
// here
|
||||
@ -46,15 +50,15 @@ dependencies {
|
||||
projectPath.contains("/Features/") ||
|
||||
projectPath.contains("/Processors/"))) {
|
||||
|
||||
compile p
|
||||
api p
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// some tests use classes in Base/src/test and test.slow
|
||||
testCompile project(path: ':Base', configuration: 'testArtifacts')
|
||||
testCompile project(path: ':Base', configuration: 'integrationTestArtifacts')
|
||||
testCompile project(path: ':FunctionGraph', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Base', configuration: 'testArtifacts')
|
||||
testImplementation project(path: ':Base', configuration: 'integrationTestArtifacts')
|
||||
testImplementation project(path: ':FunctionGraph', configuration: 'testArtifacts')
|
||||
}
|
||||
|
||||
// For Java 9, we must explicitly export references to the internal classes we are using.
|
||||
|
@ -2,7 +2,7 @@ application.name=Ghidra
|
||||
application.version=10.0
|
||||
application.release.name=DEV
|
||||
application.layout.version=1
|
||||
application.gradle.min=5.0
|
||||
application.gradle.min=6.0
|
||||
application.java.min=11
|
||||
application.java.max=
|
||||
application.java.compiler=11
|
||||
|
@ -16,10 +16,10 @@
|
||||
apply plugin: 'eclipse'
|
||||
eclipse.project.name = '_JsonDoclet'
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
|
||||
dependencies {
|
||||
compile "com.google.code.gson:gson:2.8.6"
|
||||
api "com.google.code.gson:gson:2.8.6"
|
||||
}
|
||||
|
||||
rootProject.createJsondocs.dependsOn jar
|
||||
|
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
|
||||
//This project requires the eclpse PDE plugin. To create eclipse files for this project, run
|
||||
// "gradle eclipse -PeclipsePDE"
|
||||
@ -48,8 +48,8 @@ sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
|
||||
dependencies {
|
||||
compile project(':Utility')
|
||||
compile project(':LaunchSupport')
|
||||
api project(':Utility')
|
||||
api project(':LaunchSupport')
|
||||
}
|
||||
|
||||
// We are currently building this with Eclipse, so prevent gradle from trying.
|
||||
|
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
apply plugin: 'eclipse'
|
||||
eclipse.project.name = '_LaunchSupport'
|
||||
|
||||
|
@ -20,7 +20,7 @@ apply plugin: 'eclipse'
|
||||
eclipse.project.name = '_Skeleton'
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
// We don't want this to build
|
||||
@ -37,5 +37,6 @@ rootProject.assembleDistribution {
|
||||
exclude '.project'
|
||||
rename "buildTemplate.gradle", "build.gradle"
|
||||
into "Extensions/Ghidra/Skeleton"
|
||||
duplicatesStrategy = 'include'
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
apply plugin: 'eclipse'
|
||||
eclipse.project.name = '_GhidraDocs'
|
||||
|
||||
@ -26,7 +26,7 @@ sourceSets {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':Base')
|
||||
api project(':Base')
|
||||
}
|
||||
|
||||
rootProject.assembleDistribution {
|
||||
|
@ -38,7 +38,7 @@ To create the latest development build for your platform from this source reposi
|
||||
|
||||
##### Install build tools:
|
||||
* [JDK 11 64-bit][jdk11]
|
||||
* [Gradle][gradle] (version 5.x or 6.x)
|
||||
* [Gradle][gradle] (minimum v6.0)
|
||||
* make, gcc, and g++ (Linux/macOS-only)
|
||||
* [Microsoft Visual Studio][vs] (Windows-only)
|
||||
|
||||
|
24
build.gradle
24
build.gradle
@ -315,13 +315,20 @@ String getCurrentPlatformName() {
|
||||
List<String> getExternalRuntimeDependencies(Project project) {
|
||||
List<String> list = new ArrayList<String>()
|
||||
|
||||
list.addAll(getExternalDependencies(project.configurations.compile));
|
||||
list.addAll(getExternalDependencies(project.configurations.runtime));
|
||||
if (project.configurations.find { it.name == 'api' }) {
|
||||
list.addAll(getExternalDependencies(project, project.configurations.api));
|
||||
}
|
||||
if (project.configurations.find { it.name == 'implementation' }) {
|
||||
list.addAll(getExternalDependencies(project, project.configurations.implementation));
|
||||
}
|
||||
if (project.configurations.find { it.name == 'runtimeOnly' }) {
|
||||
list.addAll(getExternalDependencies(project, project.configurations.runtimeOnly));
|
||||
}
|
||||
|
||||
return list
|
||||
}
|
||||
|
||||
List<String> getExternalDependencies(Configuration configuration) {
|
||||
List<String> getExternalDependencies(Project project, Configuration configuration) {
|
||||
List<String> list = new ArrayList<>();
|
||||
configuration.dependencies.each { dep ->
|
||||
|
||||
@ -344,9 +351,12 @@ List<String> getExternalDependencies(Configuration configuration) {
|
||||
}
|
||||
}
|
||||
|
||||
// loop back through all the dependency files, looking for one that contains the dependency name.
|
||||
String depPath = configuration.find {
|
||||
it.name.contains(searchString)
|
||||
// loop back through all the dependency files, looking for one that contains the dependency name.
|
||||
String depPath = project.configurations
|
||||
.findAll {it.isCanBeResolved()}
|
||||
.collect {it.resolve()}
|
||||
.flatten()
|
||||
.find {it.getAbsolutePath().contains(searchString)
|
||||
}
|
||||
if (depPath == null) {
|
||||
println("****************DID NOT FIND DEPENDENCY: name = "+name+" version = "+version)
|
||||
@ -369,7 +379,7 @@ Set<String> getAllExternalDependencies(Project project) {
|
||||
Set<String> set = new HashSet<String>()
|
||||
|
||||
project.getConfigurations().each { config ->
|
||||
set.addAll(getExternalDependencies(config))
|
||||
set.addAll(getExternalDependencies(project, config))
|
||||
}
|
||||
|
||||
return set
|
||||
|
@ -59,8 +59,8 @@ sourceSets {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
helpIndexCompile "javax.help:javahelp:2.0.05"
|
||||
helpIndexCompile project(path: ':Help', configuration: 'archives')
|
||||
helpIndexImplementation "javax.help:javahelp:2.0.05"
|
||||
helpIndexImplementation project(':Help')
|
||||
}
|
||||
|
||||
// Task for calling the java help indexer, which creates a searchable index of the
|
||||
@ -193,7 +193,8 @@ jar {
|
||||
}
|
||||
|
||||
// build the help whenever this module's jar file is built
|
||||
jar.dependsOn buildHelp
|
||||
processResources.dependsOn buildHelp
|
||||
jar.dependsOn buildHelp
|
||||
|
||||
|
||||
// make sure generated help directories exist during prepdev so that the directories are created and
|
||||
|
@ -31,7 +31,7 @@ import org.gradle.plugins.ide.eclipse.model.Library;
|
||||
* - all subs will have access to these properties.
|
||||
*********************************************************************************/
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'java-library'
|
||||
|
||||
compileJava {
|
||||
options.compilerArgs << '-Xlint:none'
|
||||
@ -46,6 +46,14 @@ compileTestJava {
|
||||
options.fork = true
|
||||
options.warnings = false
|
||||
}
|
||||
|
||||
processResources {
|
||||
duplicatesStrategy = 'exclude'
|
||||
}
|
||||
|
||||
processTestResources {
|
||||
duplicatesStrategy = 'exclude'
|
||||
}
|
||||
|
||||
plugins.withId('java') {
|
||||
sourceCompatibility = "${rootProject.JAVA_COMPILER}"
|
||||
@ -120,12 +128,12 @@ sourceSets {
|
||||
}
|
||||
|
||||
configurations {
|
||||
integrationTestCompile.extendsFrom testCompile
|
||||
integrationTestRuntime.extendsFrom testRuntime, integrationTestCompile
|
||||
pcodeTestCompile.extendsFrom compile
|
||||
testArtifacts.extendsFrom testRuntime
|
||||
integrationTestArtifacts.extendsFrom integrationTestRuntime
|
||||
screenShotsCompile.extendsFrom integrationTestCompile
|
||||
integrationTestImplementation.extendsFrom testImplementation
|
||||
integrationTestRuntimeOnly.extendsFrom testRuntimeOnly, integrationTestImplementation
|
||||
pcodeTestImplementation.extendsFrom implementation
|
||||
testArtifacts.extendsFrom testRuntimeOnly
|
||||
integrationTestArtifacts.extendsFrom integrationTestRuntimeOnly
|
||||
screenShotsImplementation.extendsFrom integrationTestImplemenation
|
||||
}
|
||||
|
||||
task testJar(type: Jar) {
|
||||
@ -147,14 +155,14 @@ artifacts {
|
||||
Provide test dependencies here so each build file does not have to.
|
||||
*/
|
||||
dependencies {
|
||||
integrationTestCompile "org.hamcrest:hamcrest-all:1.3"
|
||||
integrationTestCompile "org.jmockit:jmockit:1.44"
|
||||
integrationTestImplementation "org.hamcrest:hamcrest-all:1.3"
|
||||
integrationTestImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
testCompile "org.hamcrest:hamcrest-all:1.3"
|
||||
testCompile "org.jmockit:jmockit:1.44"
|
||||
testImplementation "org.hamcrest:hamcrest-all:1.3"
|
||||
testImplementation "org.jmockit:jmockit:1.44"
|
||||
|
||||
testCompile "junit:junit:4.12"
|
||||
pcodeTestCompile "junit:junit:4.12"
|
||||
testImplementation "junit:junit:4.12"
|
||||
pcodeTestImplementation "junit:junit:4.12"
|
||||
}
|
||||
|
||||
// For Java 9, we must explicitly export references to the internal classes we are using.
|
||||
@ -190,10 +198,12 @@ eclipse.classpath.file.whenMerged { classpath ->
|
||||
// Prevent Gradle 5.6 from setting the 'test' attribute on our test source folders and jars.
|
||||
// If we don't do this, things that we have outside of test directories that depend on test
|
||||
// libraries (like junit) will not compile in Eclipse.
|
||||
// Also prevent Gradle 7.0 from adding jars to the modulepath instead of the classpath.
|
||||
classpath.entries.findAll {
|
||||
it.kind == 'src' || it.kind == 'lib'
|
||||
}.each {
|
||||
it.entryAttributes['test'] = 'false'
|
||||
it.entryAttributes['module'] = 'false'
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ def getGitRev(repoPath) {
|
||||
*********************************************************************************/
|
||||
task createJavadocs(type: Javadoc, description: 'Generate javadocs for all projects', group: 'Documentation') {
|
||||
|
||||
destinationDir = file(rootProject.projectDir.toString() + "/build/tmp/javadoc")
|
||||
destinationDir file(rootProject.projectDir.toString() + "/build/tmp/javadoc")
|
||||
|
||||
failOnError false
|
||||
|
||||
@ -177,7 +177,7 @@ task createJsondocs(type: Javadoc, description: 'Generate JSON docs for all proj
|
||||
|
||||
String ROOT_PROJECT_DIR = rootProject.projectDir.toString()
|
||||
|
||||
destinationDir = file(ROOT_PROJECT_DIR + "/build/tmp/jsondoc")
|
||||
destinationDir file(ROOT_PROJECT_DIR + "/build/tmp/jsondoc")
|
||||
|
||||
failOnError false
|
||||
|
||||
@ -222,8 +222,8 @@ task createJsondocs(type: Javadoc, description: 'Generate JSON docs for all proj
|
||||
*********************************************************************************/
|
||||
task zipJavadocs(type: Zip) {
|
||||
group 'private'
|
||||
archiveName 'GhidraAPI_javadoc.zip'
|
||||
destinationDir file(rootProject.projectDir.toString() + "/build/tmp")
|
||||
archiveFileName = 'GhidraAPI_javadoc.zip'
|
||||
destinationDirectory = file(rootProject.projectDir.toString() + "/build/tmp")
|
||||
|
||||
from createJavadocs {
|
||||
into "api"
|
||||
@ -233,7 +233,7 @@ task zipJavadocs(type: Zip) {
|
||||
into "api"
|
||||
}
|
||||
|
||||
description "Zips javadocs for Ghidra API. [gradle/root/distribution.gradle]"
|
||||
description "Zips javadocs for Ghidra api. [gradle/root/distribution.gradle]"
|
||||
}
|
||||
|
||||
|
||||
@ -491,12 +491,12 @@ task createInstallationZip(type: Zip) { t ->
|
||||
}
|
||||
|
||||
if (project.hasProperty("allPlatforms")) {
|
||||
archiveName "${ZIP_NAME_PREFIX}.zip"
|
||||
archiveFileName = "${ZIP_NAME_PREFIX}.zip"
|
||||
}
|
||||
else {
|
||||
archiveName "${ZIP_NAME_PREFIX}_${currentPlatform}.zip"
|
||||
archiveFileName = "${ZIP_NAME_PREFIX}_${currentPlatform}.zip"
|
||||
}
|
||||
destinationDir DISTRIBUTION_DIR
|
||||
destinationDirectory = DISTRIBUTION_DIR
|
||||
|
||||
// Make sure that we don't try to copy the same file with the same path.
|
||||
duplicatesStrategy 'exclude'
|
||||
|
@ -26,8 +26,8 @@ plugins.withType(JavaPlugin) {
|
||||
// Define some metadata about the zip (name, location, version, etc....)
|
||||
t.group 'private'
|
||||
t.description "Creates the source zips for java modules"
|
||||
t.archiveName project.name + "-src.zip"
|
||||
t.destinationDir file(projectDir.path + "/build/tmp/src")
|
||||
t.archiveFileName = project.name + "-src.zip"
|
||||
t.destinationDirectory = file(projectDir.path + "/build/tmp/src")
|
||||
// Without this we get duplicate files but it's unclear why. It doesn't seem that this
|
||||
// task is being executed multiple times, and sourceSets.main.java contains the
|
||||
// correct elements. Whatever the cause, this fixes the problem.
|
||||
|
@ -20,8 +20,8 @@ task zipExtensions (type: Zip) {
|
||||
|
||||
it.group 'private'
|
||||
it.description "Creates a zip file for an extension module. [gradle/support/extensionCommon.gradle]"
|
||||
it.archiveName "${rootProject.ext.ZIP_NAME_PREFIX}_${p.name}.zip"
|
||||
it.destinationDir rootProject.ext.DISTRIBUTION_DIR
|
||||
it.archiveFileName = "${rootProject.ext.ZIP_NAME_PREFIX}_${p.name}.zip"
|
||||
it.destinationDirectory = rootProject.ext.DISTRIBUTION_DIR
|
||||
|
||||
// Make sure that we don't try to copy the same file with the same path into the
|
||||
// zip (this can happen!)
|
||||
|
Loading…
Reference in New Issue
Block a user