diff options
author | aclement <aclement> | 2004-09-06 15:13:46 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-09-06 15:13:46 +0000 |
commit | d1551bda9b14c6c2035e0c8df6f09bf4634041de (patch) | |
tree | 1d2951b60fc089430b704ee3689e4c659b582dee /ajde | |
parent | 27d204cf9f57a0cc06f4d7c5800c93eb55edc02a (diff) | |
download | aspectj-d1551bda9b14c6c2035e0c8df6f09bf4634041de.tar.gz aspectj-d1551bda9b14c6c2035e0c8df6f09bf4634041de.zip |
Part of fix for AJDT bug 72671
Bootclasspath specification for compiling is not possible
Diffstat (limited to 'ajde')
-rw-r--r-- | ajde/src/org/aspectj/ajde/internal/CompilerAdapter.java | 29 |
1 files changed, 26 insertions, 3 deletions
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 { * <ul> * <li>New list entries are added if not duplicates in, * for classpath, aspectpath, injars, inpath and sourceroots</li> - * <li>New bootclasspath entries are ignored XXX</li> * <li>Set only one new entry for output dir or output jar * only if there is no output dir/jar entry in the config</li> * </ul> @@ -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(); |