diff --git a/src/etc/testcases/taskdefs/rmic/rmic.xml b/src/etc/testcases/taskdefs/rmic/rmic.xml
index d5c25dd14..634229a06 100644
--- a/src/etc/testcases/taskdefs/rmic/rmic.xml
+++ b/src/etc/testcases/taskdefs/rmic/rmic.xml
@@ -37,26 +37,71 @@
-
-
- Not found : ${file.to.find}
+ Not found : ${build.dir}/@{file}
+
+
+
+
-
+
+
+
+ Expected to be missing : ${build.dir}/@{file}
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -75,6 +120,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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 980f72425..22b48a42d 100644
--- a/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2004 The Apache Software Foundation
+ * Copyright 2001-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -44,6 +44,9 @@ public abstract class DefaultRmicAdapter implements RmicAdapter {
public static final String RMI_SKEL_SUFFIX = "_Skel";
/** suffix denoting a tie file */
public static final String RMI_TIE_SUFFIX = "_Tie";
+ public static final String STUB_COMPAT = "-vcompat";
+ public static final String STUB_1_1 = "-v1.1";
+ public static final String STUB_1_2 = "-v1.2";
/**
* Default constructor
@@ -186,16 +189,24 @@ public abstract class DefaultRmicAdapter implements RmicAdapter {
cmd.createArgument().setValue("-classpath");
cmd.createArgument().setPath(classpath);
+ //handle the many different stub options.
String stubVersion = attributes.getStubVersion();
+ //default is compatibility
+ String stubOption=STUB_COMPAT;
if (null != stubVersion) {
if ("1.1".equals(stubVersion)) {
- cmd.createArgument().setValue("-v1.1");
+ stubOption = STUB_1_1;
} else if ("1.2".equals(stubVersion)) {
- cmd.createArgument().setValue("-v1.2");
+ stubOption = STUB_1_2;
+ } else if ("compat".equals(stubVersion)) {
+ stubOption = STUB_COMPAT;
} else {
- cmd.createArgument().setValue("-vcompat");
+ //anything else
+ attributes.log("Unknown stub option "+stubVersion);
+ //do nothing with the value? or go -v+stubVersion??
}
}
+ 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 7a368f917..1fdf2293e 100644
--- a/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
+++ b/src/testcases/org/apache/tools/ant/taskdefs/RmicAdvancedTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2004 The Apache Software Foundation
+ * Copyright 2004-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -92,7 +92,7 @@ public class RmicAdvancedTest extends BuildFileTest {
/**
* test the forking compiler
*/
- public void NotestForkingAntClasspath() throws Exception {
+ public void testForkingAntClasspath() throws Exception {
executeTarget("testForkingAntClasspath");
}
@@ -154,7 +154,7 @@ public class RmicAdvancedTest extends BuildFileTest {
/**
- * test the forking compiler
+ *
*/
public void testMagicPropertyIsEmptyString() throws Exception {
executeTarget("testMagicPropertyIsEmptyString");
@@ -168,6 +168,32 @@ public class RmicAdvancedTest extends BuildFileTest {
}
+ /**
+ * test that version 1.1 stubs are good
+ * @throws Exception
+ */
+ public void testVersion11() throws Exception {
+ executeTarget("testVersion11");
+ }
+
+ /**
+ * test that version 1.2 stubs are good
+ *
+ * @throws Exception
+ */
+ public void testVersion12() throws Exception {
+ executeTarget("testVersion12");
+ }
+
+ /**
+ * test that version compat stubs are good
+ *
+ * @throws Exception
+ */
+ public void testVersionCompat() throws Exception {
+ executeTarget("testVersionCompat");
+ }
+
/**
* this little bunny verifies that we can load stuff, and that
* a failure to execute is turned into a fault