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