From 1602d79a829c060c37d0e9627909a8f3638bfd79 Mon Sep 17 00:00:00 2001 From: Alexander Kriegisch Date: Fri, 16 Apr 2021 12:22:46 +0700 Subject: [PATCH] Remove managing obsolete folder lib/asm The new string AjcTestCase.CLASSPATH_ASM_RENAMED dynamically determines the 'asm-renamed' location from the classpath, system property 'java.class.path'. Signed-off-by: Alexander Kriegisch --- .gitignore | 1 - lib/pom.xml | 26 ------- .../org/aspectj/tools/ajc/AjcTestCase.java | 68 +++++++------------ pom.xml | 1 - 4 files changed, 25 insertions(+), 71 deletions(-) diff --git a/.gitignore b/.gitignore index f279fa9bc..002bcb352 100644 --- a/.gitignore +++ b/.gitignore @@ -33,7 +33,6 @@ bin/ # Downloaded libraries used during tests /lib/ant/ -/lib/asm/ /lib/commons/ /lib/docbook/ /lib/jarjar/ diff --git a/lib/pom.xml b/lib/pom.xml index 7685058a1..1e624c460 100644 --- a/lib/pom.xml +++ b/lib/pom.xml @@ -220,27 +220,6 @@ jdtcore-for-aspectj-src.zip - - - org.aspectj - asm-renamed - ${asm.version} - jar - false - asm - asm-${asm.version}.renamed.jar - - - - org.aspectj - asm-renamed - ${asm.version} - java-source - sources - false - asm - asm-${asm.version}.renamed-src.zip - com.googlecode.jarjar @@ -648,7 +627,6 @@ . ant/** - asm/** commons/** docbook/** jarjar/** @@ -671,10 +649,6 @@ - - org.aspectj - asm-renamed - org.aspectj org.eclipse.jdt.core diff --git a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java index c326c0a69..e13f9e224 100644 --- a/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java +++ b/org.aspectj.ajdt.core/src/test/java/org/aspectj/tools/ajc/AjcTestCase.java @@ -25,6 +25,7 @@ import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; @@ -62,52 +63,33 @@ public abstract class AjcTestCase extends TestCase { */ protected Ajc ajc; + public static final String CLASSPATH_ASM_RENAMED = + Arrays.stream(System.getProperty("java.class.path") + .split(File.pathSeparator)) + .filter(path -> path.contains("asm-renamed")) + .findFirst() + .orElseThrow(() -> new RuntimeException("library 'asm-renamed' not found on classpath")); + // see Ajc and AntSpec public static final String DEFAULT_CLASSPATH_ENTRIES = Ajc.outputFolders("bridge","util","loadtime","weaver","asm","testing-client","runtime","org.aspectj.matcher") - // File.pathSeparator + ".." + File.separator + "bridge" + File.separator - // + "bin" + File.pathSeparator + ".." + File.separator + "util" + File.separator + "bin" + File.pathSeparator + ".." - // + File.separator + "loadtime" + File.separator + "bin" + File.pathSeparator + ".." + File.separator + "weaver" - // + File.separator + "bin" + File.pathSeparator + ".." + File.separator + "weaver5" + File.separator + "bin" - // + File.pathSeparator + ".." + File.separator + "asm" + File.separator + "bin" + File.pathSeparator + ".." - // + File.separator + "testing-client" + File.separator + "bin" + File.pathSeparator + ".." + File.separator + "runtime" - // + File.separator + "bin" + File.pathSeparator + ".." + File.separator + "aspectj5rt" + File.separator + "bin" - // + File.pathSeparator + ".." + File.separator + "org.aspectj.matcher" + File.separator + "bin" - + File.pathSeparator - + ".." + File.separator + "lib" + File.separator + "junit" + File.separator - + "junit.jar" - + File.pathSeparator - + ".." - + File.separator - + "lib" - + File.separator - + "bcel" - + File.separator - + "bcel.jar" - + File.pathSeparator - + ".." - + File.separator - + "lib" - + File.separator - + "bcel" - + File.separator - + "bcel-verifier.jar" - - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "asm" + File.separator + "asm-9.1.renamed.jar" - - // When the build machine executes the tests, it is using code built into jars rather than code build into - // bin directories. This means for the necessary types to be found we have to put these jars on the classpath: - + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "bridge.jar" - + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "util.jar" - + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator - + "org.aspectj.matcher.jar" + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" - + File.separator + "loadtime.jar" + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" - + File.separator + "weaver.jar" + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" - + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" - + File.separator + "asm.jar" + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" - + File.separator + "testing-client.jar" - // hmmm, this next one should perhaps point to an aj-build jar... - + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" + File.separator + "aspectjrt.jar"; + + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "junit" + File.separator + "junit.jar" + + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "bcel" + File.separator + "bcel.jar" + + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "bcel" + File.separator + "bcel-verifier.jar" + + File.pathSeparator + CLASSPATH_ASM_RENAMED + // When the build machine executes the tests, it is using code built into jars rather than code build into + // target/classes directories. This means for the necessary types to be found we have to put these jars on the classpath: + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "bridge.jar" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "util.jar" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "org.aspectj.matcher.jar" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "loadtime.jar" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "weaver.jar" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + + File.pathSeparator + ".." + File.separator + "aj-build" + File.separator + "jars" + File.separator + "asm.jar" + + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" + File.separator + "testing-client.jar" + // hmmm, this next one should perhaps point to an aj-build jar... + + File.pathSeparator + ".." + File.separator + "lib" + File.separator + "test" + File.separator + "aspectjrt.jar" + ; /* * Save reference to real stderr and stdout before starting redirection diff --git a/pom.xml b/pom.xml index 5f958f35e..61f8d90ad 100644 --- a/pom.xml +++ b/pom.xml @@ -300,7 +300,6 @@ ${lib.directory}/ant/bin/ant.bat ${lib.directory}/ant/lib/junit.jar - ${lib.directory}/asm/asm-${asm.version}.renamed.jar ${lib.directory}/commons/commons.jar ${lib.directory}/docbook/docbook-dtd/docbookx.dtd ${lib.directory}/docbook/docbook-xsl/html/chunk.xsl -- 2.39.5