antoine     2003/08/28 06:46:33

  Modified:    docs/manual/CoreTasks java.html
               src/etc/testcases/taskdefs java.xml
               src/main/org/apache/tools/ant/taskdefs Java.java
               src/testcases/org/apache/tools/ant/taskdefs JavaTest.java
  Log:
  Set default permissions appropriate to fail the builds when failonerror is
  true (and fork false) and no other permissions were set.
  Suggestion of Steve Loughran.
  
  Revision  Changes    Path
  1.22      +6 -1      ant/docs/manual/CoreTasks/java.html
  
  Index: java.html
  ===================================================================
  RCS file: /home/cvs/ant/docs/manual/CoreTasks/java.html,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- java.html 27 Aug 2003 14:23:16 -0000      1.21
  +++ java.html 28 Aug 2003 13:46:33 -0000      1.22
  @@ -88,7 +88,7 @@
     <tr>
       <td valign="top">failonerror</td>
       <td valign="top">Stop the buildprocess if the command exits with a
  -      returncode other than 0. Default is "false"</td>
  +      returncode other than 0. Default is "false"(see <a 
href="#failonerror">note</a>)</td>
       <td align="center" valign="top">No</td>
     </tr>
     <tr>
  @@ -220,6 +220,11 @@
   <p>When the permission RuntimePermission exitVM has not been granted (or has
   been revoked) the System.exit() call will be intercepted 
   and treated like indicated in <i>failonerror</i>.</p>
  +<p><a name="failonerror"/>
  +If you specify <code>failonerror=&quot;true&quot;</code> and you do not 
specify permissions,
  +a set of default permissions will be added to your java invocation making 
sure that
  +a non zero return code will lead to a <code>BuildException</code>.
  +</p>
   
   <p>Settings will be ignored if fork is enabled.</p>
   
  
  
  
  1.11      +16 -0     ant/src/etc/testcases/taskdefs/java.xml
  
  Index: java.xml
  ===================================================================
  RCS file: /home/cvs/ant/src/etc/testcases/taskdefs/java.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- java.xml  27 Aug 2003 19:12:42 -0000      1.10
  +++ java.xml  28 Aug 2003 13:46:33 -0000      1.11
  @@ -139,7 +139,23 @@
       <echo message="exitcode = ${exitcode}"/>
     </target>
   
  +    <target name="testRunFailWithFailOnError">
  +      <java classname="${app}"
  +        classpath="${tests-classpath.value}"
  +        failonerror="true"
  +        >
  +        <arg value="2"/>
  +      </java>
  +    </target>
   
  +    <target name="testRunSuccessWithFailOnError">
  +      <java classname="${app}"
  +        classpath="${tests-classpath.value}"
  +        failonerror="true"
  +        >
  +        <arg value="0"/>
  +      </java>
  +    </target>
   
     <target name="testSpawn">
       <java classname="${spawnapp}" fork="true" spawn="true" 
classpath="${tests-classpath.value}">
  
  
  
  1.71      +8 -1      ant/src/main/org/apache/tools/ant/taskdefs/Java.java
  
  Index: Java.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Java.java,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- Java.java 27 Aug 2003 14:23:16 -0000      1.70
  +++ Java.java 28 Aug 2003 13:46:33 -0000      1.71
  @@ -97,7 +97,7 @@
       private Long timeout = null;
       private Redirector redirector = new Redirector(this);
       private String resultProperty;
  -    private Permissions perm;
  +    private Permissions perm = null;
       
       private boolean spawn = false;
       private boolean incompatibleWithSpawn = false;
  @@ -108,6 +108,7 @@
        */
       public void execute() throws BuildException {
           File savedDir = dir;
  +        Permissions savedPermissions = perm;
   
           int err = -1;
           try {
  @@ -122,6 +123,7 @@
               maybeSetResultPropertyValue(err);
           } finally {
               dir = savedDir;
  +            perm = savedPermissions;
           }
       }
   
  @@ -179,6 +181,11 @@
                       Project.MSG_WARN);
               }
   
  +            if (perm == null && failOnError == true) {
  +                perm = new Permissions();
  +                log("running " + this.cmdl.getClassname()
  +                    + " with default permissions (exit forbidden)", 
Project.MSG_VERBOSE);
  +            }
               log("Running in same VM " + cmdl.describeJavaCommand(),
                   Project.MSG_VERBOSE);
           }
  
  
  
  1.15      +9 -0      
ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java
  
  Index: JavaTest.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/JavaTest.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- JavaTest.java     27 Aug 2003 14:23:17 -0000      1.14
  +++ JavaTest.java     28 Aug 2003 13:46:33 -0000      1.15
  @@ -196,6 +196,15 @@
            assertEquals("-1",project.getProperty("exitcode"));
        }
   
  +    public void testRunFailWithFailOnError() {
  +        expectBuildExceptionContaining("testRunFailWithFailOnError",
  +            "non zero return code",
  +            "Java returned:");
  +    }
  +
  +    public void testRunSuccessWithFailOnError() {
  +        executeTarget("testRunSuccessWithFailOnError");
  +    }
       public void testSpawn() {
           FileUtils fileutils  = FileUtils.newFileUtils();
           File logFile = fileutils.createTempFile("spawn","log", 
project.getBaseDir());
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to