From: aclement Date: Tue, 8 Nov 2005 11:14:45 +0000 (+0000) Subject: Second patch from 95516 (ant support for -outxml) - patch from Matthew X-Git-Tag: V1_5_0RC1~224 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=481e39cf090c52f7a67956791adc82922ea8bf9f;p=aspectj.git Second patch from 95516 (ant support for -outxml) - patch from Matthew --- diff --git a/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java b/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java index bde409706..aba6faf52 100644 --- a/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java +++ b/ajde/testsrc/org/aspectj/ajde/OutxmlTest.java @@ -70,6 +70,22 @@ public class OutxmlTest extends AjdeTestCase { assertTrue(CUSTOM_AOPXML_NAME + " missing",aopxml.exists()); } + /** + * Aim: Test "-outxml" option produces the correct + * xml entry in outjar file + * + */ + public void testOutxmlToOutjar () { + File outjar = openFile(OUTJAR_NAME); + ideManager.getProjectProperties().setOutJar(outjar.getAbsolutePath()); + assertTrue("Build failed",doSynchronousBuild("outxml-to-outjar.lst")); + assertTrue("Build warnings",ideManager.getCompilationSourceLineTasks().isEmpty()); + + File aopxml = openFile(BIN_DIR + "/" + DEFAULT_AOPXML_NAME); + assertFalse(DEFAULT_AOPXML_NAME + " should not exisit",aopxml.exists()); + assertJarContainsEntry(outjar,DEFAULT_AOPXML_NAME); + } + /** * Aim: Test "-outxmlfile filename" option produces the correct * xml entry in outjar file diff --git a/taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java b/taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java index a64ad2a37..68d95f594 100644 --- a/taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java +++ b/taskdefs/src/org/aspectj/tools/ant/taskdefs/AjcTask.java @@ -618,6 +618,14 @@ public class AjcTask extends MatchingTask { tmpOutjar = null; } + public void setOutxml(boolean outxml) { + cmd.addFlag("-outxml",outxml); + } + + public void setOutxmlfile(String name) { + cmd.addFlagged("-outxmlfile", name); + } + public void setDestdir(File dir) { if (null != outjar) { String e = "specifying both output jar (" @@ -1788,6 +1796,10 @@ public class AjcTask extends MatchingTask { setNoExit(true); } else if ("-outjar".equals(flag)) { setOutjar(new File(in.next())); + } else if ("-outxml".equals(flag)) { + setOutxml(true); + } else if ("-outxmlfile".equals(flag)) { + setOutxmlfile(in.next()); } else if ("-preserveAllLocals".equals(flag)) { setPreserveAllLocals(true); } else if ("-proceedOnError".equals(flag)) { diff --git a/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java b/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java index fcc27eef1..7037fa89a 100644 --- a/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java +++ b/taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java @@ -710,6 +710,31 @@ public class AjcTaskTest extends TestCase { } + public void testOutxml () { + File destDir = getTempDir(); + assertTrue( + "unable to create " + destDir, + destDir.canRead() || destDir.mkdirs()); + AjcTask task = getTask("showweaveinfo.lst",destDir); + task.setOutxml(true); + checkRun(task,null); + File outxmlFile = new File(destDir,"META-INF/aop.xml"); + assertTrue("META-INF/aop.xml missing",outxmlFile.exists()); + } + + public void testOutxmlFile () { + String customName = "custom/aop.xml"; + File destDir = getTempDir(); + assertTrue( + "unable to create " + destDir, + destDir.canRead() || destDir.mkdirs()); + AjcTask task = getTask("showweaveinfo.lst",destDir); + task.setOutxmlfile(customName); + checkRun(task,null); + File outxmlFile = new File(destDir,customName); + assertTrue(customName + " missing",outxmlFile.exists()); + } + protected void runTest( AjcTask task, Class exceptionType,