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
its/core-it-suite/src/test
java/org/apache/maven/it
resources/mng-7804-plugin-execution-order
|
@ -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
|
||||
* a fail fast technique as well.
|
||||
*/
|
||||
suite.addTestSuite(MavenITmng7804PluginExecutionOrderTest.class);
|
||||
suite.addTestSuite(MavenITmng7836AlternativePomSyntaxTest.class);
|
||||
suite.addTestSuite(MavenITmng7891ConfigurationForExtensionsTest.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