<?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>

	<groupId>eu.michael-simons.neo4j</groupId>
	<artifactId>neo4j-migrations-parent</artifactId>
	<version>1.2.2</version>
	<packaging>pom</packaging>

	<name>Neo4j Migrations</name>
	<description>Simple, Flyway DB inspired migrations for Neo4j.</description>
	<url>https://github.com/michael-simons/neo4j-migrations</url>

	<inceptionYear>2020</inceptionYear>
	<organization>
		<name>Neo4j, Neo4j Sweden AB</name>
		<url>https://neo4j.com</url>
	</organization>
	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>msimons</id>
			<name>Michael Simons</name>
			<email>michael.simons at neo4j.com</email>
			<organization>Neo Technology</organization>
			<organizationUrl>http://www.neotechnology.com</organizationUrl>
			<roles>
				<role>Project Lead</role>
			</roles>
			<timezone>+1</timezone>
		</developer>
	</developers>

	<modules>
		<module>neo4j-migrations-test-resources</module>
		<module>neo4j-migrations-core</module>
		<module>neo4j-migrations-cli</module>
		<module>neo4j-migrations-spring-boot-starter-parent</module>
		<module>neo4j-migrations-quarkus-parent</module>
		<module>neo4j-migrations-examples</module>
		<module>neo4j-migrations-maven-plugin</module>
	</modules>

	<scm>
		<connection>scm:git:git@github.com:michael-simons/neo4j-migrations.git</connection>
		<developerConnection>scm:git:git@github.com:michael-simons/neo4j-migrations.git</developerConnection>
		<tag>1.2.2</tag>
		<url>https://github.com/michael-simons/neo4j-migrations</url>
	</scm>

	<distributionManagement>
		<site>
			<id>neo4j-migrations-docs</id>
			<name>Neo4j-Migrations</name>
			<url>https://michael-simons.github.io/neo4j-migrations/current/</url>
		</site>
	</distributionManagement>

	<properties>
		<aggregate.report.dir>neo4j-migrations-test-results/target/site/jacoco-aggregate/jacoco.xml</aggregate.report.dir>
		<apiguardian.version>1.1.1</apiguardian.version>
		<appassembler-maven-plugin.version>2.1.0</appassembler-maven-plugin.version>
		<artifactsDir>neo4j-migrations-cli/target</artifactsDir>
		<asciidoctor-maven-plugin.version>2.2.1</asciidoctor-maven-plugin.version>
		<asciidoctorj-diagram.version>2.2.1</asciidoctorj-diagram.version>
		<asciidoctorj.version>2.5.2</asciidoctorj.version>
		<assertj.version>3.21.0</assertj.version>
		<byte-buddy.version>1.12.5</byte-buddy.version>
		<checkstyle.version>9.2</checkstyle.version>
		<classgraph.version>4.8.138</classgraph.version>
		<covered-ratio-complexity>0.5</covered-ratio-complexity>
		<covered-ratio-instructions>0.5</covered-ratio-instructions>
		<docker-maven-plugin.version>0.38.1</docker-maven-plugin.version>
		<exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
		<graalvm.version>21.3.0</graalvm.version>
		<jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
		<japicmp-maven-plugin.version>0.15.4</japicmp-maven-plugin.version>
		<java-module-name/>
		<java.version>8</java.version>
		<!-- to be overridden in sub modules -->
		<junit.jupiter.version>5.8.2</junit.jupiter.version>
		<maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
		<maven-checkstyle-plugin.version>3.1.2</maven-checkstyle-plugin.version>
		<maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
		<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
		<maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
		<maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
		<maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
		<maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
		<maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
		<maven-invoker-plugin.version>3.2.2</maven-invoker-plugin.version>
		<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
		<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
		<maven-plugin-plugin.version>3.6.0</maven-plugin-plugin.version>
		<maven-project-info-reports-plugin.version>3.1.2</maven-project-info-reports-plugin.version>
		<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
		<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
		<maven-site-plugin.version>3.9.1</maven-site-plugin.version>
		<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
		<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
		<maven.compiler.parameters>true</maven.compiler.parameters>
		<maven.compiler.release>${java.version}</maven.compiler.release>
		<maven.version>3.8.4</maven.version>
		<mockito.version>4.2.0</mockito.version>
		<native.maven.plugin.version>0.9.8</native.maven.plugin.version>
		<neo4j-java-driver.version>4.4.2</neo4j-java-driver.version>
		<neo4j-migrations.previous.version>1.2.1</neo4j-migrations.previous.version>
		<nexus-staging-maven-plugin.version>1.6.8</nexus-staging-maven-plugin.version>
		<objenesis.version>3.2</objenesis.version>
		<os-maven-plugin.version>1.7.0</os-maven-plugin.version>
		<picocli.version>4.6.2</picocli.version>
		<powermock.version>2.0.9</powermock.version>
		<project.build.docs>${project.build.directory}/docs</project.build.docs>
		<project.build.docs.branch>main</project.build.docs.branch>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<quarkus-neo4j.version>1.0.2</quarkus-neo4j.version>
		<quarkus.version>2.6.0.Final</quarkus.version>
		<slf4j.version>1.7.32</slf4j.version>
		<sonar-maven-plugin.version>3.9.1.2184</sonar-maven-plugin.version>
		<sortpom-maven-plugin.version>3.0.0</sortpom-maven-plugin.version>
		<spring-boot.version>2.6.1</spring-boot.version>
		<system-lambda.version>1.2.0</system-lambda.version>
		<testcontainers.version>1.16.2</testcontainers.version>
	</properties>

	<dependencyManagement>
		<dependencies>

			<dependency>
				<groupId>org.junit</groupId>
				<artifactId>junit-bom</artifactId>
				<version>${junit.jupiter.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>com.github.stefanbirkner</groupId>
				<artifactId>system-lambda</artifactId>
				<version>${system-lambda.version}</version>
			</dependency>
			<dependency>
				<groupId>info.picocli</groupId>
				<artifactId>picocli</artifactId>
				<version>${picocli.version}</version>
			</dependency>
			<dependency>
				<groupId>io.github.classgraph</groupId>
				<artifactId>classgraph</artifactId>
				<version>${classgraph.version}</version>
			</dependency>
			<dependency>
				<groupId>net.bytebuddy</groupId>
				<artifactId>byte-buddy</artifactId>
				<version>${byte-buddy.version}</version>
			</dependency>
			<dependency>
				<groupId>net.bytebuddy</groupId>
				<artifactId>byte-buddy-agent</artifactId>
				<version>${byte-buddy.version}</version>
			</dependency>
			<dependency>
				<groupId>net.java.dev.jna</groupId>
				<artifactId>jna</artifactId>
				<version>5.10.0</version>
			</dependency>
			<dependency>
				<groupId>org.apiguardian</groupId>
				<artifactId>apiguardian-api</artifactId>
				<version>${apiguardian.version}</version>
			</dependency>
			<dependency>
				<groupId>org.asciidoctor</groupId>
				<artifactId>asciidoctorj</artifactId>
				<version>${asciidoctorj.version}</version>
				<exclusions>
					<exclusion>
						<groupId>rubygems</groupId>
						<!-- Not needed -->
						<artifactId>test-unit</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>${assertj.version}</version>
			</dependency>
			<dependency>
				<groupId>org.graalvm.sdk</groupId>
				<artifactId>graal-sdk</artifactId>
				<version>${graalvm.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>${mockito.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-inline</artifactId>
				<version>${mockito.version}</version>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-junit-jupiter</artifactId>
				<version>${mockito.version}</version>
			</dependency>
			<dependency>
				<groupId>org.neo4j.driver</groupId>
				<artifactId>neo4j-java-driver</artifactId>
				<version>${neo4j-java-driver.version}</version>
			</dependency>
			<dependency>
				<groupId>org.objenesis</groupId>
				<artifactId>objenesis</artifactId>
				<version>${objenesis.version}</version>
			</dependency>
			<dependency>
				<groupId>org.powermock</groupId>
				<artifactId>powermock-reflect</artifactId>
				<version>${powermock.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jul-to-slf4j</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.testcontainers</groupId>
				<artifactId>junit-jupiter</artifactId>
				<version>${testcontainers.version}</version>
			</dependency>
			<dependency>
				<groupId>org.testcontainers</groupId>
				<artifactId>neo4j</artifactId>
				<version>${testcontainers.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>

			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>${maven-gpg-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.sonarsource.scanner.maven</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>${sonar-maven-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven-resources-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.6.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${maven-clean-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-invoker-plugin</artifactId>
					<version>${maven-invoker-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<forceJavacCompilerUse>true</forceJavacCompilerUse>
						<compilerArgs>
							<arg>-Xlint:all,-options,-path,-processing,-classfile</arg>
							<!-- -classfile due to some weird stuff happening in testCompile. -->
							<arg>-Werror</arg>
						</compilerArgs>
					</configuration>
					<executions>
						<execution>
							<id>compile-java-11</id>
							<goals>
								<goal>compile</goal>
							</goals>
							<phase>compile</phase>
							<configuration combine.self="override">
								<release>11</release>
								<compileSourceRoots>
									<compileSourceRoot>${project.basedir}/src/main/java11</compileSourceRoot>
								</compileSourceRoots>
								<multiReleaseOutput>true</multiReleaseOutput>
							</configuration>
						</execution>
						<execution>
							<id>compile-java-17</id>
							<goals>
								<goal>compile</goal>
							</goals>
							<phase>compile</phase>
							<configuration combine.self="override">
								<release>17</release>
								<compileSourceRoots>
									<compileSourceRoot>${project.basedir}/src/main/java17</compileSourceRoot>
								</compileSourceRoots>
								<multiReleaseOutput>true</multiReleaseOutput>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${maven-assembly-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>${maven-install-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${maven-deploy-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven-javadoc-plugin.version}</version>
					<configuration>
						<detectOfflineLinks>false</detectOfflineLinks>
						<detectJavaApiLink>false</detectJavaApiLink>
						<release>${java.version}</release>
						<tags>
							<tag>
								<name>soundtrack</name>
								<placement>a</placement>
								<head>Soundtrack</head>
							</tag>
						</tags>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven-jar-plugin.version}</version>
				</plugin>
				<plugin>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>${maven-checkstyle-plugin.version}</version>
					<configuration>
						<configLocation>etc/checkstyle/config.xml</configLocation>
						<suppressionsLocation>etc/checkstyle/suppressions.xml</suppressionsLocation>
						<headerLocation>etc/checkstyle/java-header.txt</headerLocation>
						<encoding>${project.build.sourceEncoding}</encoding>
						<consoleOutput>true</consoleOutput>
						<failsOnError>true</failsOnError>
						<includeTestSourceDirectory>true</includeTestSourceDirectory>
						<sourceDirectories>
							<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
						</sourceDirectories>
					</configuration>
					<dependencies>
						<dependency>
							<groupId>com.puppycrawl.tools</groupId>
							<artifactId>checkstyle</artifactId>
							<version>${checkstyle.version}</version>
						</dependency>
					</dependencies>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>com.github.ekryd.sortpom</groupId>
					<artifactId>sortpom-maven-plugin</artifactId>
					<version>${sortpom-maven-plugin.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
						<keepBlankLines>true</keepBlankLines>
						<nrOfIndentSpace>-1</nrOfIndentSpace>
						<sortProperties>true</sortProperties>
						<sortDependencies>scope,groupId,artifactId</sortDependencies>
						<createBackupFile>false</createBackupFile>
						<expandEmptyElements>false</expandEmptyElements>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>${jacoco-maven-plugin.version}</version>
					<configuration>
						<excludes>
							<exclude>**/versions/17/**/*</exclude>
						</excludes>
					</configuration>
					<executions>
						<execution>
							<id>pre-unit-test</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<append>true</append>
							</configuration>
						</execution>
						<execution>
							<id>pre-integration-test</id>
							<goals>
								<goal>prepare-agent-integration</goal>
							</goals>
							<configuration>
								<append>true</append>
								<destFile>${project.build.directory}/jacoco.exec</destFile>
							</configuration>
						</execution>
						<execution>
							<id>report-and-check</id>
							<goals>
								<goal>report</goal>
								<goal>check</goal>
							</goals>
							<phase>post-integration-test</phase>
							<configuration>
								<rules>
									<rule>
										<element>BUNDLE</element>
										<limits>
											<limit>
												<counter>INSTRUCTION</counter>
												<value>COVEREDRATIO</value>
												<minimum>${covered-ratio-instructions}</minimum>
											</limit>
											<limit>
												<counter>COMPLEXITY</counter>
												<value>COVEREDRATIO</value>
												<minimum>${covered-ratio-complexity}</minimum>
											</limit>
										</limits>
									</rule>
								</rules>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>${exec-maven-plugin.version}</version>
					<configuration>
						<skip>true</skip>
					</configuration>
					<executions>
						<execution>
							<id>prepare-release</id>
							<goals>
								<goal>exec</goal>
							</goals>
							<configuration>
								<executable>bin/prepare-release.sh</executable>
								<arguments>
									<argument>${project.version}</argument>
									<argument>${isDryRun}</argument>
								</arguments>
								<skip>true</skip>
							</configuration>
						</execution>
						<execution>
							<id>release-prepared</id>
							<goals>
								<goal>exec</goal>
							</goals>
							<configuration>
								<executable>bin/update-previous-version.sh</executable>
								<skip>true</skip>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>${maven-site-plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>${maven-project-info-reports-plugin.version}</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<inherited>false</inherited>
				<executions>
					<execution>
						<id>prepare-release</id>
						<goals>
							<goal>exec</goal>
						</goals>
						<configuration combine.self="append">
							<skip>false</skip>
						</configuration>
					</execution>
					<execution>
						<id>release-prepared</id>
						<goals>
							<goal>exec</goal>
						</goals>
						<configuration combine.self="append">
							<skip>false</skip>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.github.ekryd.sortpom</groupId>
				<artifactId>sortpom-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>sort</goal>
						</goals>
						<phase>verify</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<version>${maven-enforcer-plugin.version}</version>
				<executions>
					<execution>
						<id>enforce</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<phase>validate</phase>
						<configuration>
							<rules>
								<requireJavaVersion>
									<version>17</version>
								</requireJavaVersion>
								<DependencyConvergence/>
								<requireMavenVersion>
									<version>${maven.version}</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<executions>
					<execution>
						<id>validate</id>
						<goals>
							<goal>check</goal>
						</goals>
						<phase>validate</phase>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>${maven-failsafe-plugin.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>${maven-jar-plugin.version}</version>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
						</manifest>
						<manifestEntries>
							<Automatic-Module-Name>${java-module-name}</Automatic-Module-Name>
							<Multi-Release>true</Multi-Release>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>${nexus-staging-maven-plugin.version}</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>${maven-source-plugin.version}</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>${maven-release-plugin.version}</version>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<useReleaseProfile>false</useReleaseProfile>
					<releaseProfiles>release</releaseProfiles>
					<tagNameFormat>@{project.version}</tagNameFormat>
					<goals>deploy</goals>
					<pushChanges>false</pushChanges>
					<localCheckout>true</localCheckout>
					<arguments>-Drelease -DisDryRun=${dryRun}</arguments>
					<preparationGoals>clean exec:exec@prepare-release verify</preparationGoals>
					<completionGoals>compile exec:exec@release-prepared</completionGoals>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.asciidoctor</groupId>
				<artifactId>asciidoctor-maven-plugin</artifactId>
				<version>${asciidoctor-maven-plugin.version}</version>
				<inherited>false</inherited>
				<configuration>
					<backend>html</backend>
					<doctype>book</doctype>
					<sourceDirectory>${basedir}/docs</sourceDirectory>
					<sourceDocumentName>index.adoc</sourceDocumentName>
					<attributes>
						<icons>font</icons>
						<toc>left</toc>
						<setanchors/>
						<idprefix/>
						<idseparator/>
						<imagesdir>img</imagesdir>
						<neo4j-java-driver-version>${neo4j-java-driver.version}</neo4j-java-driver-version>
						<neo4j-migrations.version>${project.version}</neo4j-migrations.version>
						<source-highlighter>coderay</source-highlighter>
						<branch>${project.build.docs.branch}</branch>
						<latest_version>${project.version}</latest_version>
					</attributes>
					<requires>
						<require>asciidoctor-diagram</require>
					</requires>
					<outputDirectory>${project.build.docs}</outputDirectory>
				</configuration>
				<dependencies>
					<dependency>
						<groupId>org.asciidoctor</groupId>
						<artifactId>asciidoctorj-diagram</artifactId>
						<version>${asciidoctorj-diagram.version}</version>
					</dependency>
				</dependencies>
				<executions>
					<execution>
						<id>generate-docs</id>
						<goals>
							<goal>process-asciidoc</goal>
						</goals>
						<phase>prepare-package</phase>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${maven-javadoc-plugin.version}</version>
				<reportSets>
					<reportSet>
						<id>default</id>
						<reports>
							<report>javadoc</report>
						</reports>
					</reportSet>
					<reportSet>
						<id>aggregate</id>
						<reports>
							<report>aggregate</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<reportSets>
					<reportSet>
						<reports>
							<report>checkstyle</report>
						</reports>
					</reportSet>
				</reportSets>
			</plugin>
		</plugins>
	</reporting>

	<profiles>
		<profile>
			<id>no-release</id>
			<!--
			According to https://github.com/sonatype/nexus-maven-plugins/tree/master/staging/maven-plugin
			skipNexusStagingDeployMojo may not be set to true in the last reactor module. Because we don't
			want to deploy our last module, nor a dummy module, we simply omit the relevant modules when
			a deploy is in progress.
			-->
			<activation>
				<property>
					<name>!release</name>
				</property>
			</activation>
			<modules>
				<module>neo4j-migrations-test-results</module>
			</modules>
		</profile>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<goals>
									<goal>sign</goal>
								</goals>
								<phase>verify</phase>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>sonar</id>
			<activation>
				<activeByDefault>false</activeByDefault>
			</activation>
			<properties>
				<sonar.host.url>https://sonarcloud.io</sonar.host.url>
				<sonar.moduleKey>${project.groupId}:${project.artifactId}</sonar.moduleKey>
				<sonar.organization>michael-simons-github</sonar.organization>
				<sonar.projectKey>eu.michael-simons.neo4j:neo4j-migrations-parent</sonar.projectKey>
			</properties>
			<build>
				<plugins>
					<plugin>
						<groupId>org.sonarsource.scanner.maven</groupId>
						<artifactId>sonar-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>sonar</id>
								<goals>
									<goal>sonar</goal>
								</goals>
								<phase>verify</phase>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<?SORTPOM IGNORE?>
		<profile>
			<id>jreleaser</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.jreleaser</groupId>
						<artifactId>jreleaser-maven-plugin</artifactId>
						<version>0.9.1</version>
						<inherited>false</inherited>
						<configuration>
							<jreleaser>
								<project>
									<name>neo4j-migrations</name>
								</project>
								<release>
									<github>
										<skipTag>true</skipTag>
										<tagName>{{projectVersion}}</tagName>
										<releaseName>{{projectVersion}}</releaseName>
										<branch>main</branch>
										<changelog>
											<formatted>ALWAYS</formatted>
											<contentTemplate>etc/jreleaser/changelog.md.tpl</contentTemplate>
											<format>- {{commitShortHash}} {{commitTitle}}</format>
											<preset>conventional-commits</preset>
											<contributors>
												<format>- {{contributorNameAsLink}}</format>
											</contributors>
											<labelers>
												<labeler>
													<title>Bump</title>
													<label>dependabot</label>
													<order>-1</order>
												</labeler>
												<labeler>
													<title>build(deps)</title>
													<label>dependabot</label>
													<order>-2</order>
												</labeler>
												<labeler>
													<title>Fix</title>
													<label>fix</label>
												</labeler>
												<labeler>
													<title>fix</title>
													<label>fix</label>
												</labeler>
												<labeler>
													<title>Add support</title>
													<label>feat</label>
												</labeler>
												<labeler>
													<title>Document</title>
													<label>docs</label>
												</labeler>
												<labeler>
													<title>After release cleanup.</title>
													<label>maven-release</label>
												</labeler>
												<labeler>
													<title>[maven-release-plugin]</title>
													<label>maven-release</label>
												</labeler>
												<labeler>
													<body>nocl</body>
													<label>nocl</label>
												</labeler>
											</labelers>
											<replacers>
												<replacer>
													<search>(?:build\(deps\): )(.*)</search>
													<replace>$1</replace>
												</replacer>
												<replacer>
													<search>((?:GH-)(\d+) - )(.*)</search>
													<replace>$3 (#$2)</replace>
												</replacer>
											</replacers>
											<categories>
												<category>
													<title>🚀 Features</title>
													<labels>feat</labels>
												</category>
												<category>
													<title>🐛 Bug Fixes</title>
													<labels>fix</labels>
												</category>
												<category>
													<title>📝 Documentation</title>
													<labels>docs</labels>
												</category>
												<category>
													<title>🧹 Housekeeping</title>
													<labels>dependabot</labels>
													<order>70</order>
												</category>
												<category>
													<title>🛠  Build</title>
													<order>80</order>
												</category>
												<category>
													<title>nocl</title>
													<labels>nocl,maven-release</labels>
												</category>
											</categories>
											<hide>
												<categories>dependabot,nocl</categories>
												<contributors>GitHub,dependabot</contributors>
											</hide>
										</changelog>
									</github>
								</release>
								<distributions>
									<neo4j-migrations>
										<type>NATIVE_IMAGE</type>
										<artifacts>
											<artifact>
												<path>{{artifactsDir}}/{{projectName}}-{{projectVersion}}-linux-x86_64.zip</path>
												<platform>linux-x86_64</platform>
											</artifact>
											<artifact>
												<path>{{artifactsDir}}/{{projectName}}-{{projectVersion}}-windows-x86_64.zip</path>
												<platform>windows-x86_64</platform>
											</artifact>
											<artifact>
												<path>{{artifactsDir}}/{{projectName}}-{{projectVersion}}-osx-x86_64.zip</path>
												<platform>osx-x86_64</platform>
											</artifact>
										</artifacts>
										<brew>
											<active>ALWAYS</active>
											<templateDirectory>etc/jreleaser/distributions/brew</templateDirectory>
											<tap>
												<name>homebrew-neo4j-migrations</name>
											</tap>
											<formulaName>neo4j-migrations</formulaName>
										</brew>
									</neo4j-migrations>
									<neo4j-migrations-no-arch>
										<type>JAVA_BINARY</type>
										<artifacts>
											<artifact>
												<path>{{artifactsDir}}/{{projectName}}-{{projectVersion}}.zip</path>
											</artifact>
										</artifacts>
									</neo4j-migrations-no-arch>
								</distributions>
							</jreleaser>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
		<?SORTPOM RESUME?>
	</profiles>
</project>
