| <?xml version="1.0" encoding="UTF-8"?> | |
| <!-- | |
| ~ 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. | |
| --> | |
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | |
| <modelVersion>4.0.0</modelVersion> | |
| <parent> | |
| <groupId>org.apache.maven.plugin-tools</groupId> | |
| <artifactId>maven-plugin-tools</artifactId> | |
| <version>4.0.0-beta-4-SNAPSHOT</version> | |
| </parent> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-plugin-plugin</artifactId> | |
| <packaging>maven-plugin</packaging> | |
| <name>Maven Plugin Plugin</name> | |
| <description>The Plugin Plugin is used to create a Maven plugin descriptor for any Mojos found in the source tree | |
| in order to include them the resulting JAR. It is also used to generate a generic help goal.</description> | |
| <prerequisites> | |
| <maven>3.6.3</maven> | |
| </prerequisites> | |
| <properties> | |
| <it.debug>true</it.debug> | |
| </properties> | |
| <dependencies> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-core</artifactId> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven.plugin-tools</groupId> | |
| <artifactId>maven-plugin-tools-api</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven.plugin-tools</groupId> | |
| <artifactId>maven-plugin-tools-generators</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.ow2.asm</groupId> | |
| <artifactId>asm</artifactId> | |
| </dependency> | |
| <!-- runtime extractors used by default by plugin-tools --> | |
| <dependency> | |
| <groupId>org.apache.maven.plugin-tools</groupId> | |
| <artifactId>maven-plugin-tools-annotations</artifactId> | |
| <scope>runtime</scope> | |
| </dependency> | |
| <!-- for source code annotations of the mojos --> | |
| <dependency> | |
| <groupId>org.apache.maven.plugin-tools</groupId> | |
| <artifactId>maven-plugin-annotations</artifactId> | |
| <!-- | |
| Do not use 'provided' scope here. The annotations are a transitive dependency of | |
| 'maven-plugin-tools-annotations' which fails to load at runtime when not available. | |
| --> | |
| </dependency> | |
| <!-- Maven --> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-plugin-api</artifactId> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-model</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-settings</artifactId> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-repository-metadata</artifactId> | |
| <version>${maven3Version}</version> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven</groupId> | |
| <artifactId>maven-artifact</artifactId> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven.resolver</groupId> | |
| <artifactId>maven-resolver-api</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven.resolver</groupId> | |
| <artifactId>maven-resolver-util</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>javax.inject</groupId> | |
| <artifactId>javax.inject</artifactId> | |
| <version>1</version> | |
| <scope>provided</scope> | |
| </dependency> | |
| <!-- plexus --> | |
| <dependency> | |
| <groupId>org.codehaus.plexus</groupId> | |
| <artifactId>plexus-utils</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.eclipse.sisu</groupId> | |
| <artifactId>org.eclipse.sisu.plexus</artifactId> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.codehaus.plexus</groupId> | |
| <artifactId>plexus-velocity</artifactId> | |
| </dependency> | |
| <!-- for m2e support: https://www.eclipse.org/m2e/documentation/m2e-making-maven-plugins-compat.html --> | |
| <dependency> | |
| <groupId>org.sonatype.plexus</groupId> | |
| <artifactId>plexus-build-api</artifactId> | |
| <version>0.0.7</version> | |
| </dependency> | |
| <!-- tests --> | |
| <dependency> | |
| <groupId>org.junit.jupiter</groupId> | |
| <artifactId>junit-jupiter-api</artifactId> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.junit.jupiter</groupId> | |
| <artifactId>junit-jupiter-params</artifactId> | |
| <scope>test</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.apache.maven.plugin-testing</groupId> | |
| <artifactId>maven-plugin-testing-harness</artifactId> | |
| <scope>test</scope> | |
| </dependency> | |
| </dependencies> | |
| <build> | |
| <pluginManagement> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.rat</groupId> | |
| <artifactId>apache-rat-plugin</artifactId> | |
| <configuration> | |
| <inputExcludes combine.children="append"> | |
| <!-- This file should exactly match the output of this project --> | |
| <exclude>src/it/help-basic**/**/expected-help**.txt</exclude> | |
| </inputExcludes> | |
| </configuration> | |
| </plugin> | |
| </plugins> | |
| </pluginManagement> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-enforcer-plugin</artifactId> | |
| <executions> | |
| <execution> | |
| <id>ensure-no-container-api</id> | |
| <goals> | |
| <goal>enforce</goal> | |
| </goals> | |
| <configuration> | |
| <rules> | |
| <bannedDependencies> | |
| <excludes> | |
| <exclude>org.codehaus.plexus:plexus-component-api</exclude> | |
| </excludes> | |
| <message>The new containers are not supported. You probably added a dependency that is missing the exclusions.</message> | |
| </bannedDependencies> | |
| </rules> | |
| <fail>true</fail> | |
| </configuration> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-plugin-plugin</artifactId> | |
| <executions> | |
| <execution> | |
| <id>generated-helpmojo</id> | |
| <goals> | |
| <goal>helpmojo</goal> | |
| </goals> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| </plugins> | |
| </build> | |
| <reporting> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-plugin-report-plugin</artifactId> | |
| <reportSets> | |
| <reportSet> | |
| <reports> | |
| <report>report</report> | |
| </reports> | |
| </reportSet> | |
| </reportSets> | |
| </plugin> | |
| </plugins> | |
| </reporting> | |
| <profiles> | |
| <profile> | |
| <id>reporting</id> | |
| <reporting> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-invoker-plugin</artifactId> | |
| </plugin> | |
| </plugins> | |
| </reporting> | |
| </profile> | |
| <profile> | |
| <id>run-its</id> | |
| <build> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-invoker-plugin</artifactId> | |
| <configuration> | |
| <projectsDirectory>src/it</projectsDirectory> | |
| <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> | |
| <preBuildHookScript>setup</preBuildHookScript> | |
| <postBuildHookScript>verify</postBuildHookScript> | |
| <localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath> | |
| <settingsFile>src/it/settings.xml</settingsFile> | |
| <debug>true</debug> | |
| <streamLogsOnFailures>true</streamLogsOnFailures> | |
| <showErrors>true</showErrors> | |
| <filterProperties /> | |
| <properties> | |
| <maven.compiler.source>${maven.compiler.source}</maven.compiler.source> | |
| <maven.compiler.target>${maven.compiler.target}</maven.compiler.target> | |
| </properties> | |
| <extraArtifacts> | |
| <!-- used in ITs --> | |
| <extraArtifact>org.apache.maven.plugin-tools:maven-plugin-tools-annotations:${project.version}:jar:test-sources</extraArtifact> | |
| <extraArtifact>org.apache.maven.plugin-tools:maven-plugin-tools-annotations:${project.version}:test-jar</extraArtifact> | |
| </extraArtifacts> | |
| <scriptVariables> | |
| <maven3Version>${maven3Version}</maven3Version> | |
| <maven4Version>${maven4Version}</maven4Version> | |
| </scriptVariables> | |
| </configuration> | |
| <executions> | |
| <execution> | |
| <id>integration-test</id> | |
| <goals> | |
| <goal>install</goal> | |
| <goal>run</goal> | |
| </goals> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| </plugins> | |
| </build> | |
| </profile> | |
| </profiles> | |
| </project> |