From facfc178dfecb17decfc757a186d2888a79ea684 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Fri, 4 Oct 2013 12:50:28 -0400 Subject: [PATCH] Moving hudson.maven tests to maven-plugin. --- test/pom.xml | 6 - .../hudson/maven/AbortedMavenBuildTest.java | 35 - .../maven/AbstractMaven3xBuildTest.java | 263 -------- .../java/hudson/maven/Maven30xBuildTest.java | 55 -- .../java/hudson/maven/Maven31xBuildTest.java | 54 -- .../maven/MavenArgumentInterceptorTest.java | 171 ----- .../maven/MavenBuildSurefireFailedTest.java | 85 --- .../java/hudson/maven/MavenBuildTest.java | 204 ------ .../hudson/maven/MavenEmptyModuleTest.java | 38 -- ...avenEnvironmentContributingActionTest.java | 143 ---- .../java/hudson/maven/MavenJellyTest.java | 40 -- .../java/hudson/maven/MavenModuleSetTest.java | 32 - ...ltiModuleLogRotatorCleanArtifactsTest.java | 109 --- .../hudson/maven/MavenMultiModuleTest.java | 622 ------------------ .../MavenMultiModuleTestIncremental.java | 70 -- .../test/java/hudson/maven/MavenOptsTest.java | 127 ---- .../java/hudson/maven/MavenProjectTest.java | 242 ------- .../maven/MavenSnapshotTriggerTest.java | 75 --- .../hudson/maven/ModuleDependencyLocator.java | 83 --- .../maven/PlexusModuleContributorTest.java | 73 -- .../hudson/maven/RedeployPublisherTest.java | 256 ------- .../hudson/maven/ResultExposingBuilder.java | 52 -- .../maven/reporters/MavenMailerTest.java | 96 --- .../reporters/MavenSiteArchiverTest.java | 16 - .../maven/reporters/SurefireArchiverTest.java | 62 -- .../resources/hudson/maven/HUDSON-4192.zip | Bin 2117 -> 0 bytes .../resources/hudson/maven/JENKINS-1557.zip | Bin 3420 -> 0 bytes .../resources/hudson/maven/JENKINS-15865.zip | Bin 2086 -> 0 bytes .../resources/hudson/maven/JENKINS-8573.zip | Bin 3739 -> 0 bytes .../resources/hudson/maven/JENKINS-9326.zip | Bin 12849 -> 0 bytes .../resources/hudson/maven/big-artifact.pom | 67 -- .../hudson/maven/custom-plexus-component.pom | 34 - .../hudson/maven/envars-maven-project.zip | Bin 3374 -> 0 bytes .../hudson/maven/foobar_eclipse_with_fix.zip | Bin 10089 -> 0 bytes .../maven/incorrect-inheritence-testcase.zip | Bin 1004 -> 0 bytes .../maven/maven-compilation-failure.zip | Bin 2160 -> 0 bytes .../hudson/maven/maven-dep-test-A-changed.zip | Bin 2597 -> 0 bytes .../hudson/maven/maven-dep-test-A.zip | Bin 2593 -> 0 bytes .../hudson/maven/maven-dep-test-B.zip | Bin 2606 -> 0 bytes .../hudson/maven/maven-dep-test-C.zip | Bin 2610 -> 0 bytes .../hudson/maven/maven-empty-mod.zip | Bin 1465 -> 0 bytes .../hudson/maven/maven-multimod-changes.zip | Bin 1063 -> 0 bytes .../hudson/maven/maven-multimod-incr.zip | Bin 10295 -> 0 bytes .../hudson/maven/maven-multimod-rel-base.zip | Bin 8620 -> 0 bytes .../resources/hudson/maven/maven-multimod.zip | Bin 8707 -> 0 bytes .../hudson/maven/maven-multimodule-site.zip | Bin 1678 -> 0 bytes .../maven/maven-multimodule-unit-failure.zip | Bin 7771 -> 0 bytes .../hudson/maven/maven-opts-echo.zip | Bin 623 -> 0 bytes .../hudson/maven/maven-surefire-unstable.zip | Bin 2459 -> 0 bytes .../maven/maven-test-failure-findbugs.zip | Bin 2289 -> 0 bytes .../resources/hudson/maven/maven3-project.zip | Bin 12960 -> 0 bytes .../hudson/maven/multimodule-maven.zip | Bin 5639 -> 0 bytes .../maven/several-modules-in-directory.zip | Bin 870 -> 0 bytes .../resources/hudson/maven/targz-artifact.pom | 54 -- .../resources/hudson/maven/test-pom-7162.xml | 26 - .../resources/hudson/maven/test-pom-8395.xml | 25 - 56 files changed, 3215 deletions(-) delete mode 100644 test/src/test/java/hudson/maven/AbortedMavenBuildTest.java delete mode 100755 test/src/test/java/hudson/maven/AbstractMaven3xBuildTest.java delete mode 100755 test/src/test/java/hudson/maven/Maven30xBuildTest.java delete mode 100755 test/src/test/java/hudson/maven/Maven31xBuildTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenArgumentInterceptorTest.java delete mode 100755 test/src/test/java/hudson/maven/MavenBuildSurefireFailedTest.java delete mode 100755 test/src/test/java/hudson/maven/MavenBuildTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenEmptyModuleTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenEnvironmentContributingActionTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenJellyTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenModuleSetTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenMultiModuleLogRotatorCleanArtifactsTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenMultiModuleTest.java delete mode 100755 test/src/test/java/hudson/maven/MavenMultiModuleTestIncremental.java delete mode 100644 test/src/test/java/hudson/maven/MavenOptsTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenProjectTest.java delete mode 100644 test/src/test/java/hudson/maven/MavenSnapshotTriggerTest.java delete mode 100644 test/src/test/java/hudson/maven/ModuleDependencyLocator.java delete mode 100644 test/src/test/java/hudson/maven/PlexusModuleContributorTest.java delete mode 100644 test/src/test/java/hudson/maven/RedeployPublisherTest.java delete mode 100644 test/src/test/java/hudson/maven/ResultExposingBuilder.java delete mode 100644 test/src/test/java/hudson/maven/reporters/MavenMailerTest.java delete mode 100644 test/src/test/java/hudson/maven/reporters/MavenSiteArchiverTest.java delete mode 100644 test/src/test/java/hudson/maven/reporters/SurefireArchiverTest.java delete mode 100644 test/src/test/resources/hudson/maven/HUDSON-4192.zip delete mode 100644 test/src/test/resources/hudson/maven/JENKINS-1557.zip delete mode 100644 test/src/test/resources/hudson/maven/JENKINS-15865.zip delete mode 100644 test/src/test/resources/hudson/maven/JENKINS-8573.zip delete mode 100644 test/src/test/resources/hudson/maven/JENKINS-9326.zip delete mode 100644 test/src/test/resources/hudson/maven/big-artifact.pom delete mode 100644 test/src/test/resources/hudson/maven/custom-plexus-component.pom delete mode 100644 test/src/test/resources/hudson/maven/envars-maven-project.zip delete mode 100644 test/src/test/resources/hudson/maven/foobar_eclipse_with_fix.zip delete mode 100755 test/src/test/resources/hudson/maven/incorrect-inheritence-testcase.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-compilation-failure.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-dep-test-A-changed.zip delete mode 100755 test/src/test/resources/hudson/maven/maven-dep-test-A.zip delete mode 100755 test/src/test/resources/hudson/maven/maven-dep-test-B.zip delete mode 100755 test/src/test/resources/hudson/maven/maven-dep-test-C.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-empty-mod.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-multimod-changes.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-multimod-incr.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-multimod-rel-base.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-multimod.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-multimodule-site.zip delete mode 100755 test/src/test/resources/hudson/maven/maven-multimodule-unit-failure.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-opts-echo.zip delete mode 100644 test/src/test/resources/hudson/maven/maven-surefire-unstable.zip delete mode 100755 test/src/test/resources/hudson/maven/maven-test-failure-findbugs.zip delete mode 100644 test/src/test/resources/hudson/maven/maven3-project.zip delete mode 100644 test/src/test/resources/hudson/maven/multimodule-maven.zip delete mode 100644 test/src/test/resources/hudson/maven/several-modules-in-directory.zip delete mode 100644 test/src/test/resources/hudson/maven/targz-artifact.pom delete mode 100644 test/src/test/resources/hudson/maven/test-pom-7162.xml delete mode 100755 test/src/test/resources/hudson/maven/test-pom-8395.xml diff --git a/test/pom.xml b/test/pom.xml index 015a6d99a5..790ad4ae6a 100644 --- a/test/pom.xml +++ b/test/pom.xml @@ -161,12 +161,6 @@ THE SOFTWARE. geb-implicit-assertions 0.7.2 - - org.jenkins-ci.test - sample-plexus-component - 1.0 - test - diff --git a/test/src/test/java/hudson/maven/AbortedMavenBuildTest.java b/test/src/test/java/hudson/maven/AbortedMavenBuildTest.java deleted file mode 100644 index 9275040c8c..0000000000 --- a/test/src/test/java/hudson/maven/AbortedMavenBuildTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package hudson.maven; - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.Result; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -import java.io.IOException; - -public class AbortedMavenBuildTest extends HudsonTestCase { - @Bug(8054) - public void testBuildWrapperSeesAbortedStatus() throws Exception { - configureDefaultMaven(); - MavenModuleSet project = createMavenProject(); - TestBuildWrapper wrapper = new TestBuildWrapper(); - project.getBuildWrappersList().add(wrapper); - project.getReporters().add(new AbortingReporter()); - project.setGoals("clean"); - project.setScm(new ExtractResourceSCM(getClass().getResource("maven-empty-mod.zip"))); - MavenModuleSetBuild build = project.scheduleBuild2(0).get(); - assertEquals(Result.ABORTED, build.getResult()); - assertEquals(Result.ABORTED, wrapper.buildResultInTearDown); - } - - private static class AbortingReporter extends MavenReporter { - private static final long serialVersionUID = 1L; - - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - throw new InterruptedException(); - } - } -} diff --git a/test/src/test/java/hudson/maven/AbstractMaven3xBuildTest.java b/test/src/test/java/hudson/maven/AbstractMaven3xBuildTest.java deleted file mode 100755 index b69a03e573..0000000000 --- a/test/src/test/java/hudson/maven/AbstractMaven3xBuildTest.java +++ /dev/null @@ -1,263 +0,0 @@ -package hudson.maven; - -/* - * Olivier Lamy - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.ParametersDefinitionProperty; -import hudson.model.Result; -import hudson.model.StringParameterDefinition; -import hudson.tasks.Maven.MavenInstallation; -import hudson.tasks.test.AbstractTestResultAction; -import hudson.tasks.test.TestResultProjectAction; -import org.apache.commons.io.FileUtils; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.Email; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; - -/** - * @author Olivier Lamy - */ -public abstract class AbstractMaven3xBuildTest - extends HudsonTestCase { - - public abstract MavenInstallation configureMaven3x() throws Exception; - - public void testSimpleMaven3Build() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven3-project.zip"))); - m.setGoals( "clean install" ); - MavenModuleSetBuild b = buildAndAssertSuccess(m); - assertTrue( MavenUtil.maven3orLater( b.getMavenVersionUsed() ) ); - } - - public void testSimpleMaven3BuildRedeployPublisher() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - File repo = createTmpDir(); - FileUtils.cleanDirectory( repo ); - m.getReporters().add(new TestReporter()); - m.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),true, false)); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven3-project.zip"))); - m.setGoals( "clean install" ); - MavenModuleSetBuild b = buildAndAssertSuccess(m); - assertTrue( MavenUtil.maven3orLater( b.getMavenVersionUsed() ) ); - File artifactDir = new File(repo,"com/mycompany/app/my-app/1.7-SNAPSHOT/"); - String[] files = artifactDir.list( new FilenameFilter() - { - - public boolean accept( File dir, String name ) - { - System.out.println("file name : " +name ); - return name.endsWith( ".jar" ); - } - }); - assertTrue("SNAPSHOT exist",!files[0].contains( "SNAPSHOT" )); - assertTrue("file not ended with -1.jar", files[0].endsWith( "-1.jar" )); - } - - public void testSiteBuildWithForkedMojo() throws Exception { - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven3-project.zip"))); - m.setGoals( "clean site" ); - MavenModuleSetBuild b = buildAndAssertSuccess(m); - assertTrue( MavenUtil.maven3orLater( b.getMavenVersionUsed() ) ); - } - - @Bug(value=8395) - public void testMaven3BuildWrongScope() throws Exception { - - File pom = new File(this.getClass().getResource("test-pom-8395.xml").toURI()); - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setRootPOM(pom.getAbsolutePath()); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = m.scheduleBuild2( 0 ).get(); - assertBuildStatus( Result.FAILURE, mmsb ); - System.out.println("mmsb.getProject().getModules " + mmsb.getProject().getModules() ); - assertTrue( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(value=8390) - public void testMaven3BuildWrongInheritence() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("incorrect-inheritence-testcase.zip"))); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = m.scheduleBuild2( 0 ).get(); - assertBuildStatus( Result.FAILURE, mmsb ); - System.out.println("mmsb.getProject().getModules " + mmsb.getProject().getModules() ); - assertTrue( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(value=8445) - public void testMavenSeveralModulesInDirectory() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("several-modules-in-directory.zip"))); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Email("https://groups.google.com/d/msg/hudson-users/Xhw00UopVN0/FA9YqDAIsSYJ") - public void testMavenWithDependencyVersionInEnvVar() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3x(); - ParametersDefinitionProperty parametersDefinitionProperty = - new ParametersDefinitionProperty(new StringParameterDefinition( "JUNITVERSION", "3.8.2" )); - - m.addProperty( parametersDefinitionProperty ); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("envars-maven-project.zip"))); - m.setGoals( "clean test-compile" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(8484) - public void testMultiModMavenNonRecursive() throws Exception { - MavenInstallation mavenInstallation = configureMaven3x(); - MavenModuleSet m = createMavenProject(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - m.setGoals( "-N validate" ); - assertTrue("MavenModuleSet.isNonRecursive() should be true", m.isNonRecursive()); - buildAndAssertSuccess(m); - assertEquals("not only one module", 1, m.getModules().size()); - } - - @Bug(8573) - public void testBuildTimeStampProperty() throws Exception { - MavenInstallation mavenInstallation = configureMaven3x(); - MavenModuleSet m = createMavenProject(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-8573.zip"))); - m.setGoals( "process-resources" ); - buildAndAssertSuccess(m); - String content = m.getLastBuild().getWorkspace().child( "target/classes/test.txt" ).readToString(); - assertFalse( content.contains( "${maven.build.timestamp}") ); - assertFalse( content.contains( "${maven.build.timestamp}") ); - } - - @Bug(1557) - public void testDuplicateTestResults() throws Exception { - MavenInstallation mavenInstallation = configureMaven3x(); - MavenModuleSet m = createMavenProject(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-1557.zip"))); - m.setGoals("verify"); - buildAndAssertSuccess(m); - - int totalCount = m.getModules().iterator().next() - .getAction(TestResultProjectAction.class).getLastTestResultAction().getTotalCount(); - assertEquals(4, totalCount); - } - - @Bug(9326) - public void testTychoTestResults() throws Exception { - MavenInstallation mavenInstallation = configureMaven3x(); - MavenModuleSet m = createMavenProject(); - m.setRootPOM( "org.foobar.build/pom.xml" ); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-9326.zip"),"foobar")); - m.setGoals("verify"); - buildAndAssertSuccess(m); - - System.out.println("modules size " + m.getModules()); - - - MavenModule testModule = null; - for (MavenModule mavenModule : m.getModules()) { - System.out.println("module " + mavenModule.getName() + "/" + mavenModule.getDisplayName()); - if ("org.foobar:org.foobar.test".equals( mavenModule.getName() )) testModule = mavenModule; - } - - AbstractTestResultAction trpa = testModule.getLastBuild().getTestResultAction(); - - int totalCount = trpa.getTotalCount(); - assertEquals(1, totalCount); - } - - @Bug(9326) - public void testTychoEclipseTestResults() throws Exception { - MavenInstallation mavenInstallation = configureMaven3x(); - MavenModuleSet m = createMavenProject(); - m.setRootPOM( "org.foobar.build/pom.xml" ); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("foobar_eclipse_with_fix.zip"),"foobar_eclipse")); - m.setGoals("verify"); - buildAndAssertSuccess(m); - - System.out.println("modules size " + m.getModules()); - - - MavenModule testModule = null; - for (MavenModule mavenModule : m.getModules()) { - System.out.println("module " + mavenModule.getName() + "/" + mavenModule.getDisplayName()); - if ("org.foobar:org.foobar.test".equals( mavenModule.getName() )) testModule = mavenModule; - } - - AbstractTestResultAction trpa = testModule.getLastBuild().getTestResultAction(); - - int totalCount = trpa.getTotalCount(); - assertEquals(1, totalCount); - } - - private static class TestReporter extends MavenReporter { - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - assertNotNull(build.getProject().getWorkspace()); - assertNotNull(build.getWorkspace()); - return true; - } - } - -} diff --git a/test/src/test/java/hudson/maven/Maven30xBuildTest.java b/test/src/test/java/hudson/maven/Maven30xBuildTest.java deleted file mode 100755 index 5c236ce046..0000000000 --- a/test/src/test/java/hudson/maven/Maven30xBuildTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package hudson.maven; - -/* - * Olivier Lamy - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.ParametersDefinitionProperty; -import hudson.model.Result; -import hudson.model.StringParameterDefinition; -import hudson.tasks.Maven; -import hudson.tasks.Maven.MavenInstallation; -import hudson.tasks.test.AbstractTestResultAction; -import hudson.tasks.test.TestResultProjectAction; -import org.apache.commons.io.FileUtils; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.Email; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; - -/** - * @author Olivier Lamy - */ -public class Maven30xBuildTest - extends AbstractMaven3xBuildTest { - - @Override - public MavenInstallation configureMaven3x() - throws Exception - { - return configureMaven3(); - } - -} diff --git a/test/src/test/java/hudson/maven/Maven31xBuildTest.java b/test/src/test/java/hudson/maven/Maven31xBuildTest.java deleted file mode 100755 index 449d782492..0000000000 --- a/test/src/test/java/hudson/maven/Maven31xBuildTest.java +++ /dev/null @@ -1,54 +0,0 @@ -package hudson.maven; - -/* - * Olivier Lamy - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.ParametersDefinitionProperty; -import hudson.model.Result; -import hudson.model.StringParameterDefinition; -import hudson.tasks.Maven; -import hudson.tasks.Maven.MavenInstallation; -import hudson.tasks.test.AbstractTestResultAction; -import hudson.tasks.test.TestResultProjectAction; -import org.apache.commons.io.FileUtils; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.Email; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; - -/** - * @author Olivier Lamy - */ -public class Maven31xBuildTest - extends AbstractMaven3xBuildTest { - - @Override - public MavenInstallation configureMaven3x() - throws Exception - { - return configureMaven31(); - } -} diff --git a/test/src/test/java/hudson/maven/MavenArgumentInterceptorTest.java b/test/src/test/java/hudson/maven/MavenArgumentInterceptorTest.java deleted file mode 100644 index 6709fd36b6..0000000000 --- a/test/src/test/java/hudson/maven/MavenArgumentInterceptorTest.java +++ /dev/null @@ -1,171 +0,0 @@ -package hudson.maven; - -/* - * The MIT License - * - * Copyright (c) 2011, Dominik Bartholdi - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -import hudson.Extension; -import hudson.Launcher; -import hudson.model.AbstractBuild; -import hudson.model.AbstractProject; -import hudson.model.BuildListener; -import hudson.model.Result; -import hudson.tasks.BuildWrapper; -import hudson.tasks.BuildWrapperDescriptor; -import hudson.tasks.Maven.MavenInstallation; -import hudson.util.ArgumentListBuilder; - -import java.io.IOException; -import java.util.Arrays; -import java.util.List; - -import net.sf.json.JSONObject; - -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; -import org.kohsuke.stapler.StaplerRequest; - -/** - * @author Dominik Bartholdi (imod) - */ -public class MavenArgumentInterceptorTest extends HudsonTestCase { - - public void testSimpleMaven3BuildWithArgInterceptor_Goals() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3(); - m.setMaven(mavenInstallation.getName()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven3-project.zip"))); - m.setGoals("dummygoal"); // build would fail with this goal - - // add an action to build, redefining the goals and options to be - // executed - m.getBuildWrappersList().add(new TestMvnBuildWrapper("clean")); - - MavenModuleSetBuild b = buildAndAssertSuccess(m); - assertTrue(MavenUtil.maven3orLater(b.getMavenVersionUsed())); - } - - public void testSimpleMaven3BuildWithArgInterceptor_ArgBuilder() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureMaven3(); - m.setMaven(mavenInstallation.getName()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - m.setGoals("clean install"); // build would fail because of failing unit - // tests - - // add an action to build, adding argument to skip the test execution - m.getBuildWrappersList().add(new TestMvnBuildWrapper(Arrays.asList("-DskipTests"))); - - MavenModuleSetBuild b = buildAndAssertSuccess(m); - assertTrue(MavenUtil.maven3orLater(b.getMavenVersionUsed())); - } - - private static class TestMvnArgInterceptor implements MavenArgumentInterceptorAction { - private String goalsAndOptions; - private List args; - - public TestMvnArgInterceptor(String goalsAndOptions) { - this.goalsAndOptions = goalsAndOptions; - } - - public TestMvnArgInterceptor(List args) { - this.args = args; - } - - public String getIconFileName() { - return null; - } - - public String getDisplayName() { - return null; - } - - public String getUrlName() { - return null; - } - - public String getGoalsAndOptions(MavenModuleSetBuild build) { - return goalsAndOptions; - } - - public ArgumentListBuilder intercept(ArgumentListBuilder mavenargs, MavenModuleSetBuild build) { - if (args != null) { - for (String arg : this.args) { - mavenargs.add(arg); - } - } - return mavenargs; - } - } - - public static class TestMvnBuildWrapper extends BuildWrapper { - public Result buildResultInTearDown; - private String goalsAndOptions; - private List args; - - public TestMvnBuildWrapper(String goalsAndOptions) { - this.goalsAndOptions = goalsAndOptions; - } - - public TestMvnBuildWrapper(List args) { - this.args = args; - } - - @Override - public Environment setUp(AbstractBuild build, Launcher launcher, BuildListener listener) throws IOException, InterruptedException { - - if (goalsAndOptions != null) { - build.addAction(new TestMvnArgInterceptor(goalsAndOptions)); - } else if (args != null) { - build.addAction(new TestMvnArgInterceptor(args)); - } - - return new BuildWrapper.Environment() { - @Override - public boolean tearDown(AbstractBuild build, BuildListener listener) throws IOException, InterruptedException { - buildResultInTearDown = build.getResult(); - return true; - } - }; - } - - @Extension - public static class TestMvnBuildWrapperDescriptor extends BuildWrapperDescriptor { - @Override - public boolean isApplicable(AbstractProject project) { - return true; - } - - @Override - public BuildWrapper newInstance(StaplerRequest req, JSONObject formData) { - throw new UnsupportedOperationException(); - } - - @Override - public String getDisplayName() { - return this.getClass().getName(); - } - } - } -} diff --git a/test/src/test/java/hudson/maven/MavenBuildSurefireFailedTest.java b/test/src/test/java/hudson/maven/MavenBuildSurefireFailedTest.java deleted file mode 100755 index 1bcece674b..0000000000 --- a/test/src/test/java/hudson/maven/MavenBuildSurefireFailedTest.java +++ /dev/null @@ -1,85 +0,0 @@ -package hudson.maven; - -import hudson.model.Result; -import hudson.tasks.Shell; -import java.util.concurrent.Callable; - -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; -import org.jvnet.hudson.test.RunLoadCounter; - -/** - * @author Olivier Lamy - */ -public class MavenBuildSurefireFailedTest extends HudsonTestCase { - - @Bug(8415) - public void testMaven2Unstable() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setGoals( "test" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - } - - @Bug(8415) - public void testMaven2Failed() throws Exception { - configureDefaultMaven(); - final MavenModuleSet m = createMavenProject(); - m.setGoals( "test -Dmaven.test.failure.ignore=false" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - assertBuildStatus(Result.FAILURE, m.scheduleBuild2(0).get()); - // JENKINS-18895: - MavenModule failing = m.getModule("com.mycompany.app:my-app"); - assertEquals(Result.FAILURE, failing.getLastBuild().getResult()); - RunLoadCounter.prepare(failing); - assertEquals(Result.FAILURE, RunLoadCounter.assertMaxLoads(failing, 0, new Callable() { - @Override public Result call() throws Exception { - return m.getLastBuild().getResult(); - } - })); - } - - @Bug(8415) - public void testMaven3Unstable() throws Exception { - MavenModuleSet m = createMavenProject(); - m.setMaven( configureMaven3().getName() ); - m.setGoals( "test" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - } - - @Bug(8415) - public void testMaven3Failed() throws Exception { - MavenModuleSet m = createMavenProject(); - m.setMaven( configureMaven3().getName() ); - m.setGoals( "test -Dmaven.test.failure.ignore=false" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - assertBuildStatus(Result.FAILURE, m.scheduleBuild2(0).get()); - } - - @Bug(14102) - public void testMaven3SkipPostBuilder() throws Exception { - MavenModuleSet m = createMavenProject(); - m.setMaven( configureMaven3().getName() ); - m.setGoals( "test" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - // run dummy command only if build state is SUCCESS - m.setRunPostStepsIfResult(Result.SUCCESS); - m.addPostBuilder(new Shell("no-valid-command")); - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - } - - @Bug(14102) - public void testMaven2SkipPostBuilder() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setGoals( "test" ); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimodule-unit-failure.zip"))); - // run dummy command only if build state is SUCCESS - m.setRunPostStepsIfResult(Result.SUCCESS); - m.addPostBuilder(new Shell("no-valid-command")); - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - } -} diff --git a/test/src/test/java/hudson/maven/MavenBuildTest.java b/test/src/test/java/hudson/maven/MavenBuildTest.java deleted file mode 100755 index 9dd02c337e..0000000000 --- a/test/src/test/java/hudson/maven/MavenBuildTest.java +++ /dev/null @@ -1,204 +0,0 @@ -package hudson.maven; - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.ParametersDefinitionProperty; -import hudson.model.Result; -import hudson.model.StringParameterDefinition; -import hudson.tasks.Maven.MavenInstallation; -import hudson.tasks.test.AbstractTestResultAction; -import hudson.tasks.test.AggregatedTestResultAction; - -import java.io.File; -import java.io.IOException; -import java.util.Map; - -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.Email; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; -import org.jvnet.hudson.test.SingleFileSCM; - -/** - * @author Kohsuke Kawaguchi - */ -public class MavenBuildTest extends HudsonTestCase { - - /** - * NPE in {@code build.getProject().getWorkspace()} for {@link MavenBuild}. - */ - @Bug(4192) - public void testMavenWorkspaceExists() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("HUDSON-4192.zip"))); - buildAndAssertSuccess(m); - } - - /** - * {@link Result} getting set to SUCCESS even if there's a test failure, when the test failure - * does not happen in the final task segment. - */ - @Bug(4177) - public void testTestFailureInEarlyTaskSegment() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setGoals("clean install findbugs:findbugs"); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-test-failure-findbugs.zip"))); - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - } - - /** - * Verify that a compilation error properly shows up as a failure. - */ - public void testCompilationFailure() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setGoals("clean install"); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-compilation-failure.zip"))); - assertBuildStatus(Result.FAILURE, m.scheduleBuild2(0).get()); - } - - /** - * Workspace determination problem on non-aggregator style build. - */ - @Bug(4226) - public void testParallelModuleBuild() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("multimodule-maven.zip"))); - - buildAndAssertSuccess(m); - - m.setAggregatorStyleBuild(false); - - // run module builds - buildAndAssertSuccess(m.getModule("test$module1")); - buildAndAssertSuccess(m.getModule("test$module1")); - } - - @Bug(value=8395) - public void testMaven2BuildWrongScope() throws Exception { - - File pom = new File(this.getClass().getResource("test-pom-8395.xml").toURI()); - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureDefaultMaven(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setRootPOM(pom.getAbsolutePath()); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(value=8390) - public void testMaven2BuildWrongInheritence() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureDefaultMaven(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("incorrect-inheritence-testcase.zip"))); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(value=8445) - public void testMaven2SeveralModulesInDirectory() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureDefaultMaven(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("several-modules-in-directory.zip"))); - m.setGoals( "clean validate" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Email("https://groups.google.com/d/msg/hudson-users/Xhw00UopVN0/FA9YqDAIsSYJ") - public void testMavenWithDependencyVersionInEnvVar() throws Exception { - - MavenModuleSet m = createMavenProject(); - MavenInstallation mavenInstallation = configureDefaultMaven(); - ParametersDefinitionProperty parametersDefinitionProperty = - new ParametersDefinitionProperty(new StringParameterDefinition( "JUNITVERSION", "3.8.2" )); - - m.addProperty( parametersDefinitionProperty ); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("envars-maven-project.zip"))); - m.setGoals( "clean test-compile" ); - MavenModuleSetBuild mmsb = buildAndAssertSuccess(m); - assertFalse( mmsb.getProject().getModules().isEmpty()); - } - - @Bug(8573) - public void testBuildTimeStampProperty() throws Exception { - MavenInstallation mavenInstallation = configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setMaven( mavenInstallation.getName() ); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-8573.zip"))); - m.setGoals( "process-resources" ); - buildAndAssertSuccess(m); - String content = m.getLastBuild().getWorkspace().child( "target/classes/test.txt" ).readToString(); - assertFalse( content.contains( "${maven.build.timestamp}") ); - assertFalse( content.contains( "${maven.build.timestamp}") ); - - System.out.println( "content " + content ); - } - - @Bug(value=15865) - public void testMavenFailsafePluginTestResultsAreRecorded() throws Exception { - - // GIVEN: a Maven project with maven-failsafe-plugin and Maven 2.2.1 - MavenModuleSet mavenProject = createMavenProject(); - MavenInstallation mavenInstallation = configureDefaultMaven(); - mavenProject.setMaven(mavenInstallation.getName()); - mavenProject.getReporters().add(new TestReporter()); - mavenProject.setScm(new ExtractResourceSCM(getClass().getResource("JENKINS-15865.zip"))); - mavenProject.setGoals( "clean install" ); - - // WHEN project is build - MavenModuleSetBuild mmsb = buildAndAssertSuccess(mavenProject); - - // THEN we have a testresult recorded - AggregatedTestResultAction aggregatedTestResultAction = mmsb.getAggregatedTestResultAction(); - assertNotNull(aggregatedTestResultAction); - assertEquals(1, aggregatedTestResultAction.getTotalCount()); - - Map moduleBuilds = mmsb.getModuleLastBuilds(); - assertEquals(1, moduleBuilds.size()); - MavenBuild moduleBuild = moduleBuilds.values().iterator().next(); - AbstractTestResultAction testResultAction = moduleBuild.getTestResultAction(); - assertNotNull(testResultAction); - assertEquals(1, testResultAction.getTotalCount()); - } - - @Bug(18178) - public void testExtensionsConflictingWithCore() throws Exception { - MavenModuleSet m = createMavenProject(); - m.setMaven(configureDefaultMaven().getName()); - m.setScm(new SingleFileSCM("pom.xml", - "4.0.0" + - "ga0" + - "" + - "org.springframework.build.awsorg.springframework.build.aws.maven3.0.0.RELEASE" + - "")); - buildAndAssertSuccess(m); - } - - private static class TestReporter extends MavenReporter { - private static final long serialVersionUID = 1L; - - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - assertNotNull(build.getWorkspace()); - return true; - } - } - -} diff --git a/test/src/test/java/hudson/maven/MavenEmptyModuleTest.java b/test/src/test/java/hudson/maven/MavenEmptyModuleTest.java deleted file mode 100644 index b8ad72048a..0000000000 --- a/test/src/test/java/hudson/maven/MavenEmptyModuleTest.java +++ /dev/null @@ -1,38 +0,0 @@ -package hudson.maven; - -import org.jvnet.hudson.test.HudsonTestCase; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; - - -import hudson.Launcher; -import hudson.model.BuildListener; - -import java.io.IOException; - -/** - * @author Andrew Bayer - */ -public class MavenEmptyModuleTest extends HudsonTestCase { - /** - * Verify that a build will work with a module and a module - */ - @Bug(4442) - public void testEmptyModuleParsesAndBuilds() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-empty-mod.zip"))); - buildAndAssertSuccess(m); - } - - private static class TestReporter extends MavenReporter { - private static final long serialVersionUID = 1L; - - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - assertNotNull(build.getWorkspace()); - return true; - } - } -} \ No newline at end of file diff --git a/test/src/test/java/hudson/maven/MavenEnvironmentContributingActionTest.java b/test/src/test/java/hudson/maven/MavenEnvironmentContributingActionTest.java deleted file mode 100644 index 414a0c5156..0000000000 --- a/test/src/test/java/hudson/maven/MavenEnvironmentContributingActionTest.java +++ /dev/null @@ -1,143 +0,0 @@ -package hudson.maven; - -import hudson.EnvVars; -import hudson.Extension; -import hudson.Launcher; -import hudson.model.Action; -import hudson.model.BuildListener; -import hudson.model.EnvironmentContributingAction; -import hudson.model.InvisibleAction; -import hudson.model.Result; -import hudson.model.AbstractBuild; -import hudson.model.AbstractProject; -import hudson.model.Cause; -import hudson.tasks.BuildWrapper; -import hudson.tasks.BuildWrapperDescriptor; -import hudson.util.ArgumentListBuilder; - -import java.io.IOException; -import java.util.Collection; -import java.util.Collections; - -import net.sf.json.JSONObject; - -import org.junit.Assert; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.JenkinsRule; -import org.kohsuke.stapler.StaplerRequest; - -/** - * This test case verifies that a maven build also takes EnvironmentContributingAction into account to resolve variables on the command line - * - * @see EnvironmentContributingAction - * @author Dominik Bartholdi (imod) - */ -public class MavenEnvironmentContributingActionTest { - - @Rule - public JenkinsRule j = new JenkinsRule(); - - @Test - @Bug(17555) - public void envVariableFromEnvironmentContributingActionMustBeAvailableInMavenModuleSetBuild() throws Exception { - j.jenkins.getInjector().injectMembers(this); - - final MavenModuleSet p = j.createMavenProject("mvn"); - - p.setMaven(j.configureMaven3().getName()); - p.setScm(new ExtractResourceSCM(getClass().getResource("maven3-project.zip"))); - p.setGoals("initialize -Dval=${KEY}"); - - p.getBuildWrappersList().add(new TestMvnBuildWrapper("-Dval=MY_VALUE")); - - j.assertBuildStatus(Result.SUCCESS, p.scheduleBuild2(0, new Cause.UserIdCause()).get()); - } - - /** - * This action contributes env variables - */ - private static final class TestAction extends InvisibleAction implements EnvironmentContributingAction { - private final String key, value; - - public TestAction(String key, String value) { - this.key = key; - this.value = value; - } - - @Override - public void buildEnvVars(AbstractBuild arg0, EnvVars vars) { - vars.put(key, value); - } - - } - - /** - * This action verifies that the variable in the maven arguments got replaced - */ - private static class MvnCmdLineVerifier extends InvisibleAction implements MavenArgumentInterceptorAction { - private String containsString; - - public MvnCmdLineVerifier(String containsString) { - this.containsString = containsString; - } - - @Override - public ArgumentListBuilder intercept(ArgumentListBuilder cli, MavenModuleSetBuild arg1) { - String all = cli.toString(); - Assert.assertTrue(containsString + " was not found in the goals arguments", all.contains(containsString)); - return cli; - } - - @Override - public String getGoalsAndOptions(MavenModuleSetBuild arg0) { - return null; - } - } - - /** - * This wrapper adds a EnvironmentContributingAction to the build (see TestAction) and also adds the MvnCmdLineVerifier to the build to test whether the variable really got replaced - */ - public static class TestMvnBuildWrapper extends BuildWrapper { - private String containsString; - - public TestMvnBuildWrapper(String expectedString) { - this.containsString = expectedString; - } - - @Override - public Collection getProjectActions(AbstractProject job) { - return Collections.singletonList(new TestAction("KEY", "MY_VALUE")); - } - - @Override - public Environment setUp(AbstractBuild build, Launcher launcher, BuildListener listener) throws IOException, InterruptedException { - - build.addAction(new MvnCmdLineVerifier(containsString)); - - return new BuildWrapper.Environment() { - }; - } - - @Extension - public static class TestMvnBuildWrapperDescriptor extends BuildWrapperDescriptor { - @Override - public boolean isApplicable(AbstractProject project) { - return true; - } - - @Override - public BuildWrapper newInstance(StaplerRequest req, JSONObject formData) { - throw new UnsupportedOperationException(); - } - - @Override - public String getDisplayName() { - return this.getClass().getName(); - } - } - } - -} diff --git a/test/src/test/java/hudson/maven/MavenJellyTest.java b/test/src/test/java/hudson/maven/MavenJellyTest.java deleted file mode 100644 index d501362862..0000000000 --- a/test/src/test/java/hudson/maven/MavenJellyTest.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2004-2009, Sun Microsystems, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven; - -import hudson.remoting.Which; -import junit.framework.Test; -import junit.framework.TestCase; -import org.jvnet.hudson.test.JellyTestSuiteBuilder; - -/** - * Runs Jelly checks on maven-plugin. - * - * @author Andrew Bayer - */ -public class MavenJellyTest extends TestCase { - public static Test suite() throws Exception { - return JellyTestSuiteBuilder.build(Which.jarFile(MavenModuleSet.class),true); - } -} diff --git a/test/src/test/java/hudson/maven/MavenModuleSetTest.java b/test/src/test/java/hudson/maven/MavenModuleSetTest.java deleted file mode 100644 index 2b379d7c01..0000000000 --- a/test/src/test/java/hudson/maven/MavenModuleSetTest.java +++ /dev/null @@ -1,32 +0,0 @@ -package hudson.maven; - -import hudson.maven.local_repo.PerJobLocalRepositoryLocator; -import hudson.model.Item; -import org.jvnet.hudson.test.Bug; - -import org.jvnet.hudson.test.HudsonTestCase; - -/** - * @author Kohsuke Kawaguchi - */ -public class MavenModuleSetTest extends HudsonTestCase { - public void testConfigRoundtripLocalRepository() throws Exception { - MavenModuleSet p = createMavenProject(); - configRoundtrip((Item) p); - - assertNull(p.getExplicitLocalRepository()); - - // make sure it roundtrips - PerJobLocalRepositoryLocator before = new PerJobLocalRepositoryLocator(); - p.setLocalRepository(before); - configRoundtrip((Item)p); - assertEqualDataBoundBeans(p.getLocalRepository(),before); - assertTrue(before!=p.getLocalRepository()); - } - - @Bug(17402) - public void testGetItem() throws Exception { - assertNull(createMavenProject().getItem("invalid")); - } - -} diff --git a/test/src/test/java/hudson/maven/MavenMultiModuleLogRotatorCleanArtifactsTest.java b/test/src/test/java/hudson/maven/MavenMultiModuleLogRotatorCleanArtifactsTest.java deleted file mode 100644 index 114c783552..0000000000 --- a/test/src/test/java/hudson/maven/MavenMultiModuleLogRotatorCleanArtifactsTest.java +++ /dev/null @@ -1,109 +0,0 @@ -/** - * - */ -package hudson.maven; - -import hudson.FilePath; -import hudson.Launcher; -import hudson.maven.reporters.MavenFingerprinter; -import hudson.model.BuildListener; -import hudson.tasks.LogRotator; -import hudson.tasks.Maven.MavenInstallation; - -import java.io.File; -import java.io.IOException; -import java.util.Collection; - -import org.apache.commons.io.FileUtils; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceWithChangesSCM; -import org.jvnet.hudson.test.For; -import org.jvnet.hudson.test.JenkinsRule; - -/** - * - * Test that looks in jobs archive with 2 builds. When LogRotator set as build - * discarder with settings to keep only 1 build with artifacts, test searches - * for jars in archive for build one and build two, expecting no jars in build 1 - * and expecting jars in build 2. - * - * - */ -public class MavenMultiModuleLogRotatorCleanArtifactsTest { - - - @Rule - public JenkinsRule j = new JenkinsRule(); - private MavenModuleSet m; - private FilePath jobs; - - private static class TestReporter extends MavenReporter { - /** - * - */ - private static final long serialVersionUID = 1L; - - @Override - public boolean end(MavenBuild build, Launcher launcher, - BuildListener listener) throws InterruptedException, - IOException { - Assert.assertNotNull(build.getProject().getSomeWorkspace()); - Assert.assertNotNull(build.getWorkspace()); - return true; - } - } - - @Before - public void setUp() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - m = j.createMavenProject(); - m.setBuildDiscarder(new LogRotator("-1", "2", "-1", "1")); - m.getReporters().add(new TestReporter()); - m.getReporters().add(new MavenFingerprinter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource( - "maven-multimod.zip"), getClass().getResource( - "maven-multimod-changes.zip"))); - j.buildAndAssertSuccess(m); - // Now run a second build with the changes. - m.setIncrementalBuild(false); - j.buildAndAssertSuccess(m); - FilePath workspace = m.getSomeWorkspace(); - FilePath parent = workspace.getParent().getParent(); - jobs = new FilePath(parent, "jobs"); - } - - @Test - @Bug(17508) - @For({MavenModuleSetBuild.class, LogRotator.class}) - @SuppressWarnings("unchecked") - public void testArtifactsAreDeletedInBuildOneWhenBuildDiscarderRun() - throws Exception { - File directory = new File(new FilePath(jobs, "test0/builds/1").getRemote()); - Collection files = FileUtils.listFiles(directory, - new String[] { "jar" }, true); - Assert.assertTrue( - "Found jars in previous build, that should not happen", - files.isEmpty()); - Collection files2 = FileUtils.listFiles(new File(new FilePath( - jobs, "test0/builds/2").getRemote()), new String[] { "jar" }, true); - Assert.assertFalse("No jars in last build ALERT!", files2.isEmpty()); - } - - /** - * Performs a third build and expecting build one to be deleted - * @throws Exception - */ - @For({MavenModuleSetBuild.class, LogRotator.class}) - @Test - public void testArtifactsOldBuildsDeletedWhenBuildDiscarderRun() - throws Exception { - j.buildAndAssertSuccess(m); - File directory = new File(new FilePath(jobs, "test0/builds/1").getRemote()); - Assert.assertFalse("oops the build should have been deleted", directory.exists()); - } - -} diff --git a/test/src/test/java/hudson/maven/MavenMultiModuleTest.java b/test/src/test/java/hudson/maven/MavenMultiModuleTest.java deleted file mode 100644 index 91137ba101..0000000000 --- a/test/src/test/java/hudson/maven/MavenMultiModuleTest.java +++ /dev/null @@ -1,622 +0,0 @@ -package hudson.maven; - -import com.gargoylesoftware.htmlunit.html.HtmlPage; -import hudson.FilePath; -import hudson.Functions; -import org.junit.Assert; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.ExtractResourceWithChangesSCM; -import org.jvnet.hudson.test.ExtractChangeLogSet; - -import hudson.Launcher; -import hudson.Util; -import hudson.maven.reporters.MavenArtifactRecord; -import hudson.maven.reporters.MavenFingerprinter; -import hudson.model.AbstractBuild; -import hudson.model.BuildListener; -import hudson.model.Job; -import hudson.model.PermalinkProjectAction; -import hudson.model.Result; -import hudson.model.Run; -import hudson.tasks.Fingerprinter.FingerprintAction; -import hudson.tasks.Maven.MavenInstallation; -import java.io.File; - -import java.io.IOException; -import java.util.Collections; -import java.util.Map; -import java.util.TreeMap; -import jenkins.model.ArtifactManager; -import java.util.Set; -import java.util.TreeSet; -import jenkins.model.ArtifactManagerConfiguration; -import jenkins.model.ArtifactManagerFactory; -import jenkins.util.VirtualFile; -import static org.junit.Assert.*; -import org.junit.Assume; -import org.junit.Ignore; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.JenkinsRule; - -/** - * @author Andrew Bayer - */ -public class MavenMultiModuleTest { - - @Rule public JenkinsRule j = new JenkinsRule(); - - /** - * NPE in {@code build.getProject().getWorkspace()} for {@link MavenBuild}. - */ - @Bug(4192) - @Test public void multiModMavenWsExists() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - assertFalse("MavenModuleSet.isNonRecursive() should be false", m.isNonRecursive()); - j.buildAndAssertSuccess(m); - } - - @Bug(18846) - @Test public void symlinksUpdated() throws Exception { - Assume.assumeFalse(Functions.isWindows()); - j.configureDefaultMaven(); - MavenModuleSet mms = j.createMavenProject(); - mms.setScm(new ExtractResourceSCM(MavenMultiModuleTest.class.getResource("maven-multimod.zip"))); - j.buildAndAssertSuccess(mms); - MavenModule mm = mms.getModule("org.jvnet.hudson.main.test.multimod:moduleA"); - j.buildAndAssertSuccess(mms); - assertEquals(2, mms.getLastStableBuild().number); - assertEquals(mms.getLastBuild().getId(), Util.resolveSymlink(new File(mms.getRootDir(), "builds/2"))); - assertEquals("2", Util.resolveSymlink(new File(mms.getRootDir(), "builds/lastStableBuild"))); - assertEquals("builds/lastStableBuild", Util.resolveSymlink(new File(mms.getRootDir(), "lastStable"))); - assertEquals("[lastBuild, lastStableBuild, lastSuccessfulBuild]", permalinks(mms).toString()); - assertEquals(2, mm.getLastStableBuild().number); - assertEquals(mm.getLastBuild().getId(), Util.resolveSymlink(new File(mm.getRootDir(), "builds/2"))); - assertEquals("2", Util.resolveSymlink(new File(mm.getRootDir(), "builds/lastStableBuild"))); - assertEquals("builds/lastStableBuild", Util.resolveSymlink(new File(mm.getRootDir(), "lastStable"))); - assertEquals("[lastBuild, lastStableBuild, lastSuccessfulBuild]", permalinks(mm).toString()); - } - private static Set permalinks(Job j) { - Set r = new TreeSet(); - for (PermalinkProjectAction.Permalink l : j.getPermalinks()) { - if (l.resolve(j) != null) { - r.add(l.getId()); - } - } - return r; - } - - @Test public void incrementalMultiModMaven() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.getReporters().add(new MavenFingerprinter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - j.buildAndAssertSuccess(m); - - // Now run a second build with the changes. - m.setIncrementalBuild(true); - j.buildAndAssertSuccess(m); - - MavenModuleSetBuild pBuild = m.getLastBuild(); - ExtractChangeLogSet changeSet = (ExtractChangeLogSet) pBuild.getChangeSet(); - - assertFalse("ExtractChangeLogSet should not be empty.", changeSet.isEmptySet()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleA")) { - assertEquals("moduleA should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - - long summedModuleDuration = 0; - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - summedModuleDuration += modBuild.getDuration(); - } - assertTrue("duration of moduleset build should be greater-equal than sum of the module builds", - pBuild.getDuration() >= summedModuleDuration); - - assertFingerprintWereRecorded(pBuild); - } - - private void assertFingerprintWereRecorded(MavenModuleSetBuild modulesetBuild) { - boolean mustHaveFingerprints = false; - for (MavenBuild moduleBuild : modulesetBuild.getModuleLastBuilds().values()) { - if (moduleBuild.getResult() != Result.NOT_BUILT && moduleBuild.getResult() != Result.ABORTED) { - assertFingerprintWereRecorded(moduleBuild); - mustHaveFingerprints = true; - } - } - - if (mustHaveFingerprints) { - FingerprintAction action = modulesetBuild.getAction(FingerprintAction.class); - Assert.assertNotNull(action); - Assert.assertFalse(action.getFingerprints().isEmpty()); - } - } - - private void assertFingerprintWereRecorded(MavenBuild moduleBuild) { - FingerprintAction action = moduleBuild.getAction(FingerprintAction.class); - Assert.assertNotNull(action); - Assert.assertFalse(action.getFingerprints().isEmpty()); - - MavenArtifactRecord artifactRecord = moduleBuild.getAction(MavenArtifactRecord.class); - Assert.assertNotNull(artifactRecord); - String fingerprintName = artifactRecord.mainArtifact.groupId + ":" + artifactRecord.mainArtifact.fileName; - - Assert.assertTrue("Expected fingerprint " + fingerprintName + " in module build " + moduleBuild, - action.getFingerprints().containsKey(fingerprintName)); - - // we should assert more - i.e. that all dependencies are fingerprinted, too, - // but it's complicated to find out the dependencies of the build - } - - @Bug(5357) - @Test public void incrRelMultiModMaven() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.setRootPOM("parent/pom.xml"); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod-rel-base.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - j.buildAndAssertSuccess(m); - - // Now run a second build with the changes. - m.setIncrementalBuild(true); - j.buildAndAssertSuccess(m); - - MavenModuleSetBuild pBuild = m.getLastBuild(); - ExtractChangeLogSet changeSet = (ExtractChangeLogSet) pBuild.getChangeSet(); - - assertFalse("ExtractChangeLogSet should not be empty.", changeSet.isEmptySet()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleA")) { - assertEquals("moduleA should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - - long summedModuleDuration = 0; - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - summedModuleDuration += modBuild.getDuration(); - } - assertTrue("duration of moduleset build should be greater-equal than sum of the module builds", - pBuild.getDuration() >= summedModuleDuration); - } - - - @Bug(6544) - @Ignore("kutzi 10/10/11 ignore test until I can figure out why it fails sometimes") - @Test public void estimatedDurationForIncrementalMultiModMaven() - throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource( - "maven-multimod.zip"), getClass().getResource( - "maven-multimod-changes.zip"))); - - j.buildAndAssertSuccess(m); - - // Now run a second, incremental build with the changes. - m.setIncrementalBuild(true); - j.buildAndAssertSuccess(m); - - MavenModuleSetBuild lastBuild = m.getLastBuild(); - MavenModuleSetBuild previousBuild = lastBuild.getPreviousBuild(); - assertNull("There should be only one previous build", previousBuild.getPreviousBuild()); - - // Since the estimated duration is calculated based on the previous builds - // and there was only one previous build (which built all modules) and this build - // did only build one module, the estimated duration of this build must be - // smaller than the duration of the previous build. - // (It's highly unlikely that the durations are equal, but I've already seen it fail. - // Therefore <= instead of <) - assertTrue("Estimated duration should be <= " + previousBuild.getDuration() - + ", but is " + lastBuild.getEstimatedDuration(), - lastBuild.getEstimatedDuration() <= previousBuild.getDuration()); - } - - /** - * NPE in {@code getChangeSetFor(m)} in {@link MavenModuleSetBuild} when incremental build is - * enabled and a new module is added. - */ - @Test public void newModMultiModMaven() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - m.setIncrementalBuild(true); - j.buildAndAssertSuccess(m); - } - - /** - * When "-N' or "--non-recursive" show up in the goals, any child modules should be ignored. - */ - @Bug(4491) - @Test public void multiModMavenNonRecursiveParsing() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.setGoals("clean install -N"); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - - j.buildAndAssertSuccess(m); - - MavenModuleSetBuild pBuild = m.getLastBuild(); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:multimod-top")) { - assertEquals("moduleA should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleA")) { - assertEquals("moduleA should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleB")) { - assertEquals("moduleB should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleC")) { - assertEquals("moduleC should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - - } - - } - - /** - * Module failures in build X should lead to those modules being re-run in build X+1, even if - * incremental build is enabled and nothing changed in those modules. - */ - @Bug(4152) - @Test public void incrementalMultiModWithErrorsMaven() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.setIncrementalBuild(true); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod-incr.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - j.assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - MavenModuleSetBuild pBuild = m.getLastBuild(); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleA")) { - assertEquals("moduleA should have Result.UNSTABLE", Result.UNSTABLE, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleD")) { - assertEquals("moduleD should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - - // Now run a second build with the changes. - j.assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - - pBuild = m.getLastBuild(); - ExtractChangeLogSet changeSet = (ExtractChangeLogSet) pBuild.getChangeSet(); - - assertFalse("ExtractChangeLogSet should not be empty.", changeSet.isEmptySet()); - // changelog contains a change for module B - assertEquals("Parent build should have Result.UNSTABLE", Result.UNSTABLE, pBuild.getResult()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - // A must be build again, because it was UNSTABLE before - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleA")) { - assertEquals("moduleA should have Result.UNSTABLE", Result.UNSTABLE, modBuild.getResult()); - } - // B must be build, because it has changes - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - // C must be build, because it depends on B - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - // D must not be build - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleD")) { - assertEquals("moduleD should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - } - } - - /** - * If "deploy modules" is checked and aggregator build failed - * then all modules build this time, have to be build next time, again. - */ - @Bug(5121) - @Test public void incrementalRedeployAfterAggregatorError() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.setIncrementalBuild(true); - m.getReporters().add(new TestReporter()); - m.getPublishers().add(new DummyRedeployPublisher()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod-incr.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - j.assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - MavenModuleSetBuild pBuild = m.getLastBuild(); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleA")) { - assertEquals("moduleA should have Result.UNSTABLE", Result.UNSTABLE, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleD")) { - assertEquals("moduleD should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - - // Now run a second build. - j.assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - - pBuild = m.getLastBuild(); - ExtractChangeLogSet changeSet = (ExtractChangeLogSet) pBuild.getChangeSet(); - - assertFalse("ExtractChangeLogSet should not be empty.", changeSet.isEmptySet()); - // changelog contains a change for module B - assertEquals("Parent build should have Result.UNSTABLE", Result.UNSTABLE, pBuild.getResult()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - // A must be build again, because it was UNSTABLE before - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleA")) { - assertEquals("moduleA should have Result.UNSTABLE", Result.UNSTABLE, modBuild.getResult()); - } - // B must be build, because it has changes - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - // C must be build, because it depends on B - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - // D must be build again, because it needs to be deployed now - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleD")) { - assertEquals("moduleD should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - } - - /** - * Test failures in a child module should lead to the parent being marked as unstable. - */ - @Bug(4378) - @Test public void multiModWithTestFailuresMaven() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod-incr.zip"))); - - j.assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - - MavenModuleSetBuild pBuild = m.getLastBuild(); - - assertEquals("Parent build should have Result.UNSTABLE", Result.UNSTABLE, pBuild.getResult()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleA")) { - assertEquals("moduleA should have Result.UNSTABLE", Result.UNSTABLE, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod.incr:moduleD")) { - assertEquals("moduleD should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - } - - @Bug(8484) - @Test public void multiModMavenNonRecursive() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = j.createMavenProject(); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - m.setGoals( "-N validate" ); - assertTrue("MavenModuleSet.isNonRecursive() should be true", m.isNonRecursive()); - j.buildAndAssertSuccess(m); - assertEquals("not only one module", 1, m.getModules().size()); - } - - @Bug(17713) - @Test public void modulesPageLinks() throws Exception { - j.configureMaven3(); - MavenModuleSet ms = j.createMavenProject(); - ms.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - j.buildAndAssertSuccess(ms); - MavenModule m = ms.getModule("org.jvnet.hudson.main.test.multimod:moduleA"); - assertNotNull(m); - assertEquals(1, m.getLastBuild().getNumber()); - JenkinsRule.WebClient wc = j.createWebClient(); - HtmlPage modulesPage = wc.getPage(ms, "modules"); - modulesPage.getAnchorByText(m.getDisplayName()).openLinkInNewWindow(); - } - - @Bug(17236) - @Test public void artifactArchiving() throws Exception { - ArtifactManagerConfiguration.get().getArtifactManagerFactories().add(new TestAMF()); - j.configureDefaultMaven(); // using Maven 2 so we can test single-module builds - MavenModuleSet mms = j.createMavenProject(); - mms.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - mms.setAssignedNode(j.createOnlineSlave()); - j.buildAndAssertSuccess(mms); - // We want all the artifacts in a given module to be archived in one operation. But modules are archived separately. - Map> expected = new TreeMap>(); - FilePath ws = mms.getModule("org.jvnet.hudson.main.test.multimod$multimod-top").getBuildByNumber(1).getWorkspace(); - expected.put("org.jvnet.hudson.main.test.multimod:multimod-top", Collections.singletonMap("org.jvnet.hudson.main.test.multimod/multimod-top/1.0-SNAPSHOT/multimod-top-1.0-SNAPSHOT.pom", new FilePath(ws.getChannel(), "…/org/jvnet/hudson/main/test/multimod/multimod-top/1.0-SNAPSHOT/multimod-top-1.0-SNAPSHOT.pom"))); - for (String module : new String[] {"moduleA", "moduleB", "moduleC"}) { - Map m = new TreeMap(); - ws = mms.getModule("org.jvnet.hudson.main.test.multimod$" + module).getBuildByNumber(1).getWorkspace(); - m.put("org.jvnet.hudson.main.test.multimod/" + module + "/1.0-SNAPSHOT/" + module + "-1.0-SNAPSHOT.pom", ws.child("pom.xml")); - m.put("org.jvnet.hudson.main.test.multimod/" + module + "/1.0-SNAPSHOT/" + module + "-1.0-SNAPSHOT.jar", ws.child("target/" + module + "-1.0-SNAPSHOT.jar")); - expected.put("org.jvnet.hudson.main.test.multimod:" + module, m); - } - assertEquals(expected.toString(), TestAM.archivings.toString()); // easy to read - assertEquals(expected, TestAM.archivings); // compares also FileChannel - // Also check single-module build. - expected.clear(); - TestAM.archivings.clear(); - MavenBuild isolated = j.buildAndAssertSuccess(mms.getModule("org.jvnet.hudson.main.test.multimod$moduleA")); - assertEquals(2, isolated.number); - Map m = new TreeMap(); - ws = isolated.getWorkspace(); - m.put("org.jvnet.hudson.main.test.multimod/moduleA/1.0-SNAPSHOT/moduleA-1.0-SNAPSHOT.pom", ws.child("pom.xml")); - m.put("org.jvnet.hudson.main.test.multimod/moduleA/1.0-SNAPSHOT/moduleA-1.0-SNAPSHOT.jar", ws.child("target/moduleA-1.0-SNAPSHOT.jar")); - expected.put("org.jvnet.hudson.main.test.multimod:moduleA", m); - assertEquals(expected, TestAM.archivings); - } - - public static final class TestAMF extends ArtifactManagerFactory { - @Override public ArtifactManager managerFor(Run build) { - return new TestAM(build); - } - } - public static final class TestAM extends ArtifactManager { - static final Map> archivings = new TreeMap>(); - transient Run build; - TestAM(Run build) { - onLoad(build); - } - @Override public void onLoad(Run build) { - this.build = build; - } - @Override public void archive(FilePath workspace, Launcher launcher, BuildListener listener, Map artifacts) throws IOException, InterruptedException { - String name = build.getParent().getName(); - if (archivings.containsKey(name)) { - // Would be legitimate only if some archived files for a given module were outside workspace, such as repository parent POM, *and* others were inside, which is not the case in this test. - throw new IOException("repeated archiving to " + name); - } - Map m = new TreeMap(); - for (Map.Entry e : artifacts.entrySet()) { - FilePath f = workspace.child(e.getValue()); - if (f.exists()) { - if (f.getRemote().replace('\\', '/').contains("/org/jvnet/hudson/main/test/")) { - // Inside the local repository. Hard to know exactly what that path might be, so just mask it out. - f = new FilePath(f.getChannel(), f.getRemote().replaceFirst("^.+(?=[/\\\\]org[/\\\\]jvnet[/\\\\]hudson[/\\\\]main[/\\\\]test[/\\\\])", "…")); - } - m.put(e.getKey(), f); - } else { - throw new IOException("no such file " + f); - } - } - archivings.put(name, m); - } - @Override public boolean delete() throws IOException, InterruptedException { - throw new IOException(); - } - @Override public VirtualFile root() { - throw new UnsupportedOperationException(); - } - } - - /* - @Test public void parallelMultiModMavenWsExists() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setAggregatorStyleBuild(false); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - assertBuildStatusSuccess(m.scheduleBuild2(0).get()); - - for (MavenModule mod : m.sortedActiveModules) { - while (mod.getLastBuild() == null) { - Thread.sleep(500); - } - - while (mod.getLastBuild().isBuilding()) { - Thread.sleep(500); - } - - assertBuildStatusSuccess(mod.getLastBuild()); - } - - - - } - - @Test public void privateRepoParallelMultiModMavenWsExists() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setAggregatorStyleBuild(false); - m.setUsePrivateRepository(true); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-multimod.zip"))); - assertBuildStatusSuccess(m.scheduleBuild2(0).get()); - - for (MavenModule mod : m.sortedActiveModules) { - while (mod.getLastBuild() == null) { - Thread.sleep(500); - } - - while (mod.getLastBuild().isBuilding()) { - Thread.sleep(500); - } - - assertBuildStatusSuccess(mod.getLastBuild()); - } - - } - */ - private static class TestReporter extends MavenReporter { - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - assertNotNull(build.getProject().getWorkspace()); - assertNotNull(build.getWorkspace()); - return true; - } - } - - private static class DummyRedeployPublisher extends RedeployPublisher { - public DummyRedeployPublisher() { - super("", "", false, false); - } - - @Override - public boolean perform(AbstractBuild build, Launcher launcher, - BuildListener listener) throws InterruptedException, - IOException { - return true; - } - } -} diff --git a/test/src/test/java/hudson/maven/MavenMultiModuleTestIncremental.java b/test/src/test/java/hudson/maven/MavenMultiModuleTestIncremental.java deleted file mode 100755 index 2ebaee49c2..0000000000 --- a/test/src/test/java/hudson/maven/MavenMultiModuleTestIncremental.java +++ /dev/null @@ -1,70 +0,0 @@ -package hudson.maven; - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.Result; -import hudson.tasks.Maven.MavenInstallation; - -import java.io.IOException; - -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractChangeLogSet; -import org.jvnet.hudson.test.ExtractResourceWithChangesSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -/** - * @author Andrew Bayer - */ -public class MavenMultiModuleTestIncremental extends HudsonTestCase { - - @Bug(7684) - public void testRelRootPom() throws Exception { - configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = createMavenProject(); - m.setRootPOM("parent/pom.xml"); - m.getReporters().add(new TestReporter()); - m.setScm(new ExtractResourceWithChangesSCM(getClass().getResource("maven-multimod-rel-base.zip"), - getClass().getResource("maven-multimod-changes.zip"))); - - buildAndAssertSuccess(m); - - // Now run a second build with the changes. - m.setIncrementalBuild(true); - buildAndAssertSuccess(m); - - MavenModuleSetBuild pBuild = m.getLastBuild(); - ExtractChangeLogSet changeSet = (ExtractChangeLogSet) pBuild.getChangeSet(); - - assertFalse("ExtractChangeLogSet should not be empty.", changeSet.isEmptySet()); - - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - String parentModuleName = modBuild.getParent().getModuleName().toString(); - if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleA")) { - assertEquals("moduleA should have Result.NOT_BUILT", Result.NOT_BUILT, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleB")) { - assertEquals("moduleB should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - else if (parentModuleName.equals("org.jvnet.hudson.main.test.multimod:moduleC")) { - assertEquals("moduleC should have Result.SUCCESS", Result.SUCCESS, modBuild.getResult()); - } - } - - long summedModuleDuration = 0; - for (MavenBuild modBuild : pBuild.getModuleLastBuilds().values()) { - summedModuleDuration += modBuild.getDuration(); - } - assertTrue("duration of moduleset build should be greater-equal than sum of the module builds", - pBuild.getDuration() >= summedModuleDuration); - } - - private static class TestReporter extends MavenReporter { - private static final long serialVersionUID = 1L; - - @Override - public boolean end(MavenBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - assertNotNull(build.getWorkspace()); - return true; - } - } -} diff --git a/test/src/test/java/hudson/maven/MavenOptsTest.java b/test/src/test/java/hudson/maven/MavenOptsTest.java deleted file mode 100644 index a86bd1969a..0000000000 --- a/test/src/test/java/hudson/maven/MavenOptsTest.java +++ /dev/null @@ -1,127 +0,0 @@ -package hudson.maven; - -import hudson.maven.MavenModuleSet.DescriptorImpl; -import org.jvnet.hudson.test.HudsonTestCase; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import hudson.EnvVars; -import hudson.model.Result; -import hudson.tasks.Maven.MavenInstallation; - -/** - * @author Andrew Bayer - */ -public class MavenOptsTest extends HudsonTestCase { - DescriptorImpl d; - - @Override - protected void setUp() throws Exception { - super.setUp(); - d = jenkins.getDescriptorByType(DescriptorImpl.class); - } - - @Override - protected void tearDown() throws Exception { - d.setGlobalMavenOpts(null); - super.tearDown(); - } - - public void testEnvMavenOptsNoneInProject() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - m.setAssignedLabel(createSlave(new EnvVars("MAVEN_OPTS", "-Dhudson.mavenOpt.test=foo")).getSelfLabel()); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=foo]", m.getLastBuild()); - } - - - public void testEnvMavenOptsOverriddenByProject() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - m.setMavenOpts("-Dhudson.mavenOpt.test=bar"); - m.setAssignedLabel(createSlave(new EnvVars("MAVEN_OPTS", "-Dhudson.mavenOpt.test=foo")).getSelfLabel()); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=bar]", m.getLastBuild()); - } - - public void testEnvAndGlobalMavenOptsOverriddenByProject() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - d.setGlobalMavenOpts("-Dhudson.mavenOpt.test=bar"); - m.setAssignedLabel(createSlave(new EnvVars("MAVEN_OPTS", "-Dhudson.mavenOpt.test=foo")).getSelfLabel()); - m.setMavenOpts("-Dhudson.mavenOpt.test=baz"); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=baz]", m.getLastBuild()); - } - - - public void testGlobalMavenOpts() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - d.setGlobalMavenOpts("-Dhudson.mavenOpt.test=bar"); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=bar]", m.getLastBuild()); - } - - public void testGlobalMavenOptsOverridenByProject() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - d.setGlobalMavenOpts("-Dhudson.mavenOpt.test=bar"); - m.setMavenOpts("-Dhudson.mavenOpt.test=foo"); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=foo]", m.getLastBuild()); - } - - @Bug(5651) - public void testNewlinesInOptsRemoved() throws Exception { - configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-surefire-unstable.zip"))); - m.setMavenOpts("-XX:MaxPermSize=512m\r\n-Xms128m\r\n-Xmx512m"); - m.setGoals("install"); - - assertBuildStatus(Result.UNSTABLE, m.scheduleBuild2(0).get()); - MavenModuleSetBuild pBuild = m.getLastBuild(); - - assertEquals("Parent build should have Result.UNSTABLE", Result.UNSTABLE, pBuild.getResult()); - - } - - /** - * Makes sure that environment variables in MAVEN_OPTS are properly expanded. - */ - public void testEnvironmentVariableExpansion() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setMavenOpts("$FOO"); - m.setScm(new ExtractResourceSCM(getClass().getResource("maven-opts-echo.zip"))); - m.setGoals("validate"); - m.setAssignedLabel(createSlave(new EnvVars("FOO", "-Dhudson.mavenOpt.test=foo -Dhudson.mavenOpt.test2=bar")).getSelfLabel()); - - buildAndAssertSuccess(m); - - assertLogContains("[hudson.mavenOpt.test=foo]", m.getLastBuild()); - } - -} - diff --git a/test/src/test/java/hudson/maven/MavenProjectTest.java b/test/src/test/java/hudson/maven/MavenProjectTest.java deleted file mode 100644 index 0fbfd3ead3..0000000000 --- a/test/src/test/java/hudson/maven/MavenProjectTest.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2004-2010, Sun Microsystems, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven; - -import hudson.maven.local_repo.DefaultLocalRepositoryLocator; -import hudson.maven.local_repo.PerJobLocalRepositoryLocator; -import hudson.model.AbstractProject; -import hudson.model.Item; -import hudson.model.Result; -import hudson.tasks.Maven.MavenInstallation; -import hudson.tasks.Shell; - -import java.io.File; - -import jenkins.model.Jenkins; -import jenkins.mvn.DefaultGlobalSettingsProvider; -import jenkins.mvn.DefaultSettingsProvider; -import jenkins.mvn.FilePathGlobalSettingsProvider; -import jenkins.mvn.FilePathSettingsProvider; -import jenkins.mvn.GlobalMavenConfig; - -import org.junit.Assert; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -import java.net.HttpURLConnection; - -/** - * @author huybrechts - */ -public class MavenProjectTest extends HudsonTestCase { - - - public void testOnMaster() throws Exception { - MavenModuleSet project = createSimpleProject(); - project.setGoals("validate"); - - buildAndAssertSuccess(project); - } - - @Bug(16499) - public void testCopyFromExistingMavenProject() throws Exception { - MavenModuleSet project = createSimpleProject(); - project.setGoals("abcdefg"); - project.save(); - - MavenModuleSet copy = (MavenModuleSet) Jenkins.getInstance().copy((AbstractProject)project, "copy" + System.currentTimeMillis()); - assertNotNull("Copied project must not be null", copy); - assertEquals(project.getGoals(), copy.getGoals()); - } - - private MavenModuleSet createSimpleProject() throws Exception { - return createProject("/simple-projects.zip"); - } - - private MavenModuleSet createProject(final String scmResource) throws Exception { - MavenModuleSet project = createMavenProject(); - MavenInstallation mi = configureDefaultMaven(); - project.setScm(new ExtractResourceSCM(getClass().getResource( - scmResource))); - project.setMaven(mi.getName()); - project.setLocalRepository(new PerJobLocalRepositoryLocator()); - return project; - } - - public void testOnSlave() throws Exception { - MavenModuleSet project = createSimpleProject(); - project.setGoals("validate"); - project.setAssignedLabel(createSlave().getSelfLabel()); - - buildAndAssertSuccess(project); - } - - /** - * Check if the generated site is linked correctly. - */ - @Bug(3497) - public void testSiteBuild() throws Exception { - MavenModuleSet project = createSimpleProject(); - project.setGoals("site"); - - buildAndAssertSuccess(project); - - // this should succeed - HudsonTestCase.WebClient wc = new WebClient(); - wc.getPage(project,"site"); - wc.assertFails(project.getUrl() + "site/no-such-file", HttpURLConnection.HTTP_NOT_FOUND); - } - - /** - * Check if the generated site is linked correctly for multi module projects. - */ - public void testMultiModuleSiteBuild() throws Exception { - MavenModuleSet project = createProject("maven-multimodule-site.zip"); - project.setGoals("site"); - - buildAndAssertSuccess(project); - - // this should succeed - HudsonTestCase.WebClient wc = new WebClient(); - wc.getPage(project, "site"); - wc.getPage(project, "site/core"); - wc.getPage(project, "site/client"); - - //@Bug(7577): check that site generation succeeds also if only a single module is build - MavenModule coreModule = project.getModule("mmtest:core"); - Assert.assertEquals("site", coreModule.getGoals()); - buildAndAssertSuccess(coreModule); - wc.getPage(project, "site/core"); - } - - /** - * Check if the the site goal will work when run from a slave. - */ - @Bug(5943) - public void testMultiModuleSiteBuildOnSlave() throws Exception { - MavenModuleSet project = createProject("maven-multimodule-site.zip"); - project.setGoals("site"); - project.setAssignedLabel(createSlave().getSelfLabel()); - - buildAndAssertSuccess(project); - - // this should succeed - HudsonTestCase.WebClient wc = new WebClient(); - wc.getPage(project, "site"); - wc.getPage(project, "site/core"); - wc.getPage(project, "site/client"); - } - - @Bug(6779) - public void testDeleteSetBuildDeletesModuleBuilds() throws Exception { - MavenModuleSet project = createProject("maven-multimod.zip"); - project.setLocalRepository(new DefaultLocalRepositoryLocator()); - project.setGoals("install"); - buildAndAssertSuccess(project); - buildAndAssertSuccess(project.getModule("org.jvnet.hudson.main.test.multimod:moduleB")); - buildAndAssertSuccess(project); - assertEquals(2, project.getBuilds().size()); // Module build does not add a ModuleSetBuild - project.getFirstBuild().delete(); - // A#1, B#1 and B#2 should all be deleted too - assertEquals(1, project.getModule("org.jvnet.hudson.main.test.multimod:moduleA").getBuilds().size()); - assertEquals(1, project.getModule("org.jvnet.hudson.main.test.multimod:moduleB").getBuilds().size()); - } - @Bug(7261) - public void testAbsolutePathPom() throws Exception { - File pom = new File(this.getClass().getResource("test-pom-7162.xml").toURI()); - MavenModuleSet project = createMavenProject(); - MavenInstallation mi = configureDefaultMaven(); - project.setMaven(mi.getName()); - project.setRootPOM(pom.getAbsolutePath()); - project.setGoals("install"); - buildAndAssertSuccess(project); - } - - @Bug(17177) - public void testCorrectResultInPostStepAfterFailedPreBuildStep() throws Exception { - MavenModuleSet p = createSimpleProject(); - MavenInstallation mi = configureDefaultMaven(); - p.setMaven(mi.getName()); - p.setGoals("initialize"); - - Shell pre = new Shell("exit 1"); // must fail to simulate scenario! - p.getPrebuilders().add(pre); - ResultExposingBuilder resultExposer = new ResultExposingBuilder(); - p.getPostbuilders().add(resultExposer); - - assertBuildStatus(Result.FAILURE, p.scheduleBuild2(0).get()); - assertEquals("The result passed to the post build step was not the one from the pre build step", Result.FAILURE, resultExposer.getResult()); - } - - - /** - * Config roundtrip test around pre/post build step - */ - public void testConfigRoundtrip() throws Exception { - MavenModuleSet m = createMavenProject(); - Shell b1 = new Shell("1"); - Shell b2 = new Shell("2"); - m.getPrebuilders().add(b1); - m.getPostbuilders().add(b2); - configRoundtrip((Item)m); - - assertEquals(1, m.getPrebuilders().size()); - assertNotSame(b1,m.getPrebuilders().get(Shell.class)); - assertEquals("1",m.getPrebuilders().get(Shell.class).getCommand()); - - assertEquals(1, m.getPostbuilders().size()); - assertNotSame(b2,m.getPostbuilders().get(Shell.class)); - assertEquals("2",m.getPostbuilders().get(Shell.class).getCommand()); - - for (Result r : new Result[]{Result.SUCCESS, Result.UNSTABLE, Result.FAILURE}) { - m.setRunPostStepsIfResult(r); - configRoundtrip((Item)m); - assertEquals(r,m.getRunPostStepsIfResult()); - } - } - - - public void testDefaultSettingsProvider() throws Exception { - { - MavenModuleSet m = createMavenProject(); - - assertNotNull(m); - assertEquals(DefaultSettingsProvider.class, m.getSettings().getClass()); - assertEquals(DefaultGlobalSettingsProvider.class, m.getGlobalSettings().getClass()); - } - - { - GlobalMavenConfig globalMavenConfig = GlobalMavenConfig.get(); - assertNotNull("No global Maven Config available", globalMavenConfig); - globalMavenConfig.setSettingsProvider(new FilePathSettingsProvider("/tmp/settigns.xml")); - globalMavenConfig.setGlobalSettingsProvider(new FilePathGlobalSettingsProvider("/tmp/global-settigns.xml")); - - MavenModuleSet m = createMavenProject(); - assertEquals(FilePathSettingsProvider.class, m.getSettings().getClass()); - assertEquals("/tmp/settigns.xml", ((FilePathSettingsProvider)m.getSettings()).getPath()); - assertEquals("/tmp/global-settigns.xml", ((FilePathGlobalSettingsProvider)m.getGlobalSettings()).getPath()); - } - } -} diff --git a/test/src/test/java/hudson/maven/MavenSnapshotTriggerTest.java b/test/src/test/java/hudson/maven/MavenSnapshotTriggerTest.java deleted file mode 100644 index b898e29b18..0000000000 --- a/test/src/test/java/hudson/maven/MavenSnapshotTriggerTest.java +++ /dev/null @@ -1,75 +0,0 @@ -package hudson.maven; - -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -/** - * Tests that Maven jobs are triggered, when snapshot dependencies of them were build. - * - * @author Andrew Bayer - */ -public class MavenSnapshotTriggerTest extends HudsonTestCase { - /** - * Verifies dependency build ordering of SNAPSHOT dependency. - * Note - has to build the projects once each first in order to get dependency info. - */ - public void testSnapshotDependencyBuildTrigger() throws Exception { - - configureDefaultMaven(); - MavenModuleSet projA = createMavenProject("snap-dep-test-up"); - projA.setGoals("clean install"); - projA.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-A.zip"))); - MavenModuleSet projB = createMavenProject("snap-dep-test-down"); - projB.setGoals("clean install"); - projB.setIgnoreUpstremChanges(false); - projB.setQuietPeriod(0); - projB.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-B.zip"))); - - buildAndAssertSuccess(projA); - buildAndAssertSuccess(projB); - - projA.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-A-changed.zip"))); - buildAndAssertSuccess(projA); - - // at this point runB2 should be in the queue, so wait until that completes. - waitUntilNoActivityUpTo(90*1000); - assertEquals("Expected most recent build of second project to be #2", 2, projB.getLastBuild().getNumber()); - } - - /** - * Verifies dependency build ordering of multiple SNAPSHOT dependencies. - * Note - has to build the projects once each first in order to get dependency info. - * B depends on A, C depends on A and B. Build order should be A->B->C. - */ - public void testMixedTransitiveSnapshotTrigger() throws Exception { - configureDefaultMaven(); - - MavenModuleSet projA = createMavenProject("snap-dep-test-up"); - projA.setGoals("clean install"); - projA.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-A.zip"))); - - MavenModuleSet projB = createMavenProject("snap-dep-test-mid"); - projB.setGoals("clean install"); - projB.setIgnoreUpstremChanges(false); - projB.setQuietPeriod(0); - projB.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-B.zip"))); - - MavenModuleSet projC = createMavenProject("snap-dep-test-down"); - projC.setGoals("clean install"); - projC.setIgnoreUpstremChanges(false); - projC.setQuietPeriod(0); - projC.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-C.zip"))); - - buildAndAssertSuccess(projA); - buildAndAssertSuccess(projB); - buildAndAssertSuccess(projC); - - projA.setScm(new ExtractResourceSCM(getClass().getResource("maven-dep-test-A-changed.zip"))); - - buildAndAssertSuccess(projA); - - waitUntilNoActivityUpTo(90*1000); // wait until dependency build trickles down - assertEquals("Expected most recent build of second project to be #2", 2, projB.getLastBuild().getNumber()); - assertEquals("Expected most recent build of third project to be #2", 2, projC.getLastBuild().getNumber()); - } -} diff --git a/test/src/test/java/hudson/maven/ModuleDependencyLocator.java b/test/src/test/java/hudson/maven/ModuleDependencyLocator.java deleted file mode 100644 index 88f3620e4a..0000000000 --- a/test/src/test/java/hudson/maven/ModuleDependencyLocator.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven; - -import hudson.ExtensionPoint; -import hudson.ExtensionList; -import hudson.Extension; -import jenkins.model.Jenkins; -import org.apache.maven.project.MavenProject; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - -/** - * Extension point in Hudson to find additional dependencies from {@link MavenProject}. - * - *

- * Maven plugin configurations often have additional configuration entries to specify - * artifacts that a build depends on. Plugins can contribute an implementation of - * this interface to find such hidden dependencies. - * - *

- * To register implementations, put {@link Extension} on your subclass. - * - * @author Kohsuke Kawaguchi - * @since 1.264 - * @see HUDSON-2685 - */ -public abstract class ModuleDependencyLocator implements ExtensionPoint { - /** - * Discovers hidden dependencies. - * - * @param project - * In memory representation of Maven project, from which the hidden dependencies will be extracted. - * Never null. - * @param pomInfo - * Partially filled {@link PomInfo} object. Dependencies returned from this method will be - * added to this object by the caller. - */ - public abstract Collection find(MavenProject project, PomInfo pomInfo); - - /** - * Returns all the registered {@link ModuleDependencyLocator} descriptors. - */ - public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ModuleDependencyLocator.class); - } - - /** - * Facade of {@link ModuleDependencyLocator}. - */ - /*package*/ static class ModuleDependencyLocatorFacade extends ModuleDependencyLocator { - @Override - public Collection find(MavenProject project, PomInfo pomInfo) { - Set r = new HashSet(); - for (ModuleDependencyLocator m : all()) - r.addAll(m.find(project,pomInfo)); - return r; - } - } -} diff --git a/test/src/test/java/hudson/maven/PlexusModuleContributorTest.java b/test/src/test/java/hudson/maven/PlexusModuleContributorTest.java deleted file mode 100644 index 9c893fe446..0000000000 --- a/test/src/test/java/hudson/maven/PlexusModuleContributorTest.java +++ /dev/null @@ -1,73 +0,0 @@ -package hudson.maven; - -import hudson.FilePath; -import hudson.model.AbstractBuild; -import hudson.remoting.Which; -import hudson.slaves.DumbSlave; -import hudson.tasks.Maven.MavenInstallation; -import org.junit.Rule; -import org.junit.Test; -import org.jvnet.hudson.test.JenkinsRule; -import org.jvnet.hudson.test.SingleFileSCM; -import org.jvnet.hudson.test.TestExtension; -import test.BogusPlexusComponent; - -import java.io.File; -import java.io.IOException; - -/** - * @author Kohsuke Kawaguchi - */ -public class PlexusModuleContributorTest { - @Rule - public JenkinsRule j = new JenkinsRule(); - - - /** - * Tests the effect of PlexusModuleContributor by trying to parse a POM that uses a custom packaging - * that only exists inside our custom jar. - */ - @Test - public void testCustomPlexusComponent() throws Exception { - j.configureDefaultMaven("apache-maven-2.2.1", MavenInstallation.MAVEN_21); - MavenModuleSet p = j.createMavenProject(); - p.setScm(new SingleFileSCM("pom.xml",getClass().getResource("custom-plexus-component.pom"))); - p.setGoals("clean"); - j.assertBuildStatusSuccess(p.scheduleBuild2(0)); - } - - @Test - public void testCustomPlexusComponent_Maven3() throws Exception { - j.configureDefaultMaven("apache-maven-3.0.1", MavenInstallation.MAVEN_30); - MavenModuleSet p = j.createMavenProject(); - p.setScm(new SingleFileSCM("pom.xml",getClass().getResource("custom-plexus-component.pom"))); - p.setGoals("clean"); - j.assertBuildStatusSuccess(p.scheduleBuild2(0)); - } - - @Test - public void testCustomPlexusComponent_Maven3_slave() throws Exception { - j.configureDefaultMaven("apache-maven-3.0.1", MavenInstallation.MAVEN_30); - DumbSlave s = j.createSlave(); - s.toComputer().connect(false).get(); - - MavenModuleSet p = j.createMavenProject(); - p.setAssignedLabel(s.getSelfLabel()); - - p.setScm(new SingleFileSCM("pom.xml",getClass().getResource("custom-plexus-component.pom"))); - p.setGoals("clean"); - j.assertBuildStatusSuccess(p.scheduleBuild2(0)); - } - - @TestExtension - public static class PlexusLoader extends PlexusModuleContributorFactory { - @Override - public PlexusModuleContributor createFor(AbstractBuild context) throws IOException, InterruptedException { - File bogusPlexusJar = Which.jarFile(BogusPlexusComponent.class); - final FilePath localJar = context.getBuiltOn().getRootPath().child("cache/bogusPlexus.jar"); - localJar.copyFrom(new FilePath(bogusPlexusJar)); - - return PlexusModuleContributor.of(localJar); - } - } -} diff --git a/test/src/test/java/hudson/maven/RedeployPublisherTest.java b/test/src/test/java/hudson/maven/RedeployPublisherTest.java deleted file mode 100644 index d1d46e8e59..0000000000 --- a/test/src/test/java/hudson/maven/RedeployPublisherTest.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven; - -import hudson.model.Result; -import hudson.tasks.Maven.MavenInstallation; - -import org.apache.commons.lang.StringUtils; -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.SingleFileSCM; -import org.jvnet.hudson.test.Email; - -import java.io.File; -import java.io.FilenameFilter; -import java.util.Arrays; -import static org.junit.Assert.*; -import org.junit.Assume; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.TemporaryFolder; -import org.jvnet.hudson.test.JenkinsRule; - -/** - * @author Kohsuke Kawaguchi - */ -public class RedeployPublisherTest { - - @Rule public JenkinsRule j = new JenkinsRule(); - @Rule public TemporaryFolder tmp = new TemporaryFolder(); - - @Bug(2593) - @Test - public void testBug2593() throws Exception { - Assume.assumeFalse("Not a v4.0.0 POM. for project org.jvnet.maven-antrun-extended-plugin:maven-antrun-extended-plugin at /home/jenkins/.m2/repository/org/jvnet/maven-antrun-extended-plugin/maven-antrun-extended-plugin/1.39/maven-antrun-extended-plugin-1.39.pom", "https://jenkins.ci.cloudbees.com/job/core/job/jenkins_main_trunk/".equals(System.getenv("JOB_URL"))); - j.configureDefaultMaven(); - MavenModuleSet m2 = j.createMavenProject(); - File repo = tmp.getRoot(); - - // a fake build - m2.setScm(new SingleFileSCM("pom.xml",getClass().getResource("big-artifact.pom"))); - m2.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),true, false)); - - MavenModuleSetBuild b = m2.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.SUCCESS, b); - - // TODO: confirm that the artifacts use a consistent timestamp - // TODO: we need to somehow introduce a large delay between deploy since timestamp is only second precision - // TODO: or maybe we could use a btrace like capability to count the # of invocations? - - System.out.println(repo); - } - - @Test - public void testConfigRoundtrip() throws Exception { - MavenModuleSet p = j.createMavenProject(); - RedeployPublisher rp = new RedeployPublisher("theId", "http://some.url/", true, true); - p.getPublishersList().add(rp); - j.submit(j.new WebClient().getPage(p,"configure").getFormByName("config")); - j.assertEqualBeans(rp,p.getPublishersList().get(RedeployPublisher.class),"id,url,uniqueVersion,evenIfUnstable"); - } - -// /** -// * Makes sure that the webdav wagon component we bundle is compatible. -// */ -// public void testWebDavDeployment() throws Exception { -// configureDefaultMaven(); -// MavenModuleSet m2 = createMavenProject(); -// -// // a fake build -// m2.setScm(new SingleFileSCM("pom.xml",getClass().getResource("big-artifact.pom"))); -// m2.getPublishersList().add(new RedeployPublisher("","dav:http://localhost/dav/",true)); -// -// MavenModuleSetBuild b = m2.scheduleBuild2(0).get(); -// assertBuildStatus(Result.SUCCESS, b); -// } - - /** - * Are we having a problem in handling file names with multiple extensions, like ".tar.gz"? - */ - @Email("http://www.nabble.com/tar.gz-becomes-.gz-after-Hudson-deployment-td25391364.html") - @Bug(3814) - @Test - public void testTarGz() throws Exception { - j.configureDefaultMaven(); - MavenModuleSet m2 = j.createMavenProject(); - File repo = tmp.getRoot(); - - // a fake build - m2.setScm(new SingleFileSCM("pom.xml",getClass().getResource("targz-artifact.pom"))); - m2.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),false, false)); - - MavenModuleSetBuild b = m2.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.SUCCESS, b); - - assertTrue("tar.gz doesn't exist",new File(repo,"test/test/0.1-SNAPSHOT/test-0.1-SNAPSHOT-bin.tar.gz").exists()); - } - - @Test - public void testTarGzUniqueVersionTrue() throws Exception { - j.configureDefaultMaven(); - MavenModuleSet m2 = j.createMavenProject(); - File repo = tmp.getRoot(); - - // a fake build - m2.setScm(new SingleFileSCM("pom.xml",getClass().getResource("targz-artifact.pom"))); - m2.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),true, false)); - - MavenModuleSetBuild b = m2.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.SUCCESS, b); - - File artifactDir = new File(repo,"test/test/0.1-SNAPSHOT/"); - String[] files = artifactDir.list( new FilenameFilter() - { - - public boolean accept( File dir, String name ) - { - System.out.print( "deployed file " + name ); - return name.contains( "-bin.tar.gz" ) || name.endsWith( ".jar" ) || name.endsWith( "-bin.zip" ); - } - }); - System.out.println("deployed files " + Arrays.asList( files )); - assertFalse("tar.gz doesn't exist",new File(repo,"test/test/0.1-SNAPSHOT/test-0.1-SNAPSHOT-bin.tar.gz").exists()); - assertTrue("tar.gz doesn't exist",!files[0].contains( "SNAPSHOT" )); - for (String file : files) { - if (file.endsWith( "-bin.tar.gz" )) { - String ver = StringUtils.remove( file, "-bin.tar.gz" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals("-bin.tar.gz not ended with 1 , file " + file , "1", ver); - } - if (file.endsWith( ".jar" )) { - String ver = StringUtils.remove( file, ".jar" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals(".jar not ended with 1 , file " + file , "1", ver); - } - if (file.endsWith( "-bin.zip" )) { - String ver = StringUtils.remove( file, "-bin.zip" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals("-bin.zip not ended with 1 , file " + file , "1", ver); - } - } - - } - - @Test - public void testTarGzMaven3() throws Exception { - - MavenModuleSet m3 = j.createMavenProject(); - MavenInstallation mvn = j.configureMaven3(); - m3.setMaven( mvn.getName() ); - File repo = tmp.getRoot(); - // a fake build - m3.setScm(new SingleFileSCM("pom.xml",getClass().getResource("targz-artifact.pom"))); - m3.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),false, false)); - - MavenModuleSetBuild b = m3.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.SUCCESS, b); - - assertTrue( MavenUtil.maven3orLater( b.getMavenVersionUsed() ) ); - File artifactDir = new File(repo,"test/test/0.1-SNAPSHOT/"); - String[] files = artifactDir.list( new FilenameFilter() - { - - public boolean accept( File dir, String name ) - { - return name.endsWith( "tar.gz" ); - } - }); - assertFalse("tar.gz doesn't exist",new File(repo,"test/test/0.1-SNAPSHOT/test-0.1-SNAPSHOT-bin.tar.gz").exists()); - assertTrue("tar.gz doesn't exist",!files[0].contains( "SNAPSHOT" )); - } - - @Test - public void testTarGzUniqueVersionTrueMaven3() throws Exception { - MavenModuleSet m3 = j.createMavenProject(); - MavenInstallation mvn = j.configureMaven3(); - m3.setMaven( mvn.getName() ); - File repo = tmp.getRoot(); - // a fake build - m3.setScm(new SingleFileSCM("pom.xml",getClass().getResource("targz-artifact.pom"))); - m3.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),true, false)); - - MavenModuleSetBuild b = m3.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.SUCCESS, b); - - assertTrue( MavenUtil.maven3orLater( b.getMavenVersionUsed() ) ); - - File artifactDir = new File(repo,"test/test/0.1-SNAPSHOT/"); - String[] files = artifactDir.list( new FilenameFilter() - { - - public boolean accept( File dir, String name ) - { - return name.contains( "-bin.tar.gz" ) || name.endsWith( ".jar" ) || name.endsWith( "-bin.zip" ); - } - }); - System.out.println("deployed files " + Arrays.asList( files )); - assertFalse("tar.gz doesn't exist",new File(repo,"test/test/0.1-SNAPSHOT/test-0.1-SNAPSHOT-bin.tar.gz").exists()); - assertTrue("tar.gz doesn't exist",!files[0].contains( "SNAPSHOT" )); - for (String file : files) { - if (file.endsWith( "-bin.tar.gz" )) { - String ver = StringUtils.remove( file, "-bin.tar.gz" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals("-bin.tar.gz not ended with 1 , file " + file , "1", ver); - } - if (file.endsWith( ".jar" )) { - String ver = StringUtils.remove( file, ".jar" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals(".jar not ended with 1 , file " + file , "1", ver); - } - if (file.endsWith( "-bin.zip" )) { - String ver = StringUtils.remove( file, "-bin.zip" ); - ver = ver.substring( ver.length() - 1, ver.length() ); - assertEquals("-bin.zip not ended with 1 , file " + file , "1", ver); - } - } - } - - @Bug(3773) - @Test - public void testDeployUnstable() throws Exception { - j.configureDefaultMaven(); - MavenModuleSet m2 = j.createMavenProject(); - File repo = tmp.getRoot(); - // a build with a failing unit tests - m2.setScm(new ExtractResourceSCM(getClass().getResource("maven-test-failure-findbugs.zip"))); - m2.getPublishersList().add(new RedeployPublisher("",repo.toURI().toString(),false, true)); - - MavenModuleSetBuild b = m2.scheduleBuild2(0).get(); - j.assertBuildStatus(Result.UNSTABLE, b); - - assertTrue("Artifact should have been published even when the build is unstable", - new File(repo,"test/test/1.0-SNAPSHOT/test-1.0-SNAPSHOT.jar").exists()); - } -} diff --git a/test/src/test/java/hudson/maven/ResultExposingBuilder.java b/test/src/test/java/hudson/maven/ResultExposingBuilder.java deleted file mode 100644 index 2bc74dd15d..0000000000 --- a/test/src/test/java/hudson/maven/ResultExposingBuilder.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2013, Dominik Bartholdi - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven; - -import hudson.Launcher; -import hudson.model.BuildListener; -import hudson.model.Result; -import hudson.model.AbstractBuild; -import hudson.tasks.Builder; - -import java.io.IOException; - -/** - * @author Dominik Bartholdi (imod) - */ -public class ResultExposingBuilder extends Builder { - private Result result; - - public ResultExposingBuilder() { - } - - @Override - public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { - result = build.getResult(); - return super.perform(build, launcher, listener); - } - - public Result getResult() { - return result; - } -} \ No newline at end of file diff --git a/test/src/test/java/hudson/maven/reporters/MavenMailerTest.java b/test/src/test/java/hudson/maven/reporters/MavenMailerTest.java deleted file mode 100644 index 3c1c727e12..0000000000 --- a/test/src/test/java/hudson/maven/reporters/MavenMailerTest.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2011, Dominik Bartholdi - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven.reporters; - -import hudson.maven.MavenModuleSet; -import hudson.model.Result; -import hudson.tasks.Mailer; -import hudson.tasks.Mailer.DescriptorImpl; - -import javax.mail.Address; -import javax.mail.internet.InternetAddress; - -import jenkins.model.Jenkins; - -import org.jvnet.hudson.test.Bug; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; -import org.jvnet.mock_javamail.Mailbox; - -/** - * - * @author imod (Dominik Bartholdi) - * - */ -public class MavenMailerTest extends HudsonTestCase { - - @Bug(5695) - public void testMulipleMails() throws Exception { - - // there is one module failing in the build, therefore we expect one mail for the failed module and one for the over all build status - final Mailbox inbox = runMailTest(true); - assertEquals(2, inbox.size()); - - } - - @Bug(5695) - public void testSingleMails() throws Exception { - - final Mailbox inbox = runMailTest(false); - assertEquals(1, inbox.size()); - - } - - public Mailbox runMailTest(boolean perModuleEamil) throws Exception { - - final DescriptorImpl mailDesc = Jenkins.getInstance().getDescriptorByType(Mailer.DescriptorImpl.class); - - // intentionally give the whole thin in a double quote - Mailer.descriptor().setAdminAddress("\"me \""); - - String recipient = "you "; - Mailbox yourInbox = Mailbox.get(new InternetAddress(recipient)); - yourInbox.clear(); - - configureDefaultMaven(); - MavenModuleSet mms = createMavenProject(); - mms.setGoals("test"); - mms.setScm(new ExtractResourceSCM(getClass().getResource("/hudson/maven/maven-multimodule-unit-failure.zip"))); - assertBuildStatus(Result.UNSTABLE, mms.scheduleBuild2(0).get()); - - MavenMailer m = new MavenMailer(); - m.recipients = recipient; - m.perModuleEmail = perModuleEamil; - mms.getReporters().add(m); - - mms.scheduleBuild2(0).get(); - - Address[] senders = yourInbox.get(0).getFrom(); - assertEquals(1, senders.length); - assertEquals("me ", senders[0].toString()); - - return yourInbox; - } - -} diff --git a/test/src/test/java/hudson/maven/reporters/MavenSiteArchiverTest.java b/test/src/test/java/hudson/maven/reporters/MavenSiteArchiverTest.java deleted file mode 100644 index 359fb4913e..0000000000 --- a/test/src/test/java/hudson/maven/reporters/MavenSiteArchiverTest.java +++ /dev/null @@ -1,16 +0,0 @@ -package hudson.maven.reporters; - -import org.jvnet.hudson.test.HudsonTestCase; -import hudson.maven.MavenProjectTest; - -/** - * @author Kohsuke Kawaguchi - */ -public class MavenSiteArchiverTest extends HudsonTestCase { - /** - * Makes sure that the site archiving happens automatically. - * The actual test resides in {@link MavenProjectTest#testSiteBuild()} - */ - public void testSiteArchiving() throws Exception { - } -} diff --git a/test/src/test/java/hudson/maven/reporters/SurefireArchiverTest.java b/test/src/test/java/hudson/maven/reporters/SurefireArchiverTest.java deleted file mode 100644 index 7e3ae538ee..0000000000 --- a/test/src/test/java/hudson/maven/reporters/SurefireArchiverTest.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * The MIT License - * - * Copyright (c) 2010, InfraDNA, Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package hudson.maven.reporters; - -import hudson.maven.MavenBuild; -import hudson.maven.MavenModuleSet; -import hudson.maven.MavenModuleSetBuild; -import hudson.maven.MavenProjectActionBuilder; -import hudson.maven.reporters.SurefireArchiver.FactoryImpl; -import hudson.model.Result; -import org.jvnet.hudson.test.ExtractResourceSCM; -import org.jvnet.hudson.test.HudsonTestCase; - -/** - * @author Kohsuke Kawaguchi - */ -public class SurefireArchiverTest extends HudsonTestCase { - public void testSerialization() throws Exception { - configureDefaultMaven(); - MavenModuleSet m = createMavenProject(); - m.setScm(new ExtractResourceSCM(getClass().getResource("../maven-surefire-unstable.zip"))); - m.setGoals("install"); - - MavenModuleSetBuild b = m.scheduleBuild2(0).get(); - assertBuildStatus(Result.UNSTABLE, b); - - - MavenBuild mb = b.getModuleLastBuilds().values().iterator().next(); - boolean foundFactory=false,foundSurefire=false; - for (MavenProjectActionBuilder x : mb.getProjectActionBuilders()) { - if (x instanceof FactoryImpl) - foundFactory = true; - if (x instanceof SurefireArchiver) - foundSurefire = true; - } - - assertTrue(foundFactory); - assertFalse(foundSurefire); - } - -} diff --git a/test/src/test/resources/hudson/maven/HUDSON-4192.zip b/test/src/test/resources/hudson/maven/HUDSON-4192.zip deleted file mode 100644 index 24e286e883e6dadfd1ad92dd5e44fec0e9486672..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2117 zcmWIWW@Zs#U|`^2Ff8S<-lK5%gFGVxLm?9b13QB#LqUG7UPW$BXb2|*Gp~8GmnIO0 zRP) zhPJiWZ55^*I)8ZI483hC4-Z8sX>^+hn%q6n)Bb&u(CMW=+G9)nA2u$zKlh?!HG)7*vnm{=Blna$oWd_G3+3aw6aK^Sv&aeE(&~Lgl$DQo1@Pah{r4=)m#! zjKhW1?^xo+KbKrc4P0}(@}lWGF`K56srN3od6lj;nE%|QKvsQ5?W30~pXE=>uVV}V z1}qmaU>U#x3uZtG7GS^@7bWXs4OQIQIHB4~Qj1GS)ys#hH!HC$kyHbOF$}=(3`CMz zR8zW#516DXfJsUoyD5$Z1tCCB>46-EHBf2;5BeQ8;Mx0JyXKA7#d|kXGs^jLY8-G{0!kybG#*Zse8f4ITVQ9QL&c|kNgKlKWZ5n|7{8GCoGr${8uP<5 z<2J|U<-aDS2c8W*WVS$U-t*i!oU_hIZJfF3BwP($*k~w0=VLaNXj1KXv}G z@%kT5*fC&(a5)PRwx~r4a@YoAHx0FbA<~_wfwq|$;!bGRBGL@hKzomD1|@-J nz=Gr$A_EOIlOYFM8FteUSq{astZbkJ%mswcfr0J83gQ6(!{}fZ diff --git a/test/src/test/resources/hudson/maven/JENKINS-1557.zip b/test/src/test/resources/hudson/maven/JENKINS-1557.zip deleted file mode 100644 index 95a102f9f39f5b676e1e80dfe57dd730b8910ea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3420 zcmWIWW@Zs#U|`^2;E&C+UdL>5qm_w)!IYhWft^8yp&&n3uOc@mG=!6ZS*=9z9UtcV+UM2; zd=h?p!CjJf!rS%n%k+b5OpdC2*L~q98erROHqSPnL&Ng0Q_#w(tKWCcSuLv8$8hlZxd9G8b|$v;Ul@@#PT5TC)X=hX2=2y?ml+SxzGC**Uj1DH0{K%T}v8mIrwHwDw$?* zd$n-r;v=kUwZnhqn)^L>eXg?Oe)RT3JI-%=k;Ax9VWQ=`o9kDJiN4SY;}I9kvO4>` zPWr3GzEV>FR@~!d&{SGg)VnoH2?USV{e2{ zRzBNtCfP|n$XoT{+ylu%{hc-we!fed>ptb5$LnR^cW&WKa`UTsZer;5EB&B-o#_cC z74h8b!k?~vDoL-GzBl_|s7Jn&wEVn3{~p9Yod5ov?bdwLC(+CP%JPM=@P^;(``uGE z=i#60LiYdm$Q$ju{nI`Gn2Nc8shEKwwJ6IP%zzRsz*JmZl&lXR- zxOHjmDN=eE$ zBGW(_+y*9NCJ%8u*z*OeW$iQGmoZ-Qlxdl0? zp?R4lA;1Ks2Z}&&x;)_Y(+h;r(&gITjeJc80&V3&_a3^%W<7e9awqlxyT)5i(HEwB z!&HuxZ&%%6x$92R{qOau50|`3?Ou=}vTNbujHJ_xx@Vo7cWRN&nHMM6D_pXhc2rwF za@i+tTC~IC*wn&}l08hO9%(Bk89vZ`IFqr4b<3=W+Eb2B5^eCUnsia%(r2%Q#@p7) zXeqbfwKMj%YiGVP_n|1$x!1-!LY&%8w)7=2_?~3Rd|s;L{r>*M&Ay^vqF?JzEU^P+ zBS`S{0E1_*o>k!{VDPvBgU6VZ;PFHa8x3H%fG|eb?Cv{cAmUQ({jXhfp`noO)vm1B zxewT7e&;25)U1t}-G1TU?^}W;Q%o+OnQ3`)*XFmJed>>`@6B5GC8_OE>tjFdwTGru zoU@oJvFYdBw=UuH&Oh^*^gS#iG3e#72M^q|o19~NzT9QFpd0+9Nqp^9XYB_k<1H$l zMExz0b9%$y8MEPW*4-JbEN0R&?F!s%nb*sgtWrE^`lQjj?fI_O-tSMBoc$NIN4WNA z)}o&;e|LDSmikY)l*vuZB%A=T7jv*u25bbiN*SNH zC*3$<6yw~HjYEzK(hcTAF?b5H!O&5#fI|)Y=Bo5_$|%O8rOL&zA9ZX z+hUu^?=M$xrL})-lyy|PX7G>8<0Y5<|B6G=Tgn2%JpWfrzk9Re;M)?bg_p(OZ-`u9 z{O9@0k4IfCHu!iX&wL`VTY97Mye^{$GJ^KCfhi>=$?bkS|KTL`Ho~k`_1+TV!teFLKzW&}>tY_H{ znNReRlW5z;_di(U`g-2CsQvIWo>;i+&gPxp zJ=|3+tR^*xTxig_?IQKc1}&II>D@I_u@cwR8u13HjVS*$NYK1c`q!; zs_2)R6DFnT?5(}r`G@M|{{g@xzy(YK3=C&ulAXW|D8T|u0>wqi`r!Ci)G!XL$Bci3 z?n!96Iib396EpK5Mr>9$4txQ`Xh{gS5q!u-WF?j*BFs6A-5f|-207)WTwGv0&?ALF zEQMi?YeiyiK~Ab3$WXBNKyJfg=3^}l-%}@j!aUA->ga_Pto1mfd%`nx#j_v=rWGND zo=Kb&v`(M*2|VF@=FDXdJSD{8LPe&i zJxx*5R(Y->Cazu4){r6+r0o^-IjBoC;gra#ojXJt7*=i5u{UPTX>3yqaAV{;&;yMY zMkYCCT;-w!IFNzGB*T_Q5EEWXvO-EpG&cu$gABu!!ytw+FbFXGb!28@faW)#Nud0O z$0W?$hHR1})Ff!$0~!ZP-y|5v$AD~H3$k(0l!VVrT)7ZA8w|n*>Pr& zwJ!R9Pc`*o(8NX8<9G_o%F3qgHrZ!)O6_*>>z1(9HDO_u$3!o04Y(cp@5hIQ5l^nO zNUx5!{46Md?*9LErv2>|Y)q>E8e$vz^x{>^ohOWRO3%*D zuRX59m0)s^DKon?+wN*hX5=ZpI^Iy(4C$V>fCYiCk8-EV^=;Bls$gL~_A=|_o|^a^ zyZd+Y?e5toY>}TD6jHQ_FKn~^+64Pez3jbjjyXy1GnQF=g5%08>2+B%`XA^qB(Heg zIPv@SFi!iA(ub9s)sI~%QsHIOKkaHc|3`1)@huOJ6tmy_TmGKS_ifKP_2Y??dD^R1 zGU}_G2*^CKd;VXR`Oz1zq#mkIEP3W~aUz=ri^j4!EV|{pw&rLUII$_j%-*o!{H?Mh zk!;;cB3_jbtX$7a>M#0u=g?+_d)o}Ae6G}JURHYU`M%;QK2D|2*H+{mZd$)`QMBI9 zPbc?Z^y^uj95|Wnp7Z9*=foBDRvz-0b6nJ1C1{g~+%`3#sM`}R8+&@4cHKHd@o4{A zXCG~Tu>dW;>D=vY!R+!9t$(guy&_-MCAIzXzt{E2H3eVVKX31CE8K6%7qNCn_QU!8 zF@M+sfC-BWn6MZa&aNx412dom3ov077bWY1Q&p34qwhQ*MoU!)-S5zJb3%2Oq!yPz zjMxv1WZjVC?IGuq;vrJ{l{*1OG!oshE`w+p+khpjs*oFz*y1)1u;CbK@pA?*|mWO z{SF)O?0v3X^G0jpy_cyO<$O6c4%c?6=J+l;lIWB1zi;w3o?at)nUn8-?hU`b^4Wr_ zmScQH7RBYK<}58*C+5U|uBz#KhRMlus~P>T$v@#^zWV(@FIUC%4ZX8wD6ZNh5^zY{ zxS@h??pJ||j~ySL%t_fGr1!3WSL3r4P9B$47?^f^n0#RiW19cRsmCKtLpi1Uy98eF zy8l(%=$5l=&D=*hl6B8|5`s40edIUwzUBpyr4723xxZE)(%O7XXQflgi|+V}xeL2@ z`0oDZadCEz?4`~kzBuj;$8R#-UTV-N@^NzhB9pfr6#nz4Dd``FW!(4sDf+v% zU%YK`PfAWc%v;fJOMW?2t143Zo`h9z!$EG7jsQ3Z&l zu^R@;qvE@zvGyJfpkfsTNSgNtBTR;db<#2g|`=x1;9Z z&G^Cq-5gjBMwo+=gGn+AmV;5vqE-&ZWh!Yo_;%KeV?Ds=+5*HH$WaCkLy+GQ?gg0) z%)tb6uWs)~zGed+m-70fQ&$?a@F%>wHg}=((FbfTi`0%NEfih#4ov@iJeKls_2 zZ(Zx$6U^sce0J0K@m}Wh$xb^DyFXc8=3B|3rgyWW=w|jJi>mzU{Kic;U-p{)VhZqP zWRhdX)t-?6`kH|OSb#AsX#}z0ts7QI>jte@f*6LY4ucrRz#zcz)-e)TAVO+1ph;K? zIAoJB>oa7NrbA7F)^0%KK(!kQ4&!4$HtrU(anO81*om0A1ldd_V9O8WS+En~=_WLU zbaQ1;+?t2gTts>##|8xy8;%gL0g{*S`2$y72nioZ%93Nj7Cs1nK=Tz+&4|xNNbEqU{(dl#yvnb4!L3gx)W4}V>K98wSXKlx@<`9L>P>y zB=A{)Js+Yb_c_QGP${`T!7vk2MG%fO^lXHh+zr@~0t23n5Xpq{D1*vU0fz0s)OU^p!~+1>SwWuw diff --git a/test/src/test/resources/hudson/maven/JENKINS-9326.zip b/test/src/test/resources/hudson/maven/JENKINS-9326.zip deleted file mode 100644 index a9b50b23ae9b516ccdf022681c0d75665101bf9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12849 zcmds7cRZEh+ZV~+BP%m293!$aGmnw%k+S#RC6sZHjFe4e?~sv@tYl5&d_Jc`p6h$x*Y$kw>$<3p247| z4&Nj9hCl5r2Ct&ioHAyPSfvL`Dy1|%BiU9UdHidviLMrm1I-yOh!Mrz-O zY`}Ai$sHyfz@sW$6coB6d~kBK2YK1sebgRz?B^l$l^_1DrsZ8U=0PH@5vz#F!eEbD zddn-Rb}EsISaeX;&uaL4SBpgSQ&V#ibM7hj&27=~G0$hsZA1BIFmTiom7GPAqgI?y z81D(6Y?)i`*w~(Zwah8z6*B<#4erE^0qSH(j@h^l373(9iIvmu48bN7+P}` z1bSo}kQMr`k3vq>+IuCimIv*8GQ*=NW zBWf;QnZv%aeHy(XYJL(6X_7N+(LMs;R~RH`&$wVnsXg(+b*A{jB1> zi5+TH&o}KSF6Qf$V2Fr5c)&B@&{*flukosG@oFjnX2pj_pN@5S0iA|p~8cH-ln^`wH~^2`}h z#%sHK--$cSYcJ**q3Z>-Y#DoncshMIcYg1~*Bi_{Al@paj6--+`WEYCv+j+g%L>|0 zCkQ4M6}T!FRlUE{hL!n+d^-6l*>q%YvC8s9V5K|7>ogF)S6kzPnUP9oXJ)=!l4)rw zmFJxjR4ygAQi(L9X3{H|c@t0Z)~dgwp;y!D`MgULouIR-;r%=oW8;`J!;I}@H^vtK z-fwfs^_>ru?j<(1<+C4>Muxf_EqN;HYXif;o=eS}R}arPCy}lrH*;4vxCBz=5-qL> z-mUBcZgxI~g2HgP5y;fe*wxj^*v%>?N<|5cmk`qZMTfK6^Uam!CWo+>*yM$M#aEbB zAd6PX&5G&^^;N0m>uR(17GBfuKNiXPNfhg*%dB25I5wJ(I^?A^`ubCy&!_Q%-Vzq-D0su#&s%$ZeVK^Lk^lK>$?)IYklt|V3`OSjO+TJ!e)RVgrFXliGD=zAeq)hcY}dY zyy*VI-u_NyeVSp+|F)oPuDE2P^4t5bPAiwSw0f4+WQB2Msm-#F3$Cg7PDSeP?RY#x z1A`{guagqIrs+98U!tcue${dF;_I>pc?!ljEcMcSQzp|+Vl^7MVgt9RO0kTK6wMU$ z+SIuWNop}VE21+dCw((C%aaq`XY^}s8x7w19MsA`tR7$Tyd1TbbmHCvLV&}t8``=22RQ&hAiy_K z;QMDSgq20meu#gWL;qrKYG>`_Y7Vk7a|4+=x|jnGz}&($CPE6kk%v@f^8w?8I0X^e zLmaY`*#2oJLl(h+Z9VGwH;v z@MOQhnvTvOQ09AcNH(vNt*n2%wTS&`gbW>nFu|8BDU4p#S`r#Q!EXOeU8#lF8I&(i zcHn=UvbScsV7~s9l_J`+GVYX<>YX~Jo^zHZ3)BkEMQ9vRchQVrihT{8_L`AjM*p2+ z6{LxIc7Werz~`U+cQP}F^Pj5?>OUcRkB=(vgt$;v8tGF)XLii%$HME0DOsGe*=er^ zK3g0~4(oeJwesKzoe1sDsZ$rW-#lF{Vj`f-W98q9K3zTg@*&vUyiWHT(<`EJ z${jkooEjnjhA_?$$i)tbe1DEn-4Pt1Kl~x8$ZAS)DXPlBQD78cP_Ue+bP`~N0#JbC zFRWFhR2Ai9H8epga$2umVf#yxqEFOaWcY0PGK5?%NisBzoN`gVu08Ob(wcmoPeA|r zWASm}88)>qX?QjMebFTfuFn)a$ZLpnaV3WMSXgvzh{Hv;~`7uX%CZiGfNkx)tsC%&jeul&1k;fL$^F<+YXa43 zzwWrJsa$N7B=iYWDAmpjp`-VmkX<$+c|<{M(ySB^N=O`uQ~c!k@SwxDt5=$>CJC11 zDJ^k^Wj;9YIa+v3zgpPcy5WQ2bo&AtJ0zM8H$`-OY3=zXMom?YFEvwC3TFqI_Fks& zZbG`W{7#>^&EU!+mPdt)^IAWW!RPZhHVKYySxE@)g|3(fR`U0rVLq*uAjiG-mTuWO z5<|Up%}jr+BkJM8UcFR`v0e@+$Yu>|gY*&8#kSDdHZ@|!{rtKYH;dchmUhq5 z?mHz0rhTRv3w*oxUMz%z18#3YjKB)szh>4CR=B!byP3nK03iVGUBnfA9)KI4fRE&V z0|(`X1{8RoAVF#!;0wHjVsjd{_O?C`G1Un#ojftBeVpA*i_|U;N2mJjVD>0Wl>GOO zn2AP$<&5UGjZ$_KRLd?i7FO1^y_KC46R4tEq!jq!Da)*;#KzTeU9KnZ$K8-|qtGK` zhP+YcJl-AnV0pxhMWb7-T2p_U12Wk*7yoeJY-AaPQG1>(qp^pEjmxp|{9TXJ(aL<~ z7%XH%y1Ha*OHI+KXIgtGznW%rs8J^xX$zO=ZSSf2MBROjAw@`vF0rg) zlIY%hj$LtBrTP13`)Gl&?1_=Cw(8B~WVb1k{sG1A3L-G5kFvc#P$?VCP$0Xr?iG`g zbFziVy5jmwCreta#ogjU`xy$s@)_dZ*fKJCu+G-rXY$mCG?iW-ZoxHv?kYh7p1~ev1=BpU^I~A)_;_mhaW*-w=AB@})!;@FJ-;uB_0v|S?d2#qeYw$Z zyZ8En3?!HDyQat5fEJfYP+n_uvOj)n{{EUj6B&PuwjmDYjb8OU!F()_(cIalorEe} z9vYh~P43>l7Z>v-F5Puc3f(; z2de{%c1!KpZW`GQY;?;CE4*%qn4W>Br2qVv!O-BSk+ADQ&TJ+Go=-*g%2MsJ_=07( z>)sCfZte-k ziySDtQ<$$>MVXV;V)1lV%Ii&yx8Tcf>!q19Ki$aBZ+eBx({vKH7y5_Vfy`lKwc~Mb z8r@4EZpJ{CkodRw?Zd%p2Q-N85lS{_yttB^C&r~ZNN>B|w8IXfP2+MaN?<$dAQoLZ zCCygteadoJUAmTVwZFf$=FSHU)#K{fPK1;t$C)b91gI8k*FYe>+lE*d#r*8&KBul- z5!PpmNdS8ledVp3u^h?j-tgYD^H8M!~>3gO~L*$b!WE|6kEV<3P#itNsq~KLFT-QX!AS&(3IF zbOSaj1F7uW4Km){at|&$|Jxq2YCbpTZ24Z~XzMJ=PNGY!Jte^VdhWU5 zCFcBkz2ViiO003lqT^*#x%d-J>yFLgLjKbdYbMK2CIhi!0yOQ{IlK(DgBrE!D62Pi zX8pYIZqSCVMwqUT2|h)Itw?B8fI$4Z4q?YH{rx+y(x2QHIFRq>0F0lh5=glRU2V`W zOXz?8m2xLSQ0|K8j*jSt27*mIodJSkvX_!%%(dG&-&j;U=pJzJtIprJbmltJ2smIfSvpPu5yDrDi1ioR6pKbRzcHkv#3RQu3K zpB$up_TxpK(@P8VqLaxK7;$O#T}HzEQIq-@+Vo8FjZxx&avxk{+WHZ+{Wdi;X!a#u z76;1xUtB**w7cC7Q=gS?&Z3`1=idXH#WyEpd)*+~sdV%NfrD+D(N=t?j2A>j9uy0H z68$OKJE5YT3=r+j2cn&eXdHcqE_M2cXfOOF+H2rSFXBT-DoMGK=yj-J5^jh|A@Hmj zfrN{+dcq9hq`F~515~QZZu$m2@$B&@mkUD;@RueYmTm7>$_-2P0w@=(@MI{B1BB zY^A2KhLzM;uU{Vti3F8!c)3HaY}Ju9KVEL@_h1WB$C1`^%|qSAq?+v67-|<85Ip@+ zE-F^-24^Yz@s7MIU-}qZF&hV(RIY>>T}RmJP(oN8SLW2zZofgCxsuYE|-8da#8r~ zOy^ejcxwGIJClAX|A(AfZ^!SIk+6N&%59NK%W{b_Vf&1MacdkWz4&|Oa|_dx(j~X}^eG_Q4bp>niDqHtre0y3aGSVh;8r=511+XH?XDvFI{(o>{x- z^`q=qvtxiKVDy*ij4K( z>Fe21*=A#qFp)Q>3W-|Qv_e`<&p)I=bA25aqO^D!yFhR}!Ty*E(;F8_d#jFz*xRu@ zB#EhaOq-_YBQm436Ju?MmFdpPimRk7(4^cLrd*t>An_V+Q#5*D2LXk1MQz9(V@sFu zCdbjG2`HFu$viK;JwmyV+`?kj8`&VRS{xZRUNX3;F#NWChv0ss)BMR;i3bx6y!oxU zDj_}KXfDE%5I*p^xjsxGMzcCRvm*TO{?gnp&#qX@1!adCdh2CBZ@2Et1AkD77O#l6 z{Eh<4_SOKsy7y}6z5uj>9u9E*4ZZd^sQcUkjv7@PB}s$2v$BfN(XqKF@RiF$4en5r zXybu+7INGRFMwGoF;bOuSU@*W=-Rz@Ntk)UyriQ%30t4=eKV8NQkcn}r9?9-I zA5tC_$kv;{_NFm6-!Zt@N1Hp)*=2ntd19sy)DmldZ;o@jyQEAmX8Zi}5LbRehRbs) zZBx=(w%)HI3T`(DhXiQlGzqG@ zHW&nFG{z12I))FN4fZAmm5N?p9X?2^6@WMFEhLsAbf!C8 zH7vQd(u(w=*trx=$PK9{*+^Zvs=bY-cN@#|o$t-tlzl9mFL~tzEer2*QJhK9luvu3 zW4Bvwd{*BmPNu6{>grtayp`v;tEVil`BKux*(-Kt#VR3vZ1neV3Em|HKP#yO%i(^B zyfs88!?)^D$>D)6791Voi|J^GwPA4m$*h5s$2?yAJz8bubivHX9eS-BoU-}O=kx_H ze_U*P7(hAOFkH8uY*>5OCfK;2bb?X-`Gs%}D`Soim(~p{x0-+8u5uSqS-5^`uzZryW}Yf}&-6lHPLzOCX|Jn}w}Uhv+ISkt0@Dk-;N8Mdgb)#3r$%Va%}CX+z1Ys4k2ez1Clt@{$B27jfCiI|nI+MW)9`{J zeok99BP=Ufk}plNvIW(gIBKhR#M3zCvp9;ZDYBftz7m+BGHi~R@{Hr|xLGSBwtm55PP!}RV57G!v z%N$oX;u{^4^ZBsJN`O6duePbvSJ>rTGgX=!Nq{VMp7!OdLDYnP^WUs6IF#j>A7Bc%^FRwsnu}?*0udnQ*(BI6w6?O#5!TIa{oc7U>y+{H>y9gw| zKYaQ*r=O`0-a*6wK~K~7FKATbjw1v6+3A7#hwOBH9|Y=O=iwkQWe)Ekvh!&e+z|Sq zbNW46`?NuJkPCD0+lj-$eyKaexgj3x!sd1!<1gS27mJ7kA)cVZ4TSlR1N|<|;2D4z zAo~4LfPbM3IEHoTKyVrgMg?T2p0H_4`~@1Eu!5f^;)x+t*X>`>X)<9SI?a6r14{{r zK+qN|4CwOFKu~#d)U2SQ5eAmekou^P+|X}tde9@Z%R@%GQYGyCZlx<24Hx6orF z*l0cYhmVG^--QQ7cK!ncy-aW@D3TP8*!KT@Wrz|TinYH@gRKlipx;-9+tEOXD+3Yi z_mxrlpTYilWo-O4CeoFGcvt~@9OA%Bt$&u(A0P)`@vwDw=zhP_yX67hhGd(B*gAD45@$&DbmkgHhgpu z#R;_EyMIATL<68z{&0CpbTrT*6&Pz?kvKnt2On`LRS?@0`*2XI)c*|}j4FsZ p8p;$zT@M4F2Uz~+<3uQFKbf+Rj1I^pX#1T9B?8!@g#Td2{{Ums3BmvX diff --git a/test/src/test/resources/hudson/maven/big-artifact.pom b/test/src/test/resources/hudson/maven/big-artifact.pom deleted file mode 100644 index b7812b68e8..0000000000 --- a/test/src/test/resources/hudson/maven/big-artifact.pom +++ /dev/null @@ -1,67 +0,0 @@ - - - - - 4.0.0 - test - test - 0.1-SNAPSHOT - - - - - org.jvnet.maven-antrun-extended-plugin - maven-antrun-extended-plugin - 1.39 - - - package - - - This is my artifact - So is this - - - - - - run - - - - - - - - - - m.g.o-public - http://maven.glassfish.org/content/groups/public/ - - - - \ No newline at end of file diff --git a/test/src/test/resources/hudson/maven/custom-plexus-component.pom b/test/src/test/resources/hudson/maven/custom-plexus-component.pom deleted file mode 100644 index 941a182de9..0000000000 --- a/test/src/test/resources/hudson/maven/custom-plexus-component.pom +++ /dev/null @@ -1,34 +0,0 @@ - - - - - 4.0.0 - test - test - 0.1-SNAPSHOT - bogus - \ No newline at end of file diff --git a/test/src/test/resources/hudson/maven/envars-maven-project.zip b/test/src/test/resources/hudson/maven/envars-maven-project.zip deleted file mode 100644 index 802d3c0e4a4b2546c69ab679c2934bdee196c304..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3374 zcmWIWW@Zs#-~hszt2OKxkN_tG3xls~h@-BjpPT-_Qw$8u3<2Kk93T};P-Ou)HH!dM zz%~0i`gyv!28ZbRx_$ONbK1vSSMMUPx31Q?Gv_x48C)@b@U%$J%U8$K_hRWP7S0(j zC67o;YGtrYf2R2(O-=l%c(~Z~CC|jPE1s#o&iqvLv4|1ukXcQ?4c&p(fH1-#$9qtH z!3C7f&q>U!)GJ9XF46YX)eAgv-t)}bCrn^NEDk+$;RPz;Mlpo77u67Uplm^Yu3klM z&e707|Jw!vbWo>|_4n_V@7q0XzRgtD%mWcCuYP=@(5222vdVbnr^hGXo)!O9S2XFvsTb}ZvW^=z z9iP0k`0A96K_&~70y|4MCz@IA-Zf|AVvTQ(Ohvy^p0e$YTD$1#?FQ?f$IRc7%k12f zG*^UNjI?0Bu^=frSs zTaDZl>Dch}$Vsn^w4!UmoVH5rew0)DB=L~NPlcfNw40X-Y>Fyf>bIUu{L*($-*5f1 zc>R2fY`2wDG!$o6u6$ChdwG7!I|DXL(}=cg?FTvvHeYy`9%(FXxs-5w%a{8VmmgaR`^`>thHJt8n9>4t_F_UIlYHU z3XL-sTo9e%Z!KISbIAX{;-7UH`(mzL?|!KjAbD;j%kIDnyKkK{eDyGSZOxUy`-eWR z2((SwUCOv6@5(>p6>7iAste1CzyGYNE35pt>FQC2ZJJ$vHJ)*+>fdkKm|Lj4`}%qD ztvbJ!?9qB9W1b|ub@TOSEA-yH-E}theD$*cEk)*Rn^lSWJR%A@7y7n_)}EIrz?F*pL25I?Zk_6DU2x#1ebT_UfIw(yY{m~ z%-p}vZ#8vJ+to5X@8_-^hp%nC?^>|hC3X6(*#GLKum8+F<-5Kxr=06>=iS=lCk`Jg zspmU+Pal*G|EX-0ZUN>)Up7eU2c>fc2K3a=0u(DQN(Sm+X2Gt46RHA~JMbvuLspiR zSeA%Ktq_LVSeI1&#eUNDoD($#G_MzfX>8%0T$v@#^zWV(@FIUC%4ZX8wD6ZNh z5^zY{xS@h??pJ||j~ySL%t_fGr1!3WSL3r4P9B$47?^f^n0#RiW19cRsmCKtLpi1U zy98eFy8l(%=$5l=&D=*hl6B8|5`s40edIUwzUBpyr4723xxZE)(%O7XXQflgi|+V} zxeL2@`0oDZadCEz?4`~kzBuj;$8R#-UTV-N@^NzhB9pfr6#nz4Dd``FW!(4s zDf+v%U%YK`PfAWc%v;fJO9QoiJ5tL;uV(Kz{-eBZ3wl*r8ZRcq@*@nI`OAA4QOh^ryH2sz$s0)cOzf30gp?0 z{n4o_4O;jUUR|5J(D~>Cww6U|N0b(duKMwP*M-SXC$BBHO8ot#u%Y*0OX&6wTcpG? zJ6^3)3faMT&wbD1H@_#}vobyT>BG50Reqe}f*0Bs{Q4jKY|Xc>b?yn~b1y!->HByu z^Z8__orm3@EHCq|;edyz#|eszB1rkgK&&3-X~BKLOIjAK1O_iq7W+*K{8 zX#grl^hzp9K5LxS2)%ImviA8C;U{#$G){WxdTo9F6jJG?vCh6K2~;c&Hja@=gaNe$ z0&8A?S|F$Z-lPDvM*_T2wIVkNKbF2jtcOq_~8caSX^nG$WAp zf!Yelg)ykDfB@XUECFpffHZM2U@wJH{dt5LR%+wc0V=l<;2Bg0v=qm!4V1GGfEQ>l zsCocvgXS~bdO_tn0$5_`h2%Tj`a$J90%T&p(4ygD<0DmG(gB7O8nH3cE$fXasHv>1;5XglUU;*B&K)*9E2m#>? KV3KG6D+K^07vr%2 diff --git a/test/src/test/resources/hudson/maven/foobar_eclipse_with_fix.zip b/test/src/test/resources/hudson/maven/foobar_eclipse_with_fix.zip deleted file mode 100644 index 5d7f2f2cd5d2ad00f32789209bd4e65b9eb96b1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10089 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

Bg-p$Q=lbCEE=}K);nYs$`*XYZAEK0)jUS+&q zcrsUF!vhFlPJ~OQz7^x9u3nQQi8q-wH8aHTN3XJ;y~L-S=O$(%e*V*Rb9ylSc>TMY z#T2v0Hyo~5_D~HSRef^mI|z;4gx6ld<4+a;#%1Rapift)PW>)IXH zo#Y>cO_Wy@D*Cq&$%SE^b);qWULq8Ysx;)}?mkCxVR!vx#z-}0BaHcG`t4|TUmIg* zMd0`RUzQb}yk5YeJ^z6Ze-H>A3&M0sfa3SuzDJ;#cf_eI>Pv+ai&2Z3Y z5Xe!sPj50=_5f$s3j?1S0bD_WkI3I}hVu0rgz>j-)Z(H4)@0iy!sl?Nq9AwE$T^e_ z=vxT)e^BxNxXeXH)OYjov(^Afcd-VBG&p6j@{wG_^A|#okOvMPxiZpKUDov}%Q(V- zzWTLf`f5}h4Wr-?wyp*?4i)as^%nTf3N^@srWL?%+pcR&lfidbr~yvq2fl8b3|{Mh zQf&7iSbw2lVSzXxg}dVXdBX*w?f#An1;`q7|MIh`HlhwH~#1VCeUAHC3@dGHRI6{&hHI|w)>kmzEe9J4U2zp<C|xpUfq>Vz8L z#!uky4f@9_ZjW_)9~cD-K6>B3f!*DKZeMVF!xgXMBV1QYaG{aybX<0+8-czw_?f$&{CrY80FRdgYH9=!NwOF z`_*4#|A$`f)CfZ@045zL>Aoli8Tl3b#sVr^+hUl=0{c&>0g}Z6+CuI~$Pi+-aF>rRy$DopTr^!^R();ezUx!9@H oK`%l86a>3!>h_uwrQ92ZkFEwDU@Nh(IDnsYVl1rUjl$x806GgyGynhq diff --git a/test/src/test/resources/hudson/maven/incorrect-inheritence-testcase.zip b/test/src/test/resources/hudson/maven/incorrect-inheritence-testcase.zip deleted file mode 100755 index 0a30bcca61d4003e96117ceb532d736c6669c095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmWIWW@Zs#U|`^2Fx{eLw^5IG9XBHb!!;mgXOLki$j{ZQ$ju22;bdSoeXrn~wm{jp zw1S&~k>v$50|S`oop{#ouz^6!dDmCgAv=%1cJQCrd4zY#v@kBGJ6ex*Iu$qS-u_ux z^JdG^rwvDP%m2K6(|4xl>U@nqS+Am=zMFikdNOlKjf3lshl?B+$ znxaqba>pn3lpB|OXR_tr_LXF_p6B({CY)*V)3ZuGPx7XjM-}LA{dIiT)%YViOAh~X z;Gg2N&Z}!fQ|Ycl-$d7PzdM?9;K6jUg|}Yavk7(Gpy(TKxi(0#)BQPX`H2UA6pe%8I7!ot=uv>eesg7@&kZj$ps8c28L&wmF&O_C;u;j(^& zjOz2l)dnl>1a5n<^`diqyy(4|CeEo_PqnDd-LUZ9K)|StoQ?{(CJ1WJVpE2V{st8tZTYCXSu|Mg zialoW>GI3%fB*6Zcr!A|G2=?)65uET1~J2uMi3JovaFCKkCxmahT)23h+zy20t{~* weSl`d;~Z!hD9*7OhAYOAUDk^*3^o3N27}@s!(di6kY|{I@H3Ep%mm^A06#8oRR910 diff --git a/test/src/test/resources/hudson/maven/maven-compilation-failure.zip b/test/src/test/resources/hudson/maven/maven-compilation-failure.zip deleted file mode 100644 index 771d0e861a0ca63fd43788078fc997146ac6533a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2160 zcmWIWW@h1H00Dzi9&0cIO0Y19G87jj>xYJLGBER)H+${y?C=V$U}1Q{{DL_Er#4Qg zwvyE15`^BTMCs*2)|-`BmPo1r!WahNcZLYiuN(|vJv`PqyK9`q7#SFPm>3x3v76#p zP!Iz2lpe@o;6Pat-|Pj#ut2Guc+l^#0Z-feN-p``UR%n`ByY`S*5;qEHIMW4q!XSJ zLbrB5-l6N0e5T#))c@b##jn5qwt&5*Lvh_yBlq_jhpIQJh1tGTo+l%_%I%8vqcHY8 z**8>$Z!UbbDJ0;Kwsnfymp+Ap#~mM@)J{G6j5pnPw&9c2Q9rlH`*Ocs;e6uQ98Rts zAB-2hWzvy&<-IO7V4cvm7OSEsLbubdFVUUWd%Z{dlW}tMS^4Yt->iH(r!j2`Q`y8G z**f8{N3$Y|TAxhp;;z-b6d8Ltk0V)0d$IGqSp@~r4Yqp98+Nk_FY2o~k+)>)j%718 z>&|=de7(qN|)*XzjE&Pm#$ ztA3R`9oST|%lh`F@Lwz0m<Ak7J&)NJuOc@Goa(m& zy|NU^JH3+(^MT%JEw5{xYP&61LhFg!t7~2X6IQIsJ5kh^Fzd#&w<=%mo0m1HF$+b% z+k3wJyI%3yj1dM-1@S=hi5GhvOGVvA*C(gf6~iEdoDFque{3q_=2qxSLW^;mu-)xhpSZD zH(lM;@QQoQ>)p>cGAaw}IxM}~Td7~ff6lmQZPVek)7ka@oR#4``2P6+4?(Mp>3v6urM9MCevjR%r+jeoF?N3;mDD%C(Cnm0uKJe7(?{FhCrTT| zriUEwP5;ZhVfj`hNizVb3ypLfJBG5p^3L-t=DxQ!7O_dqRYhY)AO+yq` pK+j?`6|+P@HkE^g0Z~2xO#qb-5O=Y%0b_}Q3kaWs{J{$10RYR!f^Pr- diff --git a/test/src/test/resources/hudson/maven/maven-dep-test-A-changed.zip b/test/src/test/resources/hudson/maven/maven-dep-test-A-changed.zip deleted file mode 100644 index 853579d789d9b31e1a9b2cd35734668b37514a94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2597 zcmWIWW@h1H00F~N9&0cIO0Y19G87jj>xYJLGBER+H+$XL-s%-v!NTx@`2}+TPHmh} zZ6&G2B?!IGiPFo5tT!vMERm1_Y)O15ZWhKc0O5?^KqqkSK=pzM(61Z}AMN<8XQV|; z5@2Lts9|DYP{3}AV?jX(&{K|jAeVtd;$e`JviLrYoa5$O3#~Bb&sdpx0ZW?ESfR`Qt!0|v!6cBGtk}A%%`|_ z85^(0gai6+w^?WSTrICVmm54~gW44x=Dq#SjJ~)S33_aJS@1W1ckNN7<-G=)PG3BZ>etR(x_Q^}SivHd*?XO%g4iZ*Vz8d0vtjmP&NY$i zTui2keHWR2Pt3pIZ_6VqS5v(o@ms<-mrsn5+0J|3zuU6QKYbUEX6|fzmZXLw(Or*D z7u~ya?iD-XRFa#RnTLpE;!+qam4Nl4rjol@liAS(?5PA{03wwv0!HV3G*cj{1Y}BJ zOhj@gFwLw2Vi{;EK{ExIN{~_r$hg@^DMYt-BVV(Dfb;j?T+>$?9AGyv+-mL2enn9w zP{eeChGo>kuKN60*EW@G`m=`H$*$#M!rUF|uV%Gfc(7{j=Zc>%u4q1g(|5?sT3d0h z2d6U!^9$b-zr;IPpMU-mmMB9Q8G6$yq$-val4)j++ey(0cZVot+R{#?^2*a{| z@1%oyhZTT{ytYf@J40;s46U{+x7D_0FZH>cC#n?ZHO+xV<>kFPhg-UqA-8z{|I7Km zZNb`$q8!s>W<}jx{^d=~?t?oX+G-q$);rg*Mf2mw4ac)x1U%h~iZ_0mF4xA$yZVH! zz@{VezhmEVOV9I6l?`XQl%z64htcZZFcRTIDVlZFBaCUKpM5Sn&Aw z7i{O>`aF7ZLq6wEN6trZi3tgCP@&~>Vv8R?!Q#ddRNf$p8&C=M0V!=_6gP~8_Y*g; zbF94$EN;9Y#mx?s;)ZXRyF$;FkW(^yxmn~-O0C+ppueK%VZd9LT7|rlBki2GQ#y=8 zVyAI=RXpbT*m91wBgR5u&EEA9Yo_}DK4@}*$LiRhUFT#S7}@ItZDd%NxV@}n|Gmm9Bjc($#c;|2rsTc@P>N1vaSh1myqGct)YLYLaMgV3I+yz+Bq4JwVOk=LrV=J&EP{ZqZru?Xd#BfAk0b**)dx%3_>^ylwc5E zgQPyp$_`>0FflSLY5axVG_ zf2d&=`pBVn3&S8psDa9Cgx4UUhFSO{hnfO2lGnh_0-J_Z6##vU%~;H`7unb!Kx5%0 xG0+4^DGW=gxC#?w6EayL4g)&})nOrsq6KI)BBijh0h0g&HxRl2tv?Os0RUWvH!}bL diff --git a/test/src/test/resources/hudson/maven/maven-dep-test-A.zip b/test/src/test/resources/hudson/maven/maven-dep-test-A.zip deleted file mode 100755 index 719c6618efab37cdd92478bf3b8afdbe7d5d134c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2593 zcmWIWW@Zs#U|`^2*k;FPeJj;(k~t#-!(=7~26hHfhJyTDy^7qN&=5`r=8CFTFOKc4 zUZE8%3@?~pF!xS6n0Hu#r|o@hm&SL7*yrpL^Ry1D$zo0#1PcRaM!I1;UQu3?Mj$B!G1XS)b^x)&91 z{4`yzjgfct30r|pN92FUzT=jj=b0)S&UDFj(vPm*-cNqq@0Nu9mzaJ>dC`QguZ1lI zOE$Wm`onSS1=Fi?gKOpK8ySxp>pCpG82dZO;67XEUZ(bQv58xqc&Bq&Zs>a?EnJZ| z=g*TvKQ}a(aXV~VTA{>#D*E@Mr6H=TcP#v&&vWvhRb8jYwEcPgKR-Y0eN>m^^^q;@ z?P39=xhrqZ)eexE#Q16I0 z>=V5(I^nV4@$WC#&cF3}^x}qm&YzB)kIVtU0OtY*I0J)WDUUUn0VP;~0bX2`tPc)t zUh`(Jx7!e*jawThR9kLhW*$QCMWmR*t(Om3Z&qSiBEkSJtOnc!CK6;f3u72il3H8> zF=ZDp!JwN0NotRQrrh50`d};2s1-mggWVLzf&xc9kgLEUauUrr-QJCS%?1L_-+yyW zUukfF-C$#B`ilU=C5l~(*o0KwSFd_>znXWePUQ0HX^SuMr}ExNdDppXnWD)KiTBKL zia&pw|Cuh;c?Zu%Oo=`(VY&0_J+&1n#;=&(6#O_CnTu8Kh1V+n@w1`Opz!IPaSOO?OqXo?rV6=n)BN-`bo&uu=gh55a`fx+d z+KC7A4jBN8hDt7Z@1XM6Po&nI`sKWcocZ|AN0QkE~ox^?t-}3Ex~kF-B%P?|J`j z%P#-)T|An(v+Y@u8jeJFJvv=<@6Neb?4VQv3F7O(h*CYzWWf&%;%dA>><9{DMCxCL z7Hb$m%vg9oaRWQY+S|B-m~WSR0?(e1Q!;y%+xjzj!)0G8&y$f|6&ohsAuanM@sOF+ zG@j7uOPhr5sVG-FJ?Cf=;p51L1aX}KuL&rK*9Eh)3jH{mahqZC@?Yo9@67HJGHaQY zI`4a-T1L>d6~3C<>sxhC>mTAUlU+A^?aI%!jI#o`ZWu}4z8|Gibcb2R?KRc~hdi$P?^FhMptl@*uK$VCg#Xi(7taWyL&D0grJp$pKL$H6=RMe;CB diff --git a/test/src/test/resources/hudson/maven/maven-dep-test-B.zip b/test/src/test/resources/hudson/maven/maven-dep-test-B.zip deleted file mode 100755 index 21fb317024853d4761e7c458600dcc5128a18e05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2606 zcmWIWW@Zs#U|`^2aJJ{OHuQO@=*-B#V9m_Hz|J7bP>`RiSCN|&8p6rITvy%d1;U{f zEDSH0UocOd?3;hcfT!*KpRQHk)e;M41c-IcHREIxy1YfYD`@?a#hzD}=>Goh9kfmK z$o0IBuaAFw?Xoa+X|aIWEz#&yxktTQpRzn|GG8E|zw-verO>wN-Ij97O&)h9PM$k) zf647_D`Z*U^-WN$n}0rR-G&F9A;*eT735qduAVVN;rx~dVOgbzcf61hY*`|?{^YC$ zb3K!vxm|EtzM;1H)Q)#LCJTNzd=3bExvR!+W_I%@w?^05R;E!4o4i|fB)mWJKdy|6 z{CTjoG?6RyQR9<|kLJD6On*B$Jt$S@x#-dQh5ly0KRUZix_Y`~XI0dmpgUiDG~*69 z{#N+m6PtT;X7qv^>b6g`9G5O=VR_uT@5@!r|MzXK%(+!pwWn5Lz1~ZSJLRQU)8n)& zZ(f?W<3U=>yNe%Aw0TP}^iH^Y>h8~$gUuFq)>PkkcX-1=^8jGra{&XNfx)np#~RFl z5-h;LFD^>f2Zubbd9&Ak+YWfhnTODOkSM);$a=F9%MuA0P!uSD;$~qC z14>ehOCY8k2Rh*qnlm8DE(n-WOMg8Pg&m|L#BHCoUqlkPLC;=3hhYiH??2_8Rl|Ie3Q zK6~#wK?&RQQ;poyJ0B|Zw5{&@BIrNu+f}ob{70sK`(cnM%;Vj*>U5AJXa1y#HVZei z#BuR+=${K!x^}Ad?m?3aGF!fXG&PH8V&eRhBooEIc;zp@^DA?Egu+^8r7rkxBVuBx zot=E@P-dg|r_~OJ1o&_JUc2&gpFpn;YtD=_7w$)$35sg#eAw))Rrm6<%G|5A@0uns z^PaqYTvb&-^Yezo7nyErN}Zqew994ZmL1D?e3ARWa@}8JU2sU{!T*ca`sOp=oUonu zy#Hp+F8}OXESkB~>p6}vbZ!?pGX3eEopZ19gJK$z@}-jato7!*6A{EtpfE8O3H$<4+fQqFPO(V7bY%DWLQS7Fhud9F<^TTwrsD3K(tZbt%#~9t zE5teMCYgqmI?8`|acJMIt}6GK*B#};W+w&GSM1Ueo$}$BqOY=)SN`P%ZeY?)gh*?wqe1W>qZsUZ{~#bZv#NruKSCzbE2t zEVKEqpS^aaXnv>KG$u2Vp113D#U_~@deU(+S)=Zy_e8%}V&$R}f;K#o{XB`K<+Re9 zf=vg?`qU<=?Mtx?in@^eHC}KL3ryAwOBz8;cpb+IspCQ`7#JWX;3}FS zCNMAvFuZlF1sVh?sDau+xtfr6P6lM{TcFyZ1vZgp@S<0oe>_34y~P%px1vF^0f= z4)P1wF<^tBB?ZtlPyvqc8m^)nIc&?Zn}$@71C0e0|j!AV(scMog%q zhFCkY8TdmCvou8xu@e{uA)Ey&TM=G^gcxS2iX38mEJ$8Mgg;st3k)?#`3g&>xJnab hqYGJa8I4@F0F4HfEf80;vVn33HxRl2eR&1U0|4Y9Hjn@S diff --git a/test/src/test/resources/hudson/maven/maven-dep-test-C.zip b/test/src/test/resources/hudson/maven/maven-dep-test-C.zip deleted file mode 100755 index c789f277b15393bb48be64c62f3b98155a600858..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2610 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 bQ2eGMB{me}S=oTP8Q6gE4$uHoCJ+w*_on}1 diff --git a/test/src/test/resources/hudson/maven/maven-multimod-incr.zip b/test/src/test/resources/hudson/maven/maven-multimod-incr.zip deleted file mode 100644 index 71e0e08e3aac1132cc5c24b766efbabd7198f28a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10295 zcmb7~2{=^!7stmEV_&kyV6wdSEhSCLmMkfIw#r&0lD#YmDP##z_A*K-vSf?*4OvqP z$yO3VC6Urg<$tfK_ujcP6aS}2>3O=J`Tfp0-*cSr&DfBJmJ5YKp;2@3>v43o{nnXO zC={Lsg`!7sqr8rL$On2HvoL2s(V%lK7zkg!U|n+J_sWBkLDYBQkO7avF`l!>h{8U=~wkN}BY}J=yBwC|~u2_GxPaWFkgW_+!**&>a zVSxQZRLNfEFmo%cZEo{)fA?tWf$kW~*lRgc9ZhFZrce+&jFpa^ZeoU-Ts{ zVOj$#J9bXomK}`?x-q%Tq4t6&4KJQ~?)Ae?egFJe#xBh6Pft{GPltV;{jzQ6gMMbi zYjvCI>fGObV^(KIpQ#8LW$D^0iKhzAJy0AG6K8(aH!}-oTIr=(hvs)YX?Z8SB-7|T zKGyPdbX`M;hfz!au=2%5*CR%S&p(d5bqiSfmR089$hnJtnYq>Y&4y21QW+a>SLWeg zXfz*?*LTIBqzVpks-W>yOnoRi$3%^eip5n2+UZ=wIu6*~C_PQzu zA6)V_oY3;Vm}AEzEe^zId`~w0Aw2geXzay8>v6NW-~_ri2~vZ%6+&r@fvhqDSw*3g zW7p$WzWMbV8px{0ac93{E}9A}X+;4k{gDl&6?#<3kD2IEX4s=X-cE$aSyUs|_&5jR zabFi7-~X4vLymFO!QWvukSrn$0u({eu|B7fMus32kd`9-@+=1+m0)TVO7hP%O)oD^ zbKth};7M14jzouCtoLkCWR99S$tY}?e{bOg)rnz;yY%QggDxpz-kC~nZ(dH|Q?R`k zwMEC5rmjo%g5MXBAY}_k799@p<8E(8qo>_2jFT zE4lhbCK<9a#b@OnDKwzBgxIOtnoTTGt6b%}>!Mt->`~HM!6A{wu5NlFPod1$a-m8_ zE8f}1Uk}$VV#;HmU`AWvqjF~Rqf24UU2n4AbPc{?C|b^~+G`TG^n-W$`Mi8m>}bWv zzivvqXQ%dLV9f@1(sG79#Kj~HPGN_Ry}2EVqFjZ@GV*Y6^IR?a$Vx_*(F$WNWz@fe zl}HlEGJ-%*8P%LROQH}$8I1z8!SeU@X8~;%0AFH=GD6V6GJ;B|4S|)5D`AaLWY=C; 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 diff --git a/test/src/test/resources/hudson/maven/maven-multimod-rel-base.zip b/test/src/test/resources/hudson/maven/maven-multimod-rel-base.zip deleted file mode 100644 index 912f30cc8c2fb1d07486697fa7f6934942314b92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8620 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 diff --git a/test/src/test/resources/hudson/maven/maven-multimod.zip b/test/src/test/resources/hudson/maven/maven-multimod.zip deleted file mode 100644 index ffecf2a09302297b9848ab049a96eb03ea880a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8707 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 t0~&MUSHA!N diff --git a/test/src/test/resources/hudson/maven/maven-multimodule-unit-failure.zip b/test/src/test/resources/hudson/maven/maven-multimodule-unit-failure.zip deleted file mode 100755 index 9d1d6207d4c281f9b172363ec1f6fee976695590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7771 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 AG5`Po diff --git a/test/src/test/resources/hudson/maven/maven-opts-echo.zip b/test/src/test/resources/hudson/maven/maven-opts-echo.zip deleted file mode 100644 index a0c358b94d577f1594658c3eed2ec87a7fd51b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 623 zcmWIWW@Zs#U|`^2SZy%Ddg27fhSQ7;3

k7}yzP7z*-p^(u06LPIzim=#}Yc&h<% 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 diff --git a/test/src/test/resources/hudson/maven/several-modules-in-directory.zip b/test/src/test/resources/hudson/maven/several-modules-in-directory.zip deleted file mode 100644 index 927ef95e7efc53b7b342f03942ababc5be65f6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870 zcmWIWW@Zs#U|`^2_|l_p*S{;VOOTO);S3OSF~~6F=BJeAr0P}V=7ffDGBBTURQIjP zR`)Hf;AUWCdBM!U047=|9`rw~Aad;eZ*7nFtjnxtv~H|0oRzcgjJgshF{a!q`6FTlG}}-nOPI}zLER1JLhEN<2Qj_ z4N5tGl&o7WoZ-B9!K-;8W8s7wyShYXo6bzMnxRs3ullQVd2IXc+ehvOSgGc}zG`Nc zbzSqxKZg`0nqGTeVU}?2;_k#JyG;@vG*z(+J~EA(lXddMR1<;ti=SrX?5o|Uzpa0^ ztn%BdD|WnR4>8QIV>y1}sg($C#!2piODs!xq}m@y=qax>>EwNU|HDc30C=D#l&jlq zJ?<7S3k=X7K+Fyd)Pnq6c!;XV;0RG)|HB46ZSQ}JhQ9N)y1^Klsiw!Vq&M`H!<}Us zys-;^229#|cfY!)yCnM&)xP^S+mfZ%yI)kbHQyGxiNSkDV~h8)S7BzX6*ujdlqdLZ zFniT(JiQ{~7L&}}%a%?}-(s9rX<8Sp@M%7ES8Q#9*d!Mt`CRMEhYb!qG%GTX+~$&h z+xICmt8a9s?9`s$8n>UBbx9vx(Ov&*d&DPk!PYJDvYVXQ+@qN{c?ju*oZWqWWwMZP z!WVDufaEKl_E%dp8IRtaKkL-y^J@)%)p1FfuB%;srt*40{?vmnytq%KZadO%wszk8 z)2|A*A78P5mFmg|OO~{Gw+EIqy}JElNpC#!MX!V}kK?K=O7FD&elzi;gZ_8&m=%(Q(ULE+d6@BqY+fkPSa|FK Y4Fkm - - - - 4.0.0 - test - test - 0.1-SNAPSHOT - - - - - maven-assembly-plugin - - - bin - - - - - package - - single - - - - - - - \ No newline at end of file diff --git a/test/src/test/resources/hudson/maven/test-pom-7162.xml b/test/src/test/resources/hudson/maven/test-pom-7162.xml deleted file mode 100644 index 2b6f190398..0000000000 --- a/test/src/test/resources/hudson/maven/test-pom-7162.xml +++ /dev/null @@ -1,26 +0,0 @@ - - 4.0.0 - - com.infradna.support - query - 1.0-SNAPSHOT - jar - - query - http://maven.apache.org - - - UTF-8 - bar - - - - - junit - junit - 3.8.1 - test - - - diff --git a/test/src/test/resources/hudson/maven/test-pom-8395.xml b/test/src/test/resources/hudson/maven/test-pom-8395.xml deleted file mode 100755 index 0ef0ff59ac..0000000000 --- a/test/src/test/resources/hudson/maven/test-pom-8395.xml +++ /dev/null @@ -1,25 +0,0 @@ - - 4.0.0 - org.hudson-ci.testcase - testcase-wrong-plugin-dep-scope - 1.0-SNAPSHOT - jar - - - - org.apache.maven.plugins - maven-antrun-plugin - 1.6 - - - ant - ant-nodeps - 1.8.2 - test - - - - - -