mirror of https://github.com/apache/maven.git
[MNG-7804] IT for plugin execution order (#268)
This commit is contained in:
parent
cf71c396dd
commit
121980470a
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
package org.apache.maven.it;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.apache.maven.shared.verifier.Verifier;
|
||||||
|
import org.apache.maven.shared.verifier.util.ResourceExtractor;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-7804">MNG-7804</a>.
|
||||||
|
* Verifies that plugin execution can be ordered across different plugins.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class MavenITmng7804PluginExecutionOrderTest extends AbstractMavenIntegrationTestCase {
|
||||||
|
|
||||||
|
public MavenITmng7804PluginExecutionOrderTest() {
|
||||||
|
super("[4.0.0-alpha-6,)");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verify that plugin executions are executed in order
|
||||||
|
*
|
||||||
|
* @throws Exception in case of failure
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
void testOrder() throws Exception {
|
||||||
|
File testDir = ResourceExtractor.simpleExtractResources(getClass(), "/mng-7804-plugin-execution-order");
|
||||||
|
|
||||||
|
Verifier verifier = newVerifier(testDir.getAbsolutePath());
|
||||||
|
verifier.addCliArgument("clean");
|
||||||
|
verifier.execute();
|
||||||
|
verifier.verifyErrorFreeLog();
|
||||||
|
|
||||||
|
List<String> executions = Files.lines(Paths.get(verifier.getBasedir(), verifier.getLogFileName()))
|
||||||
|
.filter(l -> l.contains(" This should be "))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
assertEquals(4, executions.size());
|
||||||
|
assertTrue(executions.get(0).contains("100"));
|
||||||
|
assertTrue(executions.get(1).contains("200"));
|
||||||
|
assertTrue(executions.get(2).contains("300"));
|
||||||
|
assertTrue(executions.get(3).contains("400"));
|
||||||
|
}
|
||||||
|
}
|
|
@ -120,6 +120,7 @@ public class TestSuiteOrdering implements ClassOrderer {
|
||||||
* the tests are to finishing. Newer tests are also more likely to fail, so this is
|
* the tests are to finishing. Newer tests are also more likely to fail, so this is
|
||||||
* a fail fast technique as well.
|
* a fail fast technique as well.
|
||||||
*/
|
*/
|
||||||
|
suite.addTestSuite(MavenITmng7804PluginExecutionOrderTest.class);
|
||||||
suite.addTestSuite(MavenITmng7836AlternativePomSyntaxTest.class);
|
suite.addTestSuite(MavenITmng7836AlternativePomSyntaxTest.class);
|
||||||
suite.addTestSuite(MavenITmng7891ConfigurationForExtensionsTest.class);
|
suite.addTestSuite(MavenITmng7891ConfigurationForExtensionsTest.class);
|
||||||
suite.addTestSuite(MavenITmng6401ProxyPortInterpolationTest.class);
|
suite.addTestSuite(MavenITmng6401ProxyPortInterpolationTest.class);
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.1.0 http://maven.apache.org/xsd/maven-4.1.0.xsd">
|
||||||
|
|
||||||
|
<groupId>mng7804</groupId>
|
||||||
|
<artifactId>plugin-execution-order</artifactId>
|
||||||
|
<version>1.0</version>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-clean-plugin</artifactId>
|
||||||
|
<version>3.2.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>100. This should be first</id>
|
||||||
|
<goals>
|
||||||
|
<goal>clean</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>clean</phase>
|
||||||
|
<priority>100</priority>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>300. This should be third</id>
|
||||||
|
<goals>
|
||||||
|
<goal>clean</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>clean</phase>
|
||||||
|
<priority>300</priority>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-antrun-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>200. This should be second</id>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>clean</phase>
|
||||||
|
<priority>200</priority>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>400. This should be fourth</id>
|
||||||
|
<goals>
|
||||||
|
<goal>run</goal>
|
||||||
|
</goals>
|
||||||
|
<phase>clean</phase>
|
||||||
|
<priority>400</priority>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
Loading…
Reference in New Issue