Browse Source

use forking javah by default

master
Stefan Bodewig 9 years ago
parent
commit
5d6adaef80
3 changed files with 7 additions and 9 deletions
  1. +3
    -0
      WHATSNEW
  2. +1
    -0
      src/main/org/apache/tools/ant/taskdefs/optional/javah/ForkingJavah.java
  3. +3
    -9
      src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java

+ 3
- 0
WHATSNEW View File

@@ -25,6 +25,9 @@ Changes that could break older environments:
be used when running on Java 9 since this option has been removed. be used when running on Java 9 since this option has been removed.
Bugzilla Report 59906 Bugzilla Report 59906


* <javah> will default to the "forking" implementation on Java8
as well.

Fixed bugs: Fixed bugs:
----------- -----------




+ 1
- 0
src/main/org/apache/tools/ant/taskdefs/optional/javah/ForkingJavah.java View File

@@ -45,6 +45,7 @@ public class ForkingJavah implements JavahAdapter {
* @return true if the compilation was successful. * @return true if the compilation was successful.
* @throws BuildException if there is an error. * @throws BuildException if there is an error.
*/ */
@Override
public boolean compile(Javah javah) throws BuildException { public boolean compile(Javah javah) throws BuildException {
Commandline cmd = SunJavah.setupJavahCommand(javah); Commandline cmd = SunJavah.setupJavahCommand(javah);
Project project = javah.getProject(); Project project = javah.getProject();


+ 3
- 9
src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java View File

@@ -44,10 +44,8 @@ public class JavahAdapterFactory {
return Kaffeh.IMPLEMENTATION_NAME; return Kaffeh.IMPLEMENTATION_NAME;
} else if (JavaEnvUtils.isGij()) { } else if (JavaEnvUtils.isGij()) {
return Gcjh.IMPLEMENTATION_NAME; return Gcjh.IMPLEMENTATION_NAME;
} else if (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9)) {
return ForkingJavah.IMPLEMENTATION_NAME;
} }
return SunJavah.IMPLEMENTATION_NAME;
return ForkingJavah.IMPLEMENTATION_NAME;
} }


/** /**
@@ -89,9 +87,7 @@ public class JavahAdapterFactory {
} else if ((JavaEnvUtils.isGij() && choice == null) } else if ((JavaEnvUtils.isGij() && choice == null)
|| Gcjh.IMPLEMENTATION_NAME.equals(choice)) { || Gcjh.IMPLEMENTATION_NAME.equals(choice)) {
return new Gcjh(); return new Gcjh();
} else if ((JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9)
&& choice == null)
|| ForkingJavah.IMPLEMENTATION_NAME.equals(choice)) {
} else if (ForkingJavah.IMPLEMENTATION_NAME.equals(choice)) {
return new ForkingJavah(); return new ForkingJavah();
} else if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) { } else if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) {
return new SunJavah(); return new SunJavah();
@@ -102,9 +98,7 @@ public class JavahAdapterFactory {
.createClassLoader(classpath)); .createClassLoader(classpath));
} }


// This default has been good enough until Ant 1.6.3, so stick
// with it
return new SunJavah();
return new ForkingJavah();
} }


/** /**


Loading…
Cancel
Save