215 lines
6.7 KiB
Diff
215 lines
6.7 KiB
Diff
From ffb6777d58f068db7e14372415154cd93f77766e Mon Sep 17 00:00:00 2001
|
|
From: roblabla <unfiltered@roblab.la>
|
|
Date: Wed, 31 Jan 2024 13:19:55 +0100
|
|
Subject: [PATCH] Use com.google.protobuf:protobuf-gradle-plugin
|
|
|
|
---
|
|
Ghidra/Debug/Debugger-gadp/build.gradle | 7 +-
|
|
Ghidra/Debug/Debugger-isf/build.gradle | 8 +-
|
|
Ghidra/Debug/Debugger-rmi-trace/build.gradle | 14 +--
|
|
build.gradle | 6 ++
|
|
gradle/hasProtobuf.gradle | 94 --------------------
|
|
5 files changed, 26 insertions(+), 103 deletions(-)
|
|
|
|
diff --git a/Ghidra/Debug/Debugger-gadp/build.gradle b/Ghidra/Debug/Debugger-gadp/build.gradle
|
|
index 9e1c57faf..3a3242eb5 100644
|
|
--- a/Ghidra/Debug/Debugger-gadp/build.gradle
|
|
+++ b/Ghidra/Debug/Debugger-gadp/build.gradle
|
|
@@ -18,11 +18,16 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
|
|
-apply from: "${rootProject.projectDir}/gradle/hasProtobuf.gradle"
|
|
+apply plugin: 'com.google.protobuf'
|
|
|
|
apply plugin: 'eclipse'
|
|
eclipse.project.name = 'Debug Debugger-gadp'
|
|
|
|
+buildscript {
|
|
+ dependencies {
|
|
+ classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
|
|
+ }
|
|
+}
|
|
dependencies {
|
|
api project(':Framework-AsyncComm')
|
|
api project(':Framework-Debugging')
|
|
diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle
|
|
index d135294a0..785681ca2 100644
|
|
--- a/Ghidra/Debug/Debugger-isf/build.gradle
|
|
+++ b/Ghidra/Debug/Debugger-isf/build.gradle
|
|
@@ -18,11 +18,15 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
|
|
-apply from: "${rootProject.projectDir}/gradle/hasProtobuf.gradle"
|
|
-
|
|
+apply plugin: 'com.google.protobuf'
|
|
apply plugin: 'eclipse'
|
|
eclipse.project.name = 'Debug Debugger-isf'
|
|
|
|
+buildscript {
|
|
+ dependencies {
|
|
+ classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
|
|
+ }
|
|
+}
|
|
dependencies {
|
|
api project(':Framework-AsyncComm')
|
|
api project(':Framework-Debugging')
|
|
diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
|
index 40fbc17ab..7517ffe6e 100644
|
|
--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
|
+++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
|
|
@@ -18,12 +18,17 @@ apply from: "${rootProject.projectDir}/gradle/javaProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/jacocoProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/javaTestProject.gradle"
|
|
apply from: "${rootProject.projectDir}/gradle/distributableGhidraModule.gradle"
|
|
-apply from: "${rootProject.projectDir}/gradle/hasProtobuf.gradle"
|
|
+apply plugin: 'com.google.protobuf'
|
|
apply from: "${rootProject.projectDir}/gradle/hasPythonPackage.gradle"
|
|
|
|
apply plugin: 'eclipse'
|
|
eclipse.project.name = 'Debug Debugger-rmi-trace'
|
|
|
|
+buildscript {
|
|
+ dependencies {
|
|
+ classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.18'
|
|
+ }
|
|
+}
|
|
dependencies {
|
|
api project(':Pty')
|
|
api project(':Debugger')
|
|
@@ -44,12 +49,9 @@ task generateProtoPy {
|
|
ext.outdir = file("build/generated/source/proto/main/py")
|
|
outputs.dir(outdir)
|
|
inputs.files(src)
|
|
- dependsOn(configurations.protocArtifact)
|
|
+ dependsOn(protobuf.generateProtoTasks.all())
|
|
doLast {
|
|
- def exe = configurations.protocArtifact.first()
|
|
- if (!isCurrentWindows()) {
|
|
- exe.setExecutable(true)
|
|
- }
|
|
+ def exe = protobuf.tools.protoc.path
|
|
exec {
|
|
commandLine exe, "--python_out=$outdir", "-I$srcdir"
|
|
args src
|
|
diff --git a/build.gradle b/build.gradle
|
|
index b0c717fb1..5f56506a5 100644
|
|
--- a/build.gradle
|
|
+++ b/build.gradle
|
|
@@ -74,6 +74,12 @@ if (flatRepo.isDirectory()) {
|
|
jcenter()
|
|
flatDir name: "flat", dirs:["$flatRepo"]
|
|
}
|
|
+ buildscript {
|
|
+ repositories {
|
|
+ mavenLocal()
|
|
+ mavenCentral()
|
|
+ }
|
|
+ }
|
|
}
|
|
}
|
|
else {
|
|
diff --git a/gradle/hasProtobuf.gradle b/gradle/hasProtobuf.gradle
|
|
index 23b4ce74b..e69de29bb 100644
|
|
--- a/gradle/hasProtobuf.gradle
|
|
+++ b/gradle/hasProtobuf.gradle
|
|
@@ -1,94 +0,0 @@
|
|
-/* ###
|
|
- * IP: GHIDRA
|
|
- *
|
|
- * Licensed under the Apache License, Version 2.0 (the "License");
|
|
- * you may not use this file except in compliance with the License.
|
|
- * You may obtain a copy of the License at
|
|
- *
|
|
- * http://www.apache.org/licenses/LICENSE-2.0
|
|
- *
|
|
- * Unless required by applicable law or agreed to in writing, software
|
|
- * distributed under the License is distributed on an "AS IS" BASIS,
|
|
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
- * See the License for the specific language governing permissions and
|
|
- * limitations under the License.
|
|
- */
|
|
-/*plugins {
|
|
- id 'com.google.protobuf' version '0.8.10'
|
|
-}*/
|
|
-
|
|
-configurations {
|
|
- allProtocArtifacts
|
|
- protocArtifact
|
|
-}
|
|
-
|
|
-def platform = getCurrentPlatformName()
|
|
-
|
|
-
|
|
-dependencies {
|
|
- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
|
|
- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
|
|
- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
|
|
- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
|
|
- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
|
|
-
|
|
- if (isCurrentWindows()) {
|
|
- protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
|
|
- }
|
|
- if (isCurrentLinux()) {
|
|
- if (platform.endsWith("x86_64")) {
|
|
- protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
|
|
- }
|
|
- else {
|
|
- protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
|
|
- }
|
|
- }
|
|
- if (isCurrentMac()) {
|
|
- if (platform.endsWith("x86_64")) {
|
|
- protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
|
|
- }
|
|
- else {
|
|
- protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
|
|
- }
|
|
- }
|
|
-}
|
|
-
|
|
-/*protobuf {
|
|
- protoc {
|
|
- artifact = 'com.google.protobuf:protoc:3.21.8'
|
|
- }
|
|
-}*/
|
|
-
|
|
-task generateProto {
|
|
- ext.srcdir = file("src/main/proto")
|
|
- ext.src = fileTree(srcdir) {
|
|
- include "**/*.proto"
|
|
- }
|
|
- ext.outdir = file("build/generated/source/proto/main/java")
|
|
- outputs.dir(outdir)
|
|
- inputs.files(src)
|
|
- dependsOn(configurations.protocArtifact)
|
|
- doLast {
|
|
- def exe = configurations.protocArtifact.first()
|
|
- if (!isCurrentWindows()) {
|
|
- exe.setExecutable(true)
|
|
- }
|
|
- exec {
|
|
- commandLine exe, "--java_out=$outdir", "-I$srcdir"
|
|
- args src
|
|
- }
|
|
- }
|
|
-}
|
|
-
|
|
-tasks.compileJava.dependsOn(tasks.generateProto)
|
|
-tasks.eclipse.dependsOn(tasks.generateProto)
|
|
-rootProject.tasks.prepDev.dependsOn(tasks.generateProto)
|
|
-
|
|
-sourceSets {
|
|
- main {
|
|
- java {
|
|
- srcDir tasks.generateProto.outdir
|
|
- }
|
|
- }
|
|
-}
|
|
-zipSourceSubproject.dependsOn generateProto
|
|
--
|
|
2.42.0
|
|
|