bodewig     2004/10/29 00:35:17

  Modified:    .        build.xml
               src/main/org/apache/tools/ant/taskdefs/compilers
                        DefaultCompilerAdapter.java
  Log:
  Make handling of javac -source easier.  Simply make JDK 1.4.1's
  interface upwards compatible.
  
  Revision  Changes    Path
  1.438     +7 -27     ant/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/ant/build.xml,v
  retrieving revision 1.437
  retrieving revision 1.438
  diff -u -r1.437 -r1.438
  --- build.xml 28 Oct 2004 09:38:24 -0000      1.437
  +++ build.xml 29 Oct 2004 07:35:17 -0000      1.438
  @@ -376,28 +376,6 @@
   
     <!--
          ===================================================================
  -         Set up a preset def for javac depending on
  -         the java version
  -       ===================================================================
  -  -->
  -
  -  <target name="javac.preset" depends="javac.preset.1.5+,javac.preset.1.5-"/>
  -  <target name="javac.preset.1.5+" depends="check_for_optional_packages"
  -          if="jdk1.5+">
  -    <presetdef name="javac.preset">
  -      <javac source="${javac.source}"/>
  -    </presetdef>
  -  </target>
  -  <target name="javac.preset.1.5-" depends="check_for_optional_packages"
  -          unless="jdk1.5+">
  -    <presetdef name="javac.preset">
  -      <javac/>
  -    </presetdef>
  -  </target>
  -
  -
  -  <!--
  -       ===================================================================
            Check to see what optional dependencies are available
          ===================================================================
     -->
  @@ -642,17 +620,18 @@
          ===================================================================
     -->
     <target name="build"
  -          depends="prepare, check_for_optional_packages, javac.preset"
  +          depends="prepare, check_for_optional_packages"
             description="--> compiles the source code">
       <mkdir dir="${build.dir}"/>
       <mkdir dir="${build.classes}"/>
       <mkdir dir="${build.lib}"/>
   
  -    <javac.preset srcdir="${java.dir}"
  +    <javac srcdir="${java.dir}"
              destdir="${build.classes}"
              debug="${debug}"
              deprecation="${deprecation}"
              target="${javac.target}"
  +           source="${javac.source}"
              optimize="${optimize}" >
         <classpath refid="classpath"/>
   
  @@ -701,7 +680,7 @@
             </or>
           </not>
         </selector>
  -    </javac.preset>
  +    </javac>
   
       <copy todir="${build.classes}">
         <fileset dir="${java.dir}">
  @@ -1406,15 +1385,16 @@
     <target name="compile-tests" depends="build" if="junit.present">
       <mkdir dir="${build.tests}"/>
   
  -    <javac.preset srcdir="${tests.dir}"
  +    <javac srcdir="${tests.dir}"
              destdir="${build.tests}"
              debug="${debug}"
              target="${javac.target}"
  +           source="${javac.source}"
              deprecation="${deprecation}" >
         <classpath refid="tests-classpath"/>
   
         <selector refid="conditional-patterns"/>
  -    </javac.preset>
  +    </javac>
   
       <!-- Used by AntlibTest.testAntlibResource: -->
       <jar 
jarfile="${build.tests}/org/apache/tools/ant/taskdefs/test2-antlib.jar">
  
  
  
  1.50      +23 -1     
ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java
  
  Index: DefaultCompilerAdapter.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/compilers/DefaultCompilerAdapter.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- DefaultCompilerAdapter.java       6 Oct 2004 22:41:52 -0000       1.49
  +++ DefaultCompilerAdapter.java       29 Oct 2004 07:35:17 -0000      1.50
  @@ -297,7 +297,15 @@
           setupJavacCommandlineSwitches(cmd, true);
           if (attributes.getSource() != null && !assumeJava13()) {
               cmd.createArgument().setValue("-source");
  -            cmd.createArgument().setValue(attributes.getSource());
  +            String source = attributes.getSource();
  +            if (assumeJava14() && 
  +                (source.equals("1.1") || source.equals("1.2"))) {
  +                // support for -source 1.1 and -source 1.2 has been
  +                // added with JDK 1.4.2
  +                cmd.createArgument().setValue("1.3");
  +            } else {
  +                cmd.createArgument().setValue(source);
  +            }
           }
           return cmd;
       }
  @@ -499,6 +507,20 @@
                   && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3))
               || ("extJavac".equals(attributes.getCompilerVersion())
                   && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_3));
  +    }
  +
  +    /**
  +     * Shall we assume JDK 1.4 command line switches?
  +     * @since Ant 1.6.3
  +     */
  +    protected boolean assumeJava14() {
  +        return "javac1.4".equals(attributes.getCompilerVersion())
  +            || ("classic".equals(attributes.getCompilerVersion())
  +                && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4))
  +            || ("modern".equals(attributes.getCompilerVersion())
  +                && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4))
  +            || ("extJavac".equals(attributes.getCompilerVersion())
  +                && JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_4));
       }
   
   }
  
  
  

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

Reply via email to