瀏覽代碼

support for messageHolder attribute even when forking (see corresponding change in ajc.Main)

tags/POST_MEMORY_CHANGES
acolyer 18 年之前
父節點
當前提交
3ea3c39aec
共有 1 個檔案被更改,包括 7 行新增5 行删除
  1. 7
    5
      taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java

+ 7
- 5
taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java 查看文件

@@ -1320,10 +1320,6 @@ public class AjcTask extends MatchingTask {
* or if failonerror and there were compile errors.
*/
protected void executeInOtherVM(String[] args) {
if (null != messageHolder) {
this.logger.warning("message holder ignored when forking: "
+ messageHolder.getClass().getName());
}
javaCmd.setClassname(org.aspectj.tools.ajc.Main.class.getName());
final Path vmClasspath = javaCmd.createClasspath(getProject());
@@ -1358,14 +1354,20 @@ public class AjcTask extends MatchingTask {
File tempFile = null;
int numArgs = args.length;
args = GuardedCommand.limitTo(args, MAX_COMMANDLINE, getLocation());

if (args.length != numArgs) {
tempFile = new File(args[1]);
}
try {
boolean setMessageHolderOnForking = (this.messageHolder != null);
String[] javaArgs = javaCmd.getCommandline();
String[] both = new String[javaArgs.length + args.length];
String[] both = new String[javaArgs.length + args.length + (setMessageHolderOnForking ? 2 : 0)];
System.arraycopy(javaArgs,0,both,0,javaArgs.length);
System.arraycopy(args,0,both,javaArgs.length,args.length);
if (setMessageHolderOnForking) {
both[both.length - 2] = "-messageHolder";
both[both.length - 1] = this.messageHolder.getClass().getName();
}
// try to use javaw instead on windows
if (both[0].endsWith("java.exe")) {
String path = both[0];

Loading…
取消
儲存