<destFileName>jdtcore-for-aspectj-src.zip</destFileName>
</artifactItem>
- <artifactItem>
- <!-- Available from GitHub Packages (needs special repository declaration) -->
- <groupId>org.aspectj</groupId>
- <artifactId>asm-renamed</artifactId>
- <version>${asm.version}</version>
- <type>jar</type>
- <overWrite>false</overWrite>
- <outputDirectory>asm</outputDirectory>
- <destFileName>asm-${asm.version}.renamed.jar</destFileName>
- </artifactItem>
- <artifactItem>
- <!-- Available from GitHub Packages (needs special repository declaration) -->
- <groupId>org.aspectj</groupId>
- <artifactId>asm-renamed</artifactId>
- <version>${asm.version}</version>
- <type>java-source</type>
- <classifier>sources</classifier>
- <overWrite>false</overWrite>
- <outputDirectory>asm</outputDirectory>
- <destFileName>asm-${asm.version}.renamed-src.zip</destFileName>
- </artifactItem>
<artifactItem>
<!-- Binary is identical to committed version in branch 'jdtcore-new' -->
<groupId>com.googlecode.jarjar</groupId>
<directory>.</directory>
<includes>
<include>ant/**</include>
- <include>asm/**</include>
<include>commons/**</include>
<include>docbook/**</include>
<include>jarjar/**</include>
</build>
<dependencies>
- <dependency>
- <groupId>org.aspectj</groupId>
- <artifactId>asm-renamed</artifactId>
- </dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>org.eclipse.jdt.core</artifactId>
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;
*/
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