<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-parent</artifactId>
		<version>${revision}</version>
		<relativePath>../spring-boot-parent</relativePath>
	</parent>
	<artifactId>spring-boot-starters</artifactId>
	<packaging>pom</packaging>
	<name>Spring Boot Starters</name>
	<description>Spring Boot Starters</description>
	<properties>
		<main.basedir>${basedir}/../..</main.basedir>
	</properties>
	<scm>
		<url>${git.url}</url>
		<connection>${git.connection}</connection>
		<developerConnection>${git.developerConnection}</developerConnection>
	</scm>
	<modules>
		<module>spring-boot-starter</module>
		<module>spring-boot-starter-activemq</module>
		<module>spring-boot-starter-amqp</module>
		<module>spring-boot-starter-aop</module>
		<module>spring-boot-starter-artemis</module>
		<module>spring-boot-starter-batch</module>
		<module>spring-boot-starter-cache</module>
		<module>spring-boot-starter-cloud-connectors</module>
		<module>spring-boot-starter-data-cassandra</module>
		<module>spring-boot-starter-data-cassandra-reactive</module>
		<module>spring-boot-starter-data-couchbase</module>
		<module>spring-boot-starter-data-couchbase-reactive</module>
		<module>spring-boot-starter-data-elasticsearch</module>
		<module>spring-boot-starter-data-jdbc</module>
		<module>spring-boot-starter-data-jpa</module>
		<module>spring-boot-starter-data-ldap</module>
		<module>spring-boot-starter-data-mongodb</module>
		<module>spring-boot-starter-data-mongodb-reactive</module>
		<module>spring-boot-starter-data-neo4j</module>
		<module>spring-boot-starter-data-redis</module>
		<module>spring-boot-starter-data-redis-reactive</module>
		<module>spring-boot-starter-data-rest</module>
		<module>spring-boot-starter-data-solr</module>
		<module>spring-boot-starter-freemarker</module>
		<module>spring-boot-starter-groovy-templates</module>
		<module>spring-boot-starter-hateoas</module>
		<module>spring-boot-starter-integration</module>
		<module>spring-boot-starter-jdbc</module>
		<module>spring-boot-starter-jersey</module>
		<module>spring-boot-starter-jetty</module>
		<module>spring-boot-starter-jooq</module>
		<module>spring-boot-starter-json</module>
		<module>spring-boot-starter-jta-atomikos</module>
		<module>spring-boot-starter-jta-bitronix</module>
		<module>spring-boot-starter-logging</module>
		<module>spring-boot-starter-log4j2</module>
		<module>spring-boot-starter-mail</module>
		<module>spring-boot-starter-mustache</module>
		<module>spring-boot-starter-actuator</module>
		<module>spring-boot-starter-oauth2-client</module>
		<module>spring-boot-starter-oauth2-resource-server</module>
		<module>spring-boot-starter-parent</module>
		<module>spring-boot-starter-quartz</module>
		<module>spring-boot-starter-reactor-netty</module>
		<module>spring-boot-starter-security</module>
		<module>spring-boot-starter-test</module>
		<module>spring-boot-starter-thymeleaf</module>
		<module>spring-boot-starter-tomcat</module>
		<module>spring-boot-starter-undertow</module>
		<module>spring-boot-starter-validation</module>
		<module>spring-boot-starter-web</module>
		<module>spring-boot-starter-webflux</module>
		<module>spring-boot-starter-websocket</module>
		<module>spring-boot-starter-web-services</module>
	</modules>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-rules</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<bannedDependencies>
									<excludes>
										<exclude>commons-logging:*:*</exclude>
										<exclude>org.hibernate:hibernate-validator:*</exclude>
									</excludes>
									<searchTransitive>true</searchTransitive>
								</bannedDependencies>
								<dependencyConvergence />
							</rules>
							<fail>true</fail>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<inherited>false</inherited>
				<executions>
					<execution>
						<id>assemble-starter-poms</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>single</goal>
						</goals>
						<configuration>
							<descriptors>
								<descriptor>src/main/assembly/starter-poms-assembly.xml</descriptor>
							</descriptors>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<executions>
					<execution>
						<id>checkstyle-validation</id>
						<phase>validate</phase>
						<goals>
							<goal>check</goal>
						</goals>
						<configuration>
							<skip>true</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<configuration>
					<forceCreation>true</forceCreation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.basepom.maven</groupId>
				<artifactId>duplicate-finder-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>duplicate-dependencies</id>
						<phase>validate</phase>
						<goals>
							<goal>check</goal>
						</goals>
						<configuration>
							<failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
							<ignoredClassPatterns>
 								<ignoredClassPattern>.*module-info</ignoredClassPattern>
 							</ignoredClassPatterns>
							<ignoredResourcePatterns>
								<ignoredResourcePattern>changelog.txt</ignoredResourcePattern>
							</ignoredResourcePatterns>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
