From b3e1c8a45e9ead1235a997ca3bcc677f0371216c Mon Sep 17 00:00:00 2001 From: kohsuke Date: Tue, 22 Sep 2009 16:20:12 +0000 Subject: [PATCH] [FIXED HUDSON-4226] Applied the patch and added a test case. This fix will be in 1.325. I also added subversion.hpi in the dependency of the test-harness so that we can use Subversion check out for tests. I was afraid of a circular dependency problem when building the subversion plugin, but apparently Maven handles it gracefully. git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@21999 71c3de6d-444a-0410-be80-ed276b4c234a --- .../main/java/hudson/maven/MavenBuild.java | 2 +- test/pom.xml | 11 ++++++---- .../java/hudson/maven/MavenBuildTest.java | 21 +++++++++++++++++-- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/maven-plugin/src/main/java/hudson/maven/MavenBuild.java b/maven-plugin/src/main/java/hudson/maven/MavenBuild.java index 4788033151..bd30ba081f 100644 --- a/maven-plugin/src/main/java/hudson/maven/MavenBuild.java +++ b/maven-plugin/src/main/java/hudson/maven/MavenBuild.java @@ -478,7 +478,7 @@ public class MavenBuild extends AbstractMavenBuild { @Override protected Lease decideWorkspace(Node n, WorkspaceList wsl) throws InterruptedException, IOException { - return wsl.allocate(getParentBuild().getModuleRoot().child(getProject().getRelativePath())); + return wsl.allocate(getModuleSetBuild().getModuleRoot().child(getProject().getRelativePath())); } protected Result doRun(BuildListener listener) throws Exception { diff --git a/test/pom.xml b/test/pom.xml index 4999043686..4b6655e03c 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -42,16 +42,14 @@ THE SOFTWARE. maven-surefire-plugin - + once true -XX:MaxPermSize=128m - + hudson.ClassicPluginStrategy.useAntClassLoader true @@ -109,6 +107,11 @@ THE SOFTWARE. maven-plugin ${project.version} + + org.jvnet.hudson.plugins + subversion + 1.7 + org.mortbay.jetty jetty diff --git a/test/src/test/java/hudson/maven/MavenBuildTest.java b/test/src/test/java/hudson/maven/MavenBuildTest.java index e5e0538b20..a777ebbfee 100644 --- a/test/src/test/java/hudson/maven/MavenBuildTest.java +++ b/test/src/test/java/hudson/maven/MavenBuildTest.java @@ -4,6 +4,7 @@ import org.jvnet.hudson.test.HudsonTestCase; import org.jvnet.hudson.test.Bug; import org.jvnet.hudson.test.ExtractResourceSCM; import hudson.Launcher; +import hudson.scm.SubversionSCM; import hudson.model.BuildListener; import hudson.model.Result; @@ -33,7 +34,7 @@ public class MavenBuildTest extends HudsonTestCase { public void testTestFailureInEarlyTaskSegment() throws Exception { configureDefaultMaven(); MavenModuleSet m = createMavenProject(); - m.setGoals("clean install findbugs:findbugs"); + m.setGoals("clean install findbugs:findbugs"); m.setScm(new ExtractResourceSCM(getClass().getResource("maven-test-failure-findbugs.zip"))); assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); } @@ -44,7 +45,7 @@ public class MavenBuildTest extends HudsonTestCase { public void testCompilationFailure() throws Exception { configureDefaultMaven(); MavenModuleSet m = createMavenProject(); - m.setGoals("clean install"); + m.setGoals("clean install"); m.setScm(new ExtractResourceSCM(getClass().getResource("maven-compilation-failure.zip"))); assertBuildStatus(Result.FAILURE, m.scheduleBuild2(0).get()); } @@ -57,4 +58,20 @@ public class MavenBuildTest extends HudsonTestCase { return true; } } + + /** + * Workspace determination problem on non-aggregator style build. + */ + @Bug(4226) + public void testParallelModuleBuild() throws Exception { + configureDefaultMaven(); + MavenModuleSet m = createMavenProject(); + m.setScm(new SubversionSCM("https://www.dev.java.net/svn/hudson/trunk/hudson/test-projects/multimodule-maven")); + m.setAggregatorStyleBuild(false); + + assertBuildStatusSuccess(m.scheduleBuild2(0).get()); + // run module builds + assertBuildStatusSuccess(m.getModule("test$module1").scheduleBuild2(0).get()); + assertBuildStatusSuccess(m.getModule("test$module1").scheduleBuild2(0).get()); + } } -- GitLab