From d1551bda9b14c6c2035e0c8df6f09bf4634041de Mon Sep 17 00:00:00 2001 From: aclement Date: Mon, 6 Sep 2004 15:13:46 +0000 Subject: Part of fix for AJDT bug 72671 Bootclasspath specification for compiling is not possible --- .../org/aspectj/ajde/internal/CompilerAdapter.java | 29 +++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) (limited to 'ajde/src') diff --git a/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java b/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java index 26cfe8894..b1b761356 100644 --- a/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java +++ b/ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java @@ -495,7 +495,6 @@ public class CompilerAdapter { * @@ -505,7 +504,8 @@ public class CompilerAdapter { */ private void configureProjectOptions( AjBuildConfig config, ProjectPropertiesAdapter properties ) { // XXX no error handling in copying project properties - String propcp = properties.getClasspath(); // XXX omitting bootclasspath... + // Handle regular classpath + String propcp = properties.getClasspath(); if (!LangUtil.isEmpty(propcp)) { StringTokenizer st = new StringTokenizer(propcp, File.pathSeparator); List configClasspath = config.getClasspath(); @@ -524,7 +524,30 @@ public class CompilerAdapter { Ajde.getDefault().logEvent("building with classpath: " + both); } } - + + // Handle boot classpath + propcp = properties.getBootClasspath(); + if (!LangUtil.isEmpty(propcp)) { + StringTokenizer st = new StringTokenizer(propcp, File.pathSeparator); + List configClasspath = config.getBootclasspath(); + ArrayList toAdd = new ArrayList(); + while (st.hasMoreTokens()) { + String entry = st.nextToken(); + if (!configClasspath.contains(entry)) { + toAdd.add(entry); + } + } + if (0 < toAdd.size()) { + ArrayList both = new ArrayList(configClasspath.size() + toAdd.size()); + both.addAll(configClasspath); + both.addAll(toAdd); + config.setBootclasspath(both); + Ajde.getDefault().logEvent("building with boot classpath: " + both); + } + } + + + // set outputdir and outputjar only if both not set if ((null == config.getOutputDir() && (null == config.getOutputJar()))) { String outPath = properties.getOutputPath(); -- cgit v1.2.3