From 3a0ae8ee39a08277c623dc954560e343c7efe3d9 Mon Sep 17 00:00:00 2001 From: Ryan Kurtz Date: Mon, 12 Apr 2021 11:07:06 -0400 Subject: [PATCH] GP-849: Gradle 7 support --- DevGuide.md | 4 +-- GPL/DMG/build.gradle | 12 +++---- GPL/DemanglerGnu/build.gradle | 4 +-- Ghidra/Debug/AnnotationValidator/build.gradle | 2 +- .../Debug/Debugger-agent-dbgeng/build.gradle | 18 +++++----- .../build.gradle | 6 ++-- .../Debugger-agent-dbgmodel/build.gradle | 9 +++-- Ghidra/Debug/Debugger-agent-gdb/build.gradle | 14 ++++---- Ghidra/Debug/Debugger-gadp/build.gradle | 11 +++--- Ghidra/Debug/Debugger-jpda/build.gradle | 9 ++--- Ghidra/Debug/Debugger/build.gradle | 17 ++++----- Ghidra/Debug/Framework-AsyncComm/build.gradle | 6 ++-- Ghidra/Debug/Framework-Debugging/build.gradle | 10 +++--- .../Framework-TraceModeling/build.gradle | 10 +++--- Ghidra/Debug/ProposedUtils/build.gradle | 14 ++++---- .../Extensions/SampleTablePlugin/build.gradle | 2 +- Ghidra/Extensions/SleighDevTools/build.gradle | 2 +- .../Extensions/bundle_examples/build.gradle | 10 +++--- Ghidra/Extensions/sample/build.gradle | 2 +- Ghidra/Features/Base/build.gradle | 32 ++++++++--------- Ghidra/Features/BytePatterns/build.gradle | 4 +-- Ghidra/Features/ByteViewer/build.gradle | 4 +-- Ghidra/Features/DebugUtils/build.gradle | 2 +- Ghidra/Features/Decompiler/build.gradle | 8 ++--- .../Features/DecompilerDependent/build.gradle | 4 +-- Ghidra/Features/FileFormats/build.gradle | 30 ++++++++-------- Ghidra/Features/FunctionGraph/build.gradle | 4 +-- .../build.gradle | 4 +-- Ghidra/Features/FunctionID/build.gradle | 6 ++-- Ghidra/Features/GhidraServer/build.gradle | 6 ++-- Ghidra/Features/GnuDemangler/build.gradle | 2 +- .../Features/GraphFunctionCalls/build.gradle | 6 ++-- Ghidra/Features/GraphServices/build.gradle | 18 +++++----- .../MicrosoftCodeAnalyzer/build.gradle | 4 +-- .../Features/MicrosoftDemangler/build.gradle | 4 +-- Ghidra/Features/MicrosoftDmang/build.gradle | 2 +- Ghidra/Features/PDB/build.gradle | 10 +++--- Ghidra/Features/ProgramDiff/build.gradle | 2 +- Ghidra/Features/ProgramGraph/build.gradle | 2 +- Ghidra/Features/Python/build.gradle | 4 +-- Ghidra/Features/Recognizers/build.gradle | 2 +- Ghidra/Features/SourceCodeLookup/build.gradle | 4 +-- Ghidra/Features/VersionTracking/build.gradle | 6 ++-- Ghidra/Framework/DB/build.gradle | 2 +- Ghidra/Framework/Docking/build.gradle | 10 +++--- Ghidra/Framework/FileSystem/build.gradle | 8 ++--- Ghidra/Framework/Generic/build.gradle | 22 ++++++------ Ghidra/Framework/Graph/build.gradle | 16 ++++----- Ghidra/Framework/Help/build.gradle | 6 ++-- Ghidra/Framework/Project/build.gradle | 14 ++++---- .../Framework/SoftwareModeling/build.gradle | 20 +++++------ Ghidra/Processors/68000/build.gradle | 2 +- Ghidra/Processors/8051/build.gradle | 2 +- Ghidra/Processors/AARCH64/build.gradle | 4 +-- Ghidra/Processors/ARM/build.gradle | 2 +- Ghidra/Processors/Atmel/build.gradle | 2 +- Ghidra/Processors/DATA/build.gradle | 4 +-- Ghidra/Processors/Dalvik/build.gradle | 4 +-- Ghidra/Processors/HCS12/build.gradle | 2 +- Ghidra/Processors/JVM/build.gradle | 2 +- Ghidra/Processors/MIPS/build.gradle | 2 +- Ghidra/Processors/PIC/build.gradle | 2 +- Ghidra/Processors/PowerPC/build.gradle | 4 +-- Ghidra/Processors/RISCV/build.gradle | 2 +- Ghidra/Processors/Sparc/build.gradle | 2 +- Ghidra/Processors/SuperH4/build.gradle | 2 +- Ghidra/Processors/Toy/build.gradle | 2 +- Ghidra/Processors/tricore/build.gradle | 2 +- Ghidra/Processors/x86/build.gradle | 2 +- .../Common/support/buildExtension.gradle | 14 ++++---- Ghidra/Test/IntegrationTest/build.gradle | 12 ++++--- Ghidra/application.properties | 2 +- .../BuildFiles/JsonDoclet/build.gradle | 4 +-- .../GhidraDev/GhidraDevPlugin/build.gradle | 6 ++-- GhidraBuild/LaunchSupport/build.gradle | 2 +- GhidraBuild/Skeleton/build.gradle | 3 +- GhidraDocs/build.gradle | 4 +-- README.md | 2 +- build.gradle | 24 +++++++++---- gradle/helpProject.gradle | 7 ++-- gradle/javaProject.gradle | 36 ++++++++++++------- gradle/root/distribution.gradle | 16 ++++----- gradle/support/distributionCommon.gradle | 4 +-- gradle/support/extensionCommon.gradle | 4 +-- 84 files changed, 324 insertions(+), 290 deletions(-) diff --git a/DevGuide.md b/DevGuide.md index e227291def..addc98bdcd 100644 --- a/DevGuide.md +++ b/DevGuide.md @@ -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/ diff --git a/GPL/DMG/build.gradle b/GPL/DMG/build.gradle index 4098009221..6211ef390a 100644 --- a/GPL/DMG/build.gradle +++ b/GPL/DMG/build.gradle @@ -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 } diff --git a/GPL/DemanglerGnu/build.gradle b/GPL/DemanglerGnu/build.gradle index 0e9f80bb3f..bf413418c8 100644 --- a/GPL/DemanglerGnu/build.gradle +++ b/GPL/DemanglerGnu/build.gradle @@ -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 diff --git a/Ghidra/Debug/AnnotationValidator/build.gradle b/Ghidra/Debug/AnnotationValidator/build.gradle index 4016854294..a92ab6b4a8 100644 --- a/Ghidra/Debug/AnnotationValidator/build.gradle +++ b/Ghidra/Debug/AnnotationValidator/build.gradle @@ -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 diff --git a/Ghidra/Debug/Debugger-agent-dbgeng/build.gradle b/Ghidra/Debug/Debugger-agent-dbgeng/build.gradle index 6b15549169..162c3089f0 100644 --- a/Ghidra/Debug/Debugger-agent-dbgeng/build.gradle +++ b/Ghidra/Debug/Debugger-agent-dbgeng/build.gradle @@ -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)) } diff --git a/Ghidra/Debug/Debugger-agent-dbgmodel-traceloader/build.gradle b/Ghidra/Debug/Debugger-agent-dbgmodel-traceloader/build.gradle index a6994d370c..7c97953e24 100644 --- a/Ghidra/Debug/Debugger-agent-dbgmodel-traceloader/build.gradle +++ b/Ghidra/Debug/Debugger-agent-dbgmodel-traceloader/build.gradle @@ -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') } diff --git a/Ghidra/Debug/Debugger-agent-dbgmodel/build.gradle b/Ghidra/Debug/Debugger-agent-dbgmodel/build.gradle index 4b71f04ac3..1d7de0d1cc 100644 --- a/Ghidra/Debug/Debugger-agent-dbgmodel/build.gradle +++ b/Ghidra/Debug/Debugger-agent-dbgmodel/build.gradle @@ -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)) } diff --git a/Ghidra/Debug/Debugger-agent-gdb/build.gradle b/Ghidra/Debug/Debugger-agent-gdb/build.gradle index 8b4fc90f50..ddbf7d277b 100644 --- a/Ghidra/Debug/Debugger-agent-gdb/build.gradle +++ b/Ghidra/Debug/Debugger-agent-gdb/build.gradle @@ -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)) } diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle index 8b0b90cfa7..248542d00e 100644 --- a/Ghidra/Debug/Debugger-gadp/build.gradle +++ b/Ghidra/Debug/Debugger-gadp/build.gradle @@ -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 { diff --git a/Ghidra/Debug/Debugger-jpda/build.gradle b/Ghidra/Debug/Debugger-jpda/build.gradle index fc1e97672f..bd5bdb0e33 100644 --- a/Ghidra/Debug/Debugger-jpda/build.gradle +++ b/Ghidra/Debug/Debugger-jpda/build.gradle @@ -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') } diff --git a/Ghidra/Debug/Debugger/build.gradle b/Ghidra/Debug/Debugger/build.gradle index c81bbd04c9..0a6feff55a 100644 --- a/Ghidra/Debug/Debugger/build.gradle +++ b/Ghidra/Debug/Debugger/build.gradle @@ -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') } diff --git a/Ghidra/Debug/Framework-AsyncComm/build.gradle b/Ghidra/Debug/Framework-AsyncComm/build.gradle index 4808063437..0bfa2d3451 100644 --- a/Ghidra/Debug/Framework-AsyncComm/build.gradle +++ b/Ghidra/Debug/Framework-AsyncComm/build.gradle @@ -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) { diff --git a/Ghidra/Debug/Framework-Debugging/build.gradle b/Ghidra/Debug/Framework-Debugging/build.gradle index 85a584e05b..6031083387 100644 --- a/Ghidra/Debug/Framework-Debugging/build.gradle +++ b/Ghidra/Debug/Framework-Debugging/build.gradle @@ -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 { diff --git a/Ghidra/Debug/Framework-TraceModeling/build.gradle b/Ghidra/Debug/Framework-TraceModeling/build.gradle index d529b0bf41..878990745c 100644 --- a/Ghidra/Debug/Framework-TraceModeling/build.gradle +++ b/Ghidra/Debug/Framework-TraceModeling/build.gradle @@ -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 } diff --git a/Ghidra/Debug/ProposedUtils/build.gradle b/Ghidra/Debug/ProposedUtils/build.gradle index 5fe63f731a..e6920c4033 100644 --- a/Ghidra/Debug/ProposedUtils/build.gradle +++ b/Ghidra/Debug/ProposedUtils/build.gradle @@ -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') } diff --git a/Ghidra/Extensions/SampleTablePlugin/build.gradle b/Ghidra/Extensions/SampleTablePlugin/build.gradle index 5950dcfe29..33f40360d1 100644 --- a/Ghidra/Extensions/SampleTablePlugin/build.gradle +++ b/Ghidra/Extensions/SampleTablePlugin/build.gradle @@ -23,5 +23,5 @@ eclipse.project.name = 'Xtra SampleTablePlugin' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Extensions/SleighDevTools/build.gradle b/Ghidra/Extensions/SleighDevTools/build.gradle index 4dbcca1cae..7e829c0cd2 100644 --- a/Ghidra/Extensions/SleighDevTools/build.gradle +++ b/Ghidra/Extensions/SleighDevTools/build.gradle @@ -20,5 +20,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Xtra SleighDevTools' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Extensions/bundle_examples/build.gradle b/Ghidra/Extensions/bundle_examples/build.gradle index 4fce7fc287..24194f0b3b 100644 --- a/Ghidra/Extensions/bundle_examples/build.gradle +++ b/Ghidra/Extensions/bundle_examples/build.gradle @@ -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' diff --git a/Ghidra/Extensions/sample/build.gradle b/Ghidra/Extensions/sample/build.gradle index a6a9893a0c..34ade0bd9f 100644 --- a/Ghidra/Extensions/sample/build.gradle +++ b/Ghidra/Extensions/sample/build.gradle @@ -22,5 +22,5 @@ eclipse.project.name = 'Xtra sample' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Features/Base/build.gradle b/Ghidra/Features/Base/build.gradle index f306645e5f..f8fbfd252f 100644 --- a/Ghidra/Features/Base/build.gradle +++ b/Ghidra/Features/Base/build.gradle @@ -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' } diff --git a/Ghidra/Features/BytePatterns/build.gradle b/Ghidra/Features/BytePatterns/build.gradle index cc529c7b50..923e3b0d14 100644 --- a/Ghidra/Features/BytePatterns/build.gradle +++ b/Ghidra/Features/BytePatterns/build.gradle @@ -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') diff --git a/Ghidra/Features/ByteViewer/build.gradle b/Ghidra/Features/ByteViewer/build.gradle index ad81ae6ff5..a5a9b62913 100644 --- a/Ghidra/Features/ByteViewer/build.gradle +++ b/Ghidra/Features/ByteViewer/build.gradle @@ -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 } diff --git a/Ghidra/Features/DebugUtils/build.gradle b/Ghidra/Features/DebugUtils/build.gradle index 3dac0627cd..5dac164218 100644 --- a/Ghidra/Features/DebugUtils/build.gradle +++ b/Ghidra/Features/DebugUtils/build.gradle @@ -22,5 +22,5 @@ eclipse.project.name = 'Features DebugUtils' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Features/Decompiler/build.gradle b/Ghidra/Features/Decompiler/build.gradle index 85a49229f9..12eea15bec 100644 --- a/Ghidra/Features/Decompiler/build.gradle +++ b/Ghidra/Features/Decompiler/build.gradle @@ -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') } diff --git a/Ghidra/Features/DecompilerDependent/build.gradle b/Ghidra/Features/DecompilerDependent/build.gradle index a822d75ba4..bf9c36055e 100644 --- a/Ghidra/Features/DecompilerDependent/build.gradle +++ b/Ghidra/Features/DecompilerDependent/build.gradle @@ -23,8 +23,8 @@ eclipse.project.name = 'Features DecompilerDependent' dependencies { - compile project(':Base') - compile project(':Decompiler') + api project(':Base') + api project(':Decompiler') } diff --git a/Ghidra/Features/FileFormats/build.gradle b/Ghidra/Features/FileFormats/build.gradle index d979e482c0..1046713237 100644 --- a/Ghidra/Features/FileFormats/build.gradle +++ b/Ghidra/Features/FileFormats/build.gradle @@ -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') } diff --git a/Ghidra/Features/FunctionGraph/build.gradle b/Ghidra/Features/FunctionGraph/build.gradle index 1048607047..1e952eb764 100644 --- a/Ghidra/Features/FunctionGraph/build.gradle +++ b/Ghidra/Features/FunctionGraph/build.gradle @@ -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') } diff --git a/Ghidra/Features/FunctionGraphDecompilerExtension/build.gradle b/Ghidra/Features/FunctionGraphDecompilerExtension/build.gradle index 5b7397bead..4c66acffe2 100644 --- a/Ghidra/Features/FunctionGraphDecompilerExtension/build.gradle +++ b/Ghidra/Features/FunctionGraphDecompilerExtension/build.gradle @@ -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") } diff --git a/Ghidra/Features/FunctionID/build.gradle b/Ghidra/Features/FunctionID/build.gradle index a67ae99435..9df8dbda4c 100644 --- a/Ghidra/Features/FunctionID/build.gradle +++ b/Ghidra/Features/FunctionID/build.gradle @@ -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') } diff --git a/Ghidra/Features/GhidraServer/build.gradle b/Ghidra/Features/GhidraServer/build.gradle index 484be39516..0b84adadbf 100644 --- a/Ghidra/Features/GhidraServer/build.gradle +++ b/Ghidra/Features/GhidraServer/build.gradle @@ -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 } diff --git a/Ghidra/Features/GnuDemangler/build.gradle b/Ghidra/Features/GnuDemangler/build.gradle index 1a31ae95e7..c283470f12 100644 --- a/Ghidra/Features/GnuDemangler/build.gradle +++ b/Ghidra/Features/GnuDemangler/build.gradle @@ -23,5 +23,5 @@ eclipse.project.name = 'Features GnuDemangler' dependencies { - compile project(":Base") + api project(":Base") } diff --git a/Ghidra/Features/GraphFunctionCalls/build.gradle b/Ghidra/Features/GraphFunctionCalls/build.gradle index 34325a620b..8a941be103 100644 --- a/Ghidra/Features/GraphFunctionCalls/build.gradle +++ b/Ghidra/Features/GraphFunctionCalls/build.gradle @@ -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') } diff --git a/Ghidra/Features/GraphServices/build.gradle b/Ghidra/Features/GraphServices/build.gradle index 65a77be0b8..9af6597eb7 100644 --- a/Ghidra/Features/GraphServices/build.gradle +++ b/Ghidra/Features/GraphServices/build.gradle @@ -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') diff --git a/Ghidra/Features/MicrosoftCodeAnalyzer/build.gradle b/Ghidra/Features/MicrosoftCodeAnalyzer/build.gradle index 7e508f2b37..aef84ea4de 100644 --- a/Ghidra/Features/MicrosoftCodeAnalyzer/build.gradle +++ b/Ghidra/Features/MicrosoftCodeAnalyzer/build.gradle @@ -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") } diff --git a/Ghidra/Features/MicrosoftDemangler/build.gradle b/Ghidra/Features/MicrosoftDemangler/build.gradle index 0d5d134cae..6993ecfdb3 100644 --- a/Ghidra/Features/MicrosoftDemangler/build.gradle +++ b/Ghidra/Features/MicrosoftDemangler/build.gradle @@ -23,6 +23,6 @@ eclipse.project.name = 'Features MicrosoftDemangler' dependencies { - compile project(":Base") - compile project(":MicrosoftDmang") + api project(":Base") + api project(":MicrosoftDmang") } diff --git a/Ghidra/Features/MicrosoftDmang/build.gradle b/Ghidra/Features/MicrosoftDmang/build.gradle index 473ccb6bc3..f516122831 100644 --- a/Ghidra/Features/MicrosoftDmang/build.gradle +++ b/Ghidra/Features/MicrosoftDmang/build.gradle @@ -25,7 +25,7 @@ project.ext.excludeFromParallelTests = true project.ext.excludeFromParallelIntegrationTests = true dependencies { - compile project(':Base') + api project(':Base') } /* diff --git a/Ghidra/Features/PDB/build.gradle b/Ghidra/Features/PDB/build.gradle index b624b0005e..0ea23828b9 100644 --- a/Ghidra/Features/PDB/build.gradle +++ b/Ghidra/Features/PDB/build.gradle @@ -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') } /** diff --git a/Ghidra/Features/ProgramDiff/build.gradle b/Ghidra/Features/ProgramDiff/build.gradle index 44f4a26937..f3f9f6c152 100644 --- a/Ghidra/Features/ProgramDiff/build.gradle +++ b/Ghidra/Features/ProgramDiff/build.gradle @@ -24,7 +24,7 @@ eclipse.project.name = 'Features ProgramDiff' dependencies { - compile project(":Base") + api project(":Base") helpPath project(path: ":Base", configuration: 'helpPath') } diff --git a/Ghidra/Features/ProgramGraph/build.gradle b/Ghidra/Features/ProgramGraph/build.gradle index 7f842dba2f..2e152e1431 100644 --- a/Ghidra/Features/ProgramGraph/build.gradle +++ b/Ghidra/Features/ProgramGraph/build.gradle @@ -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') diff --git a/Ghidra/Features/Python/build.gradle b/Ghidra/Features/Python/build.gradle index e90207c471..f042afd3f0 100644 --- a/Ghidra/Features/Python/build.gradle +++ b/Ghidra/Features/Python/build.gradle @@ -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) { diff --git a/Ghidra/Features/Recognizers/build.gradle b/Ghidra/Features/Recognizers/build.gradle index d1249469ba..f09c2e8afc 100644 --- a/Ghidra/Features/Recognizers/build.gradle +++ b/Ghidra/Features/Recognizers/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'eclipse' eclipse.project.name = 'Features Recognizers' dependencies { - compile project(':Base') + api project(':Base') } test { diff --git a/Ghidra/Features/SourceCodeLookup/build.gradle b/Ghidra/Features/SourceCodeLookup/build.gradle index 84fdd5747a..f361d43f7e 100644 --- a/Ghidra/Features/SourceCodeLookup/build.gradle +++ b/Ghidra/Features/SourceCodeLookup/build.gradle @@ -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') } diff --git a/Ghidra/Features/VersionTracking/build.gradle b/Ghidra/Features/VersionTracking/build.gradle index 69651c5307..9786f07f23 100644 --- a/Ghidra/Features/VersionTracking/build.gradle +++ b/Ghidra/Features/VersionTracking/build.gradle @@ -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') } diff --git a/Ghidra/Framework/DB/build.gradle b/Ghidra/Framework/DB/build.gradle index 52b09a8c59..59d0575b0b 100644 --- a/Ghidra/Framework/DB/build.gradle +++ b/Ghidra/Framework/DB/build.gradle @@ -22,6 +22,6 @@ apply plugin: 'eclipse' eclipse.project.name = 'Framework DB' dependencies { - compile project(':Generic') + api project(':Generic') } diff --git a/Ghidra/Framework/Docking/build.gradle b/Ghidra/Framework/Docking/build.gradle index 8b9cb8f350..ae2a4525c1 100644 --- a/Ghidra/Framework/Docking/build.gradle +++ b/Ghidra/Framework/Docking/build.gradle @@ -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" } diff --git a/Ghidra/Framework/FileSystem/build.gradle b/Ghidra/Framework/FileSystem/build.gradle index 71d812923b..ad15b86330 100644 --- a/Ghidra/Framework/FileSystem/build.gradle +++ b/Ghidra/Framework/FileSystem/build.gradle @@ -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" } diff --git a/Ghidra/Framework/Generic/build.gradle b/Ghidra/Framework/Generic/build.gradle index 3d08b7b2ee..8198e578cb 100644 --- a/Ghidra/Framework/Generic/build.gradle +++ b/Ghidra/Framework/Generic/build.gradle @@ -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" } diff --git a/Ghidra/Framework/Graph/build.gradle b/Ghidra/Framework/Graph/build.gradle index aac38c8cfc..2bb5214e88 100644 --- a/Ghidra/Framework/Graph/build.gradle +++ b/Ghidra/Framework/Graph/build.gradle @@ -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') } diff --git a/Ghidra/Framework/Help/build.gradle b/Ghidra/Framework/Help/build.gradle index 3edc1d384e..cfe24fe559 100644 --- a/Ghidra/Framework/Help/build.gradle +++ b/Ghidra/Framework/Help/build.gradle @@ -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 } diff --git a/Ghidra/Framework/Project/build.gradle b/Ghidra/Framework/Project/build.gradle index ff761f1295..96f5cf9456 100644 --- a/Ghidra/Framework/Project/build.gradle +++ b/Ghidra/Framework/Project/build.gradle @@ -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" } diff --git a/Ghidra/Framework/SoftwareModeling/build.gradle b/Ghidra/Framework/SoftwareModeling/build.gradle index 69b99eef0b..b94c5ce7c3 100644 --- a/Ghidra/Framework/SoftwareModeling/build.gradle +++ b/Ghidra/Framework/SoftwareModeling/build.gradle @@ -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) diff --git a/Ghidra/Processors/68000/build.gradle b/Ghidra/Processors/68000/build.gradle index 698ab158ff..5772cefe9c 100644 --- a/Ghidra/Processors/68000/build.gradle +++ b/Ghidra/Processors/68000/build.gradle @@ -25,5 +25,5 @@ eclipse.project.name = 'Processors 68000' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/8051/build.gradle b/Ghidra/Processors/8051/build.gradle index 81c27c5989..47007b7005 100644 --- a/Ghidra/Processors/8051/build.gradle +++ b/Ghidra/Processors/8051/build.gradle @@ -21,5 +21,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors 8051' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/AARCH64/build.gradle b/Ghidra/Processors/AARCH64/build.gradle index a184b52203..bae19bf1b6 100644 --- a/Ghidra/Processors/AARCH64/build.gradle +++ b/Ghidra/Processors/AARCH64/build.gradle @@ -27,6 +27,6 @@ sleighCompileOptions = [ ] dependencies { - compile project(':Base') - compile project(':BytePatterns') + api project(':Base') + api project(':BytePatterns') } diff --git a/Ghidra/Processors/ARM/build.gradle b/Ghidra/Processors/ARM/build.gradle index 1bcf1dd9ce..2b8c496e03 100644 --- a/Ghidra/Processors/ARM/build.gradle +++ b/Ghidra/Processors/ARM/build.gradle @@ -22,5 +22,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors ARM' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/Atmel/build.gradle b/Ghidra/Processors/Atmel/build.gradle index 87e8fafedd..d1bf9479af 100644 --- a/Ghidra/Processors/Atmel/build.gradle +++ b/Ghidra/Processors/Atmel/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors Atmel' dependencies { - compile project(':Base') + api project(':Base') } sleighCompileOptions = [ diff --git a/Ghidra/Processors/DATA/build.gradle b/Ghidra/Processors/DATA/build.gradle index b6979754d2..cc4b0267c9 100644 --- a/Ghidra/Processors/DATA/build.gradle +++ b/Ghidra/Processors/DATA/build.gradle @@ -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') } diff --git a/Ghidra/Processors/Dalvik/build.gradle b/Ghidra/Processors/Dalvik/build.gradle index 04d0d1c4b6..9e91d68ec9 100644 --- a/Ghidra/Processors/Dalvik/build.gradle +++ b/Ghidra/Processors/Dalvik/build.gradle @@ -27,6 +27,6 @@ sleighCompileOptions = [ ] dependencies { - compile project(':Base') - compile project(':FileFormats') + api project(':Base') + api project(':FileFormats') } diff --git a/Ghidra/Processors/HCS12/build.gradle b/Ghidra/Processors/HCS12/build.gradle index ac4fd90b60..79f40c8ad7 100644 --- a/Ghidra/Processors/HCS12/build.gradle +++ b/Ghidra/Processors/HCS12/build.gradle @@ -25,5 +25,5 @@ sleighCompileOptions = [ ] dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/JVM/build.gradle b/Ghidra/Processors/JVM/build.gradle index 9b79a6d7e9..7a6b2ddf25 100644 --- a/Ghidra/Processors/JVM/build.gradle +++ b/Ghidra/Processors/JVM/build.gradle @@ -26,6 +26,6 @@ eclipse.project.name = 'Processors JVM' apply from: "$rootProject.projectDir/gradle/processorProject.gradle" dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/MIPS/build.gradle b/Ghidra/Processors/MIPS/build.gradle index 248ec6c368..e57ef6a308 100644 --- a/Ghidra/Processors/MIPS/build.gradle +++ b/Ghidra/Processors/MIPS/build.gradle @@ -22,7 +22,7 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors MIPS' dependencies { - compile project(':Base') + api project(':Base') } sleighCompileOptions = [ diff --git a/Ghidra/Processors/PIC/build.gradle b/Ghidra/Processors/PIC/build.gradle index ad06dc5e85..ffbf65f46f 100644 --- a/Ghidra/Processors/PIC/build.gradle +++ b/Ghidra/Processors/PIC/build.gradle @@ -23,6 +23,6 @@ eclipse.project.name = 'Processors PIC' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/PowerPC/build.gradle b/Ghidra/Processors/PowerPC/build.gradle index 6d2e93f237..7e1c52b725 100644 --- a/Ghidra/Processors/PowerPC/build.gradle +++ b/Ghidra/Processors/PowerPC/build.gradle @@ -24,7 +24,7 @@ eclipse.project.name = 'Processors PowerPC' dependencies { - compile project(':Base') - compile project(':BytePatterns') + api project(':Base') + api project(':BytePatterns') } diff --git a/Ghidra/Processors/RISCV/build.gradle b/Ghidra/Processors/RISCV/build.gradle index 44af91475f..9b9ccf4041 100644 --- a/Ghidra/Processors/RISCV/build.gradle +++ b/Ghidra/Processors/RISCV/build.gradle @@ -22,5 +22,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors RISCV' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/Sparc/build.gradle b/Ghidra/Processors/Sparc/build.gradle index 4446cb87ec..15e976448c 100644 --- a/Ghidra/Processors/Sparc/build.gradle +++ b/Ghidra/Processors/Sparc/build.gradle @@ -23,6 +23,6 @@ eclipse.project.name = 'Processors Sparc' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/SuperH4/build.gradle b/Ghidra/Processors/SuperH4/build.gradle index 0d6c873afc..d7ad5b3efb 100644 --- a/Ghidra/Processors/SuperH4/build.gradle +++ b/Ghidra/Processors/SuperH4/build.gradle @@ -22,5 +22,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Processors SuperH4' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/Toy/build.gradle b/Ghidra/Processors/Toy/build.gradle index ef4e13d4fd..d44e12a84c 100644 --- a/Ghidra/Processors/Toy/build.gradle +++ b/Ghidra/Processors/Toy/build.gradle @@ -21,6 +21,6 @@ eclipse.project.name = 'Processors Toy' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/tricore/build.gradle b/Ghidra/Processors/tricore/build.gradle index 99c345a72c..36988d3b0e 100644 --- a/Ghidra/Processors/tricore/build.gradle +++ b/Ghidra/Processors/tricore/build.gradle @@ -23,5 +23,5 @@ eclipse.project.name = 'Processors tricore' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/Processors/x86/build.gradle b/Ghidra/Processors/x86/build.gradle index 536eaed49a..7d29812b94 100644 --- a/Ghidra/Processors/x86/build.gradle +++ b/Ghidra/Processors/x86/build.gradle @@ -23,6 +23,6 @@ eclipse.project.name = 'Processors x86' dependencies { - compile project(':Base') + api project(':Base') } diff --git a/Ghidra/RuntimeScripts/Common/support/buildExtension.gradle b/Ghidra/RuntimeScripts/Common/support/buildExtension.gradle index 672d7302be..e9965f06f9 100644 --- a/Ghidra/RuntimeScripts/Common/support/buildExtension.gradle +++ b/Ghidra/RuntimeScripts/Common/support/buildExtension.gradle @@ -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 } } diff --git a/Ghidra/Test/IntegrationTest/build.gradle b/Ghidra/Test/IntegrationTest/build.gradle index 45de9287d5..04c711467f 100644 --- a/Ghidra/Test/IntegrationTest/build.gradle +++ b/Ghidra/Test/IntegrationTest/build.gradle @@ -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. diff --git a/Ghidra/application.properties b/Ghidra/application.properties index 790d51bb52..084cf41cac 100644 --- a/Ghidra/application.properties +++ b/Ghidra/application.properties @@ -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 diff --git a/GhidraBuild/BuildFiles/JsonDoclet/build.gradle b/GhidraBuild/BuildFiles/JsonDoclet/build.gradle index 815417fb5e..22f9dfd764 100644 --- a/GhidraBuild/BuildFiles/JsonDoclet/build.gradle +++ b/GhidraBuild/BuildFiles/JsonDoclet/build.gradle @@ -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 diff --git a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/build.gradle b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/build.gradle index bb4516d155..47c882434e 100644 --- a/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/build.gradle +++ b/GhidraBuild/EclipsePlugins/GhidraDev/GhidraDevPlugin/build.gradle @@ -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. diff --git a/GhidraBuild/LaunchSupport/build.gradle b/GhidraBuild/LaunchSupport/build.gradle index 50a8688d0f..8778d777fa 100644 --- a/GhidraBuild/LaunchSupport/build.gradle +++ b/GhidraBuild/LaunchSupport/build.gradle @@ -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' diff --git a/GhidraBuild/Skeleton/build.gradle b/GhidraBuild/Skeleton/build.gradle index e07647e262..a7f2679455 100644 --- a/GhidraBuild/Skeleton/build.gradle +++ b/GhidraBuild/Skeleton/build.gradle @@ -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' } } diff --git a/GhidraDocs/build.gradle b/GhidraDocs/build.gradle index 4e8583e0eb..28ab8790ee 100644 --- a/GhidraDocs/build.gradle +++ b/GhidraDocs/build.gradle @@ -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 { diff --git a/README.md b/README.md index 185814ad43..f8e9af3f3b 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/build.gradle b/build.gradle index 15b4d7894e..8c48e0c739 100644 --- a/build.gradle +++ b/build.gradle @@ -315,13 +315,20 @@ String getCurrentPlatformName() { List getExternalRuntimeDependencies(Project project) { List list = new ArrayList() - 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 getExternalDependencies(Configuration configuration) { +List getExternalDependencies(Project project, Configuration configuration) { List list = new ArrayList<>(); configuration.dependencies.each { dep -> @@ -344,9 +351,12 @@ List 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 getAllExternalDependencies(Project project) { Set set = new HashSet() project.getConfigurations().each { config -> - set.addAll(getExternalDependencies(config)) + set.addAll(getExternalDependencies(project, config)) } return set diff --git a/gradle/helpProject.gradle b/gradle/helpProject.gradle index a965467ed1..9751060d27 100644 --- a/gradle/helpProject.gradle +++ b/gradle/helpProject.gradle @@ -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 diff --git a/gradle/javaProject.gradle b/gradle/javaProject.gradle index fa43117602..d48192e229 100644 --- a/gradle/javaProject.gradle +++ b/gradle/javaProject.gradle @@ -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' } } diff --git a/gradle/root/distribution.gradle b/gradle/root/distribution.gradle index 3cf9fdd044..a1eebd064f 100644 --- a/gradle/root/distribution.gradle +++ b/gradle/root/distribution.gradle @@ -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' diff --git a/gradle/support/distributionCommon.gradle b/gradle/support/distributionCommon.gradle index d04984e7c6..e355a8ce9b 100644 --- a/gradle/support/distributionCommon.gradle +++ b/gradle/support/distributionCommon.gradle @@ -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. diff --git a/gradle/support/extensionCommon.gradle b/gradle/support/extensionCommon.gradle index 686b69aa85..0a4435391d 100644 --- a/gradle/support/extensionCommon.gradle +++ b/gradle/support/extensionCommon.gradle @@ -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!)