diff --git a/maven-plugin/src/main/java/hudson/maven/MavenBuild.java b/maven-plugin/src/main/java/hudson/maven/MavenBuild.java index 9d5720e35afa30a8ea063984d1286df2ed3ed2f3..0868df55c23b6171e4b42f56e171956ff99c3782 100644 --- a/maven-plugin/src/main/java/hudson/maven/MavenBuild.java +++ b/maven-plugin/src/main/java/hudson/maven/MavenBuild.java @@ -36,6 +36,7 @@ import hudson.model.Result; import hudson.model.Run; import hudson.model.Cause.UpstreamCause; import hudson.model.Environment; +import hudson.model.TaskListener; import hudson.remoting.Channel; import hudson.scm.ChangeLogSet; import hudson.scm.ChangeLogSet.Entry; @@ -170,6 +171,19 @@ public class MavenBuild extends AbstractBuild { return true; } + /** + * Exposes {@code MAVEN_OPTS} to forked processes. + * + *

+ * See {@link MavenModuleSetBuild#getEnvironment(TaskListener)} for discussion. + */ + @Override + public EnvVars getEnvironment(TaskListener log) throws IOException, InterruptedException { + EnvVars envs = super.getEnvironment(log); + envs.put("MAVEN_OPTS",project.getParent().getMavenOpts()); + return envs; + } + public void registerAsProjectAction(MavenReporter reporter) { if(projectActionReporters==null) projectActionReporters = new ArrayList(); diff --git a/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java b/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java index 9681c1a9a46bac578fc14694ef676bbd23d93177..f4e1609e145852100b6bd6a5fccbbe951a220ee2 100644 --- a/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java +++ b/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java @@ -42,6 +42,7 @@ import hudson.model.Hudson; import hudson.model.ParametersAction; import hudson.model.Result; import hudson.model.Computer; +import hudson.model.TaskListener; import hudson.model.Cause.UpstreamCause; import hudson.remoting.Channel; import hudson.remoting.VirtualChannel; @@ -111,6 +112,21 @@ public final class MavenModuleSetBuild extends AbstractBuild diff --git a/maven-plugin/src/main/java/hudson/maven/MavenProcessFactory.java b/maven-plugin/src/main/java/hudson/maven/MavenProcessFactory.java index a933d5f54de0c07c31401dca92a6ee00a7a11932..44e208a00a1987317a464f650c650406a90c7847 100644 --- a/maven-plugin/src/main/java/hudson/maven/MavenProcessFactory.java +++ b/maven-plugin/src/main/java/hudson/maven/MavenProcessFactory.java @@ -253,7 +253,7 @@ final class MavenProcessFactory implements ProcessCache.Factory { if(jdk==null) { args.add("java"); } else { - args.add(jdk.getJavaHome()+"/bin/java"); // use JDK.getExecutable() here ? + args.add(jdk.getHome()+"/bin/java"); // use JDK.getExecutable() here ? } if(debugPort!=0)