maven-plugin-plugin
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>3.12.0</version> </dependency>
<?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>3.12.0</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>${maven3Version}</maven> </prerequisites> <properties> <it.debug>true</it.debug> <javaVersion>8</javaVersion> </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> <!-- runtime extractors used by default by plugin-tools --> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools-java</artifactId> <scope>runtime</scope> </dependency> <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> <!-- define optional runtime dependencies for integration tests --> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools-ant</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-tools-beanshell</artifactId> <scope>runtime</scope> <optional>true</optional> </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> <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> <!-- 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</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest</artifactId> <scope>test</scope> </dependency> <!-- needed for it tests --> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script-beanshell</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-script-ant</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <filtering>true</filtering> <directory>src/main/filtered-resources</directory> </resource> </resources> <pluginManagement> <plugins> <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> <configuration> <excludes combine.children="append"> <!-- This file should exactly match the output of this project --> <exclude>src/it/help-basic**/expected-help**.txt</exclude> </excludes> </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> <antVersion>${antVersion}</antVersion> </filterProperties> <properties> <maven.compiler.source>${maven.compiler.source}</maven.compiler.source> <maven.compiler.target>${maven.compiler.target}</maven.compiler.target> </properties> <pomExcludes> <pomExclude>plugin-info-jdk/pom.xml</pomExclude> <!-- relies on just a given plugin.xml for generating a report, this is no longer supported --> </pomExcludes> <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> <extraArtifact>org.apache.maven.plugin-tools:maven-script-ant:${project.version}</extraArtifact> <extraArtifact>org.apache.maven.plugin-tools:maven-script-beanshell:${project.version}</extraArtifact> </extraArtifacts> </configuration> <executions> <execution> <id>integration-test</id> <goals> <goal>install</goal> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>