From 99abfd7bf541b3f80a90245ed8d16a2fc023272c Mon Sep 17 00:00:00 2001 From: Steve Loughran Date: Tue, 22 Aug 2006 23:02:51 +0000 Subject: [PATCH] Fix IDL/IIOP handling of rmic-with-backwards compat; added tests for everything working. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@433792 13f79535-47bb-0310-9956-ffa450edef68 --- src/etc/testcases/taskdefs/rmic/rmic.xml | 11 +++++++++++ .../ant/taskdefs/rmic/DefaultRmicAdapter.java | 17 +++++++++++++---- .../tools/ant/taskdefs/RmicAdvancedTest.java | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/etc/testcases/taskdefs/rmic/rmic.xml b/src/etc/testcases/taskdefs/rmic/rmic.xml index 746ad9813..25b5a971e 100644 --- a/src/etc/testcases/taskdefs/rmic/rmic.xml +++ b/src/etc/testcases/taskdefs/rmic/rmic.xml @@ -263,4 +263,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java b/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java index c06d591e0..b9aee9bf1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java @@ -192,7 +192,7 @@ public abstract class DefaultRmicAdapter implements RmicAdapter { //handle the many different stub options. String stubVersion = attributes.getStubVersion(); //default is compatibility - String stubOption=STUB_COMPAT; + String stubOption = null; if (null != stubVersion) { if ("1.1".equals(stubVersion)) { stubOption = STUB_1_1; @@ -202,12 +202,21 @@ public abstract class DefaultRmicAdapter implements RmicAdapter { stubOption = STUB_COMPAT; } else { //anything else - attributes.log("Unknown stub option "+stubVersion); + attributes.log("Unknown stub option " + stubVersion); //do nothing with the value? or go -v+stubVersion?? } } - cmd.createArgument().setValue(stubOption); - + //for java1.5+, we generate compatible stubs, that is, unless + //the caller asked for IDL or IIOP support. + if (stubOption == null && + !attributes.getIiop() && + !attributes.getIdl()) { + stubOption = STUB_COMPAT; + } + if(stubOption!=null) { + //set the non-null stubOption + cmd.createArgument().setValue(stubOption); + } if (null != attributes.getSourceBase()) { cmd.createArgument().setValue("-keepgenerated"); } diff --git a/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java b/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java index d8da7d405..3490d6677 100644 --- a/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java +++ b/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java @@ -212,6 +212,24 @@ public class RmicAdvancedTest extends BuildFileTest { executeTarget("testXnewForked"); } + /** + * test that verifies that IDL compiles. + * + * @throws Exception + */ + public void testIDL() throws Exception { + executeTarget("testIDL"); + } + + /** + * test that verifies that IIOP compiles. + * + * @throws Exception + */ + public void testIIOP() throws Exception { + executeTarget("testIIOP"); + } + /** * this little bunny verifies that we can load stuff, and that * a failure to execute is turned into a fault