diff options
author | aclement <aclement> | 2009-02-12 16:39:27 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-02-12 16:39:27 +0000 |
commit | 5456d4c5c0d17dc007751df618156c9a414273f0 (patch) | |
tree | 6f6c607cca26ce10d565097b6004bcfcd16a9b55 /ajde.core | |
parent | f191842def35c70291fdb11dc1165878998f3c23 (diff) | |
download | aspectj-5456d4c5c0d17dc007751df618156c9a414273f0.tar.gz aspectj-5456d4c5c0d17dc007751df618156c9a414273f0.zip |
124460: aop.xml used for compilation: AJDT interface support
Diffstat (limited to 'ajde.core')
-rw-r--r-- | ajde.core/src/org/aspectj/ajde/core/ICompilerConfiguration.java | 5 | ||||
-rw-r--r-- | ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java | 18 |
2 files changed, 21 insertions, 2 deletions
diff --git a/ajde.core/src/org/aspectj/ajde/core/ICompilerConfiguration.java b/ajde.core/src/org/aspectj/ajde/core/ICompilerConfiguration.java index 9438d5cff..9696d3c0c 100644 --- a/ajde.core/src/org/aspectj/ajde/core/ICompilerConfiguration.java +++ b/ajde.core/src/org/aspectj/ajde/core/ICompilerConfiguration.java @@ -46,6 +46,11 @@ public interface ICompilerConfiguration extends CompilerConfigurationChangeFlags public List /* String */getProjectSourceFiles(); /** + * @return a list of those files that should be used to configure a build + */ + public List /* String */getProjectXmlConfigFiles(); + + /** * Return a subset of those files we'd get on getProjectSourceFiles() - the subset that have changed since the last build. If * someone else has already worked out what needs rebuilding, we don't need to do it again by checking all of the * projectSourceFiles(). Returning an empty list means nothing has changed, returning null means you have no idea what changed diff --git a/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java b/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java index 3da5e1e77..774dd7b33 100644 --- a/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java +++ b/ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java @@ -77,7 +77,8 @@ public class AjdeCoreBuildManager { // If an incremental build is requested, check that we can if (!fullBuild) { AjState existingState = IncrementalStateManager.retrieveStateFor(compiler.getId()); - if (existingState == null || existingState.getBuildConfig()==null || ajBuildManager.getState().getBuildConfig() == null) { + if (existingState == null || existingState.getBuildConfig() == null + || ajBuildManager.getState().getBuildConfig() == null) { // No existing state so we must do a full build fullBuild = true; } else { @@ -220,7 +221,20 @@ public class AjdeCoreBuildManager { if (l == null) { return null; } - args = (String[]) l.toArray(new String[l.size()]); + List xmlfiles = compilerConfig.getProjectXmlConfigFiles(); + if (xmlfiles != null && !xmlfiles.isEmpty()) { + args = new String[l.size() + xmlfiles.size()]; + // TODO speedup + int p = 0; + for (int i = 0; i < l.size(); i++) { + args[p++] = (String) l.get(i); + } + for (int i = 0; i < xmlfiles.size(); i++) { + args[p++] = (String) xmlfiles.get(i); + } + } else { + args = (String[]) l.toArray(new String[l.size()]); + } } BuildArgParser parser = new BuildArgParser(handler); |