From 14d0432554311b5740156595c9acca6da421c113 Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Tue, 25 Mar 2025 16:44:37 +0000 Subject: [PATCH] GP-5436: Move AsyncComm remains into Generic --- Ghidra/Debug/Debugger-isf/build.gradle | 3 - Ghidra/Debug/Debugger-rmi-trace/build.gradle | 2 +- Ghidra/Debug/Debugger/build.gradle | 2 - .../DebuggerTraceManagerServicePlugin.java | 2 +- .../Debug/Framework-AsyncComm/Module.manifest | 1 - Ghidra/Debug/Framework-AsyncComm/README.md | 1 - Ghidra/Debug/Framework-AsyncComm/build.gradle | 57 ------------------- .../certification.manifest | 4 -- .../ghidra/async/AsyncConfigFieldCodec.java | 52 ----------------- .../Framework-TraceModeling/build.gradle | 1 - Ghidra/Debug/ProposedUtils/Module.manifest | 1 + Ghidra/Debug/ProposedUtils/build.gradle | 1 + .../ProposedUtils/certification.manifest | 1 + .../framework/plugintool/AutoConfigState.java | 35 +++++++++++- Ghidra/Debug/TaintAnalysis/build.gradle | 1 - .../java/ghidra/async/AsyncDebouncer.java | 0 .../main/java/ghidra/async/AsyncFence.java | 6 +- .../main/java/ghidra/async/AsyncLazyMap.java | 0 .../java/ghidra/async/AsyncLazyValue.java | 0 .../java/ghidra/async/AsyncPairingQueue.java | 0 .../java/ghidra/async/AsyncReference.java | 0 .../main/java/ghidra/async/AsyncTimer.java | 0 .../main/java/ghidra/async/AsyncUtils.java | 0 .../java/ghidra/async/DisposedException.java | 0 .../ghidra/async/SwingExecutorService.java | 0 .../java/ghidra/util/StringUtilities.java | 2 +- .../java/ghidra/async/AsyncLaziesTest.java | 0 .../java/ghidra/async/AsyncReferenceTest.java | 0 .../java/ghidra/async/AsyncTestUtils.java | 0 .../java/ghidra/async/AsyncTimerTest.java | 0 .../Test/DebuggerIntegrationTest/build.gradle | 1 - Ghidra/Test/IntegrationTest/build.gradle | 1 - 32 files changed, 43 insertions(+), 131 deletions(-) delete mode 100644 Ghidra/Debug/Framework-AsyncComm/Module.manifest delete mode 100644 Ghidra/Debug/Framework-AsyncComm/README.md delete mode 100644 Ghidra/Debug/Framework-AsyncComm/build.gradle delete mode 100644 Ghidra/Debug/Framework-AsyncComm/certification.manifest delete mode 100644 Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncConfigFieldCodec.java rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncDebouncer.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncFence.java (98%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncLazyMap.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncLazyValue.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncPairingQueue.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncReference.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncTimer.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/AsyncUtils.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/DisposedException.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/main/java/ghidra/async/SwingExecutorService.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/test/java/ghidra/async/AsyncLaziesTest.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/test/java/ghidra/async/AsyncReferenceTest.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/test/java/ghidra/async/AsyncTestUtils.java (100%) rename Ghidra/{Debug/Framework-AsyncComm => Framework/Generic}/src/test/java/ghidra/async/AsyncTimerTest.java (100%) diff --git a/Ghidra/Debug/Debugger-isf/build.gradle b/Ghidra/Debug/Debugger-isf/build.gradle index f6c8464405..2db94ed67e 100644 --- a/Ghidra/Debug/Debugger-isf/build.gradle +++ b/Ghidra/Debug/Debugger-isf/build.gradle @@ -24,8 +24,5 @@ apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-isf' dependencies { - api project(':Framework-AsyncComm') api project(':ProposedUtils') - - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') } diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle index ef2005ddb3..4fa3b9a539 100644 --- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle +++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle @@ -26,13 +26,13 @@ apply plugin: 'eclipse' eclipse.project.name = 'Debug Debugger-rmi-trace' dependencies { + api project(':ProposedUtils') api project(':Pty') api project(':Debugger') api project(':Debugger-api') testImplementation project(path: ':Generic', configuration: 'testArtifacts') testImplementation project(path: ':Debugger', configuration: 'testArtifacts') - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts') } diff --git a/Ghidra/Debug/Debugger/build.gradle b/Ghidra/Debug/Debugger/build.gradle index ef3f92f130..5bb9a15cbc 100644 --- a/Ghidra/Debug/Debugger/build.gradle +++ b/Ghidra/Debug/Debugger/build.gradle @@ -24,7 +24,6 @@ eclipse.project.name = 'Debug Debugger' dependencies { api project(':Debugger-api') - api project(':Framework-AsyncComm') api project(':Framework-TraceModeling') api project(':Base') api project(':ByteViewer') @@ -35,7 +34,6 @@ dependencies { testImplementation project(path: ':Generic', configuration: 'testArtifacts') testImplementation project(path: ':Base', configuration: 'testArtifacts') - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts') testImplementation project(path: ':Project', configuration: 'testArtifacts') } diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/tracemgr/DebuggerTraceManagerServicePlugin.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/tracemgr/DebuggerTraceManagerServicePlugin.java index 908e2832d0..74ba2f6b70 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/tracemgr/DebuggerTraceManagerServicePlugin.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/service/tracemgr/DebuggerTraceManagerServicePlugin.java @@ -38,7 +38,6 @@ import ghidra.app.plugin.core.debug.gui.control.TargetActionTask; import ghidra.app.services.*; import ghidra.app.services.DebuggerControlService.ControlModeChangeListener; import ghidra.async.*; -import ghidra.async.AsyncConfigFieldCodec.BooleanAsyncConfigFieldCodec; import ghidra.debug.api.control.ControlMode; import ghidra.debug.api.platform.DebuggerPlatformMapper; import ghidra.debug.api.target.Target; @@ -51,6 +50,7 @@ import ghidra.framework.main.DataTreeDialog; import ghidra.framework.model.*; import ghidra.framework.options.SaveState; import ghidra.framework.plugintool.*; +import ghidra.framework.plugintool.AutoConfigState.BooleanAsyncConfigFieldCodec; import ghidra.framework.plugintool.annotation.AutoConfigStateField; import ghidra.framework.plugintool.annotation.AutoServiceConsumed; import ghidra.framework.plugintool.util.PluginStatus; diff --git a/Ghidra/Debug/Framework-AsyncComm/Module.manifest b/Ghidra/Debug/Framework-AsyncComm/Module.manifest deleted file mode 100644 index 89174007c9..0000000000 --- a/Ghidra/Debug/Framework-AsyncComm/Module.manifest +++ /dev/null @@ -1 +0,0 @@ -MODULE FILE LICENSE: lib/protobuf-java-3.21.8.jar BSD-3-GOOGLE diff --git a/Ghidra/Debug/Framework-AsyncComm/README.md b/Ghidra/Debug/Framework-AsyncComm/README.md deleted file mode 100644 index 9249390a40..0000000000 --- a/Ghidra/Debug/Framework-AsyncComm/README.md +++ /dev/null @@ -1 +0,0 @@ -# Framework-AsyncComm diff --git a/Ghidra/Debug/Framework-AsyncComm/build.gradle b/Ghidra/Debug/Framework-AsyncComm/build.gradle deleted file mode 100644 index a84e156808..0000000000 --- a/Ghidra/Debug/Framework-AsyncComm/build.gradle +++ /dev/null @@ -1,57 +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. - */ -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 plugin: 'eclipse' -eclipse.project.name = 'Debug Framework-AsyncComm' - -dependencies { - api 'com.google.protobuf:protobuf-java:3.21.8' - api project(':Generic') - api project(':Graph') - api project(':ProposedUtils') -} - -task genTestPy(type: JavaExec) { - ext.outDir = "build/testpy" - outputs.dir(outDir) - classpath(sourceSets["main"].runtimeClasspath) - classpath(sourceSets["test"].runtimeClasspath) - mainClass = "ghidra.comm.util.pyexport.GeneratePython" - args("ghidra.comm.tests.packet", outDir) - doLast { - println("NOTE: It is normal to see some export errors, since some classes are intentionally broken to test error detection") - } -} - -task combineTestPySources(type: Copy) { - from(genTestPy) - from("src/main/py") - from("src/test/py") - into("build/fulltestpy") -} - -// NOTE: This is defunct, and I don't care -task pyTest(type: Exec) { - inputs.files(combineTestPySources) - - commandLine("python") - workingDir(inputs.files.singleFile) - args("-m", "ghidra.comm.test_packet") -} diff --git a/Ghidra/Debug/Framework-AsyncComm/certification.manifest b/Ghidra/Debug/Framework-AsyncComm/certification.manifest deleted file mode 100644 index dc139ab07c..0000000000 --- a/Ghidra/Debug/Framework-AsyncComm/certification.manifest +++ /dev/null @@ -1,4 +0,0 @@ -##VERSION: 2.0 -##MODULE IP: BSD-3-GOOGLE -Module.manifest||GHIDRA||||END| -README.md||GHIDRA||||END| diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncConfigFieldCodec.java b/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncConfigFieldCodec.java deleted file mode 100644 index 79b76cb699..0000000000 --- a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncConfigFieldCodec.java +++ /dev/null @@ -1,52 +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. - */ -package ghidra.async; - -import ghidra.framework.options.SaveState; -import ghidra.framework.plugintool.AutoConfigState.BooleanConfigFieldCodec; -import ghidra.framework.plugintool.AutoConfigState.ConfigFieldCodec; - -public interface AsyncConfigFieldCodec { - static class GenericAsyncConfigFieldCodec - implements ConfigFieldCodec> { - private ConfigFieldCodec codec; - - public GenericAsyncConfigFieldCodec(ConfigFieldCodec codec) { - this.codec = codec; - } - - @Override - public AsyncReference read(SaveState state, String name, - AsyncReference current) { - current.set(codec.read(state, name, current.get()), null); - return current; - } - - @Override - public void write(SaveState state, String name, AsyncReference value) { - codec.write(state, name, value.get()); - } - } - - static class BooleanAsyncConfigFieldCodec - extends GenericAsyncConfigFieldCodec { - public BooleanAsyncConfigFieldCodec() { - super(BooleanConfigFieldCodec.INSTANCE); - } - } - - // TODO: Other types as needed -} diff --git a/Ghidra/Debug/Framework-TraceModeling/build.gradle b/Ghidra/Debug/Framework-TraceModeling/build.gradle index a65ef6d0ce..88ac65a4d6 100644 --- a/Ghidra/Debug/Framework-TraceModeling/build.gradle +++ b/Ghidra/Debug/Framework-TraceModeling/build.gradle @@ -26,7 +26,6 @@ dependencies { api project(':SoftwareModeling') api project(':Emulation') api project(':ProposedUtils') - api project(':Framework-AsyncComm') // for AsyncReference annotationProcessor project(':AnnotationValidator') testImplementation project(':Base') diff --git a/Ghidra/Debug/ProposedUtils/Module.manifest b/Ghidra/Debug/ProposedUtils/Module.manifest index e69de29bb2..89174007c9 100644 --- a/Ghidra/Debug/ProposedUtils/Module.manifest +++ b/Ghidra/Debug/ProposedUtils/Module.manifest @@ -0,0 +1 @@ +MODULE FILE LICENSE: lib/protobuf-java-3.21.8.jar BSD-3-GOOGLE diff --git a/Ghidra/Debug/ProposedUtils/build.gradle b/Ghidra/Debug/ProposedUtils/build.gradle index 3a9482f04f..f71b8c51a3 100644 --- a/Ghidra/Debug/ProposedUtils/build.gradle +++ b/Ghidra/Debug/ProposedUtils/build.gradle @@ -24,6 +24,7 @@ eclipse.project.name = 'Debug ProposedUtils' // val autoServiceVersion = "1.0-rc5" dependencies { + api 'com.google.protobuf:protobuf-java:3.21.8' api project(':DB') api project(':Project') api project(':SoftwareModeling') diff --git a/Ghidra/Debug/ProposedUtils/certification.manifest b/Ghidra/Debug/ProposedUtils/certification.manifest index 6c405ffaf5..e0ae8c11f6 100644 --- a/Ghidra/Debug/ProposedUtils/certification.manifest +++ b/Ghidra/Debug/ProposedUtils/certification.manifest @@ -1,4 +1,5 @@ ##VERSION: 2.0 +##MODULE IP: BSD-3-GOOGLE Module.manifest||GHIDRA||||END| README.md||GHIDRA||||END| build.gradle||GHIDRA||||END| diff --git a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java index 424d5d09c6..0566f28c92 100644 --- a/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java +++ b/Ghidra/Debug/ProposedUtils/src/main/java/ghidra/framework/plugintool/AutoConfigState.java @@ -4,9 +4,9 @@ * 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. @@ -24,6 +24,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; +import ghidra.async.AsyncReference; import ghidra.framework.options.SaveState; import ghidra.framework.plugintool.annotation.AutoConfigStateField; import ghidra.framework.plugintool.annotation.AutoConfigStateField.DefaultConfigFieldCodec; @@ -372,6 +373,36 @@ public interface AutoConfigState { } } + static class GenericAsyncConfigFieldCodec + implements ConfigFieldCodec> { + private ConfigFieldCodec codec; + + public GenericAsyncConfigFieldCodec(ConfigFieldCodec codec) { + this.codec = codec; + } + + @Override + public AsyncReference read(SaveState state, String name, + AsyncReference current) { + current.set(codec.read(state, name, current.get()), null); + return current; + } + + @Override + public void write(SaveState state, String name, AsyncReference value) { + codec.write(state, name, value.get()); + } + } + + static class BooleanAsyncConfigFieldCodec + extends GenericAsyncConfigFieldCodec { + public BooleanAsyncConfigFieldCodec() { + super(BooleanConfigFieldCodec.INSTANCE); + } + } + + // TODO: Other async types as needed + class ConfigStateField { private static final Map, ConfigFieldCodec> CODECS_BY_TYPE = new HashMap<>(); private static final Map, ConfigFieldCodec> CODECS_BY_SPEC = new HashMap<>(); diff --git a/Ghidra/Debug/TaintAnalysis/build.gradle b/Ghidra/Debug/TaintAnalysis/build.gradle index f254947c57..19bb73116f 100644 --- a/Ghidra/Debug/TaintAnalysis/build.gradle +++ b/Ghidra/Debug/TaintAnalysis/build.gradle @@ -28,7 +28,6 @@ dependencies { // Oof. Apparently, this doesn't work transitively.... testImplementation project(path: ':Generic', configuration: 'testArtifacts') testImplementation project(path: ':ProposedUtils', configuration: 'testArtifacts') - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts') testImplementation project(path: ':Debugger', configuration: 'testArtifacts') testImplementation project(path: ':SystemEmulation', configuration: 'testArtifacts') diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncDebouncer.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncDebouncer.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncDebouncer.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncDebouncer.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncFence.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncFence.java similarity index 98% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncFence.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncFence.java index 40fa29f47f..65dbaf3849 100644 --- a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncFence.java +++ b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncFence.java @@ -26,13 +26,15 @@ import java.util.stream.Collectors; /** * A fence that completes when all participating futures complete * + *

* This provides an alternative shorthand for Java's * {@link CompletableFuture#thenAcceptBoth(CompletionStage, BiConsumer)} or * {@link CompletableFuture#allOf(CompletableFuture...)}. * + *

* Example: * - *

+ * 
{@code
  * public CompletableFuture processAll(List list) {
  * 	AsyncFence fence = new AsyncFence();
  * 	for (int entry : list) {
@@ -40,7 +42,7 @@ import java.util.stream.Collectors;
  * 	}
  * 	return fence.ready();
  * }
- * 
+ * }
*/ public class AsyncFence { private final ArrayList> participants = new ArrayList<>(); diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncLazyMap.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncLazyMap.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncLazyMap.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncLazyMap.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncLazyValue.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncLazyValue.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncLazyValue.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncLazyValue.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncPairingQueue.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncPairingQueue.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncPairingQueue.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncPairingQueue.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncReference.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncReference.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncReference.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncReference.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncTimer.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncTimer.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncTimer.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncTimer.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncUtils.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncUtils.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/AsyncUtils.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/AsyncUtils.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/DisposedException.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/DisposedException.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/DisposedException.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/DisposedException.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/SwingExecutorService.java b/Ghidra/Framework/Generic/src/main/java/ghidra/async/SwingExecutorService.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/main/java/ghidra/async/SwingExecutorService.java rename to Ghidra/Framework/Generic/src/main/java/ghidra/async/SwingExecutorService.java diff --git a/Ghidra/Framework/Generic/src/main/java/ghidra/util/StringUtilities.java b/Ghidra/Framework/Generic/src/main/java/ghidra/util/StringUtilities.java index 01ea5638ac..a1fff6716c 100644 --- a/Ghidra/Framework/Generic/src/main/java/ghidra/util/StringUtilities.java +++ b/Ghidra/Framework/Generic/src/main/java/ghidra/util/StringUtilities.java @@ -1210,7 +1210,7 @@ public class StringUtilities { /** * Removes any whitespace from start or end of string, then replaces any non-printable - * character (< 32) or spaces (32) with an underscore. + * character (< 32) or spaces (32) with an underscore. * @param s the string to adjust * @return a new trimmed string with underscores replacing any non-printable characters. */ diff --git a/Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncLaziesTest.java b/Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncLaziesTest.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncLaziesTest.java rename to Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncLaziesTest.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncReferenceTest.java b/Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncReferenceTest.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncReferenceTest.java rename to Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncReferenceTest.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncTestUtils.java b/Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncTestUtils.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncTestUtils.java rename to Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncTestUtils.java diff --git a/Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncTimerTest.java b/Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncTimerTest.java similarity index 100% rename from Ghidra/Debug/Framework-AsyncComm/src/test/java/ghidra/async/AsyncTimerTest.java rename to Ghidra/Framework/Generic/src/test/java/ghidra/async/AsyncTimerTest.java diff --git a/Ghidra/Test/DebuggerIntegrationTest/build.gradle b/Ghidra/Test/DebuggerIntegrationTest/build.gradle index 718cfe16d7..5ea87b4572 100644 --- a/Ghidra/Test/DebuggerIntegrationTest/build.gradle +++ b/Ghidra/Test/DebuggerIntegrationTest/build.gradle @@ -67,7 +67,6 @@ dependencies { testImplementation project(path: ':ProposedUtils', configuration: 'testArtifacts') testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts') - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Debugger', configuration: 'testArtifacts') testImplementation project(path: ':Debugger-rmi-trace', configuration: 'testArtifacts') } diff --git a/Ghidra/Test/IntegrationTest/build.gradle b/Ghidra/Test/IntegrationTest/build.gradle index 8aa416f5c8..9fb9a347e0 100644 --- a/Ghidra/Test/IntegrationTest/build.gradle +++ b/Ghidra/Test/IntegrationTest/build.gradle @@ -65,7 +65,6 @@ dependencies { testImplementation project(path: ':GnuDemangler', configuration: 'testArtifacts') testImplementation project(path: ':Framework-TraceModeling', configuration: 'testArtifacts') - testImplementation project(path: ':Framework-AsyncComm', configuration: 'testArtifacts') testImplementation project(path: ':Debugger', configuration: 'testArtifacts') }