| <?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.1-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>${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> |