<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>
	<groupId>com.dataliquid</groupId>
	<artifactId>parent-oss</artifactId>
	<version>2.2.4</version>
	<packaging>pom</packaging>
	<name>dataliquid :: Open Source Software - Maven Parent</name>
	<description>Maven Parent - Open Source Software</description>

	<url>https://www.github.com/dataliquid</url>

	<organization>
		<name>dataliquid GmbH</name>
		<url>www.dataliquid.com</url>
	</organization>

	<inceptionYear>2019</inceptionYear>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
		</license>
	</licenses>

	<scm>
		<url>https://github.com/dataliquid/parent-oss/tree/master</url>
	</scm>

	<developers>
		<developer>
			<name>GitHub Developer Team</name>
			<organization>dataliquid GmbH</organization>
			<organizationUrl>www.dataliquid.com</organizationUrl>
		</developer>
	</developers>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.5.3</version>
					<configuration>
						<argLine>-Dfile.encoding=UTF-8</argLine>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.11.3</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>3.1.1</version>
					<configuration>
						<tagNameFormat>@{project.version}</tagNameFormat>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.14.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>3.4.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ear-plugin</artifactId>
					<version>3.4.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.4.2</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-verifier-plugin</artifactId>
					<version>1.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>3.1.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.1.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>3.2.8</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-ant-plugin</artifactId>
					<version>2.4</version>
				</plugin>
				<!-- 3rd party maven plugins -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>3.6.1</version>
				</plugin>
				<plugin>
					<groupId>com.amashchenko.maven.plugin</groupId>
					<artifactId>gitflow-maven-plugin</artifactId>
					<version>1.21.0</version>
					<configuration>
						<versionDigitToIncrement>1</versionDigitToIncrement>
						<hotfixVersionDigitToIncrement>2</hotfixVersionDigitToIncrement>
						<installProject>false</installProject>
						<verbose>true</verbose>
						<pushRemote>true</pushRemote>
						<useSnapshotInRelease>true</useSnapshotInRelease>
						<useSnapshotInHotfix>true</useSnapshotInHotfix>
						<gitFlowConfig>
							<productionBranch>master</productionBranch>
							<developmentBranch>develop</developmentBranch>
							<featureBranchPrefix>feature/</featureBranchPrefix>
							<releaseBranchPrefix>release/</releaseBranchPrefix>
							<hotfixBranchPrefix>hotfix/</hotfixBranchPrefix>
							<supportBranchPrefix>support/</supportBranchPrefix>
							<versionTagPrefix></versionTagPrefix>
							<origin>origin</origin>
						</gitFlowConfig>
						<commitMessages>
							<hotfixFinishMessage>Update version to @{version}</hotfixFinishMessage>
							<releaseFinishMessage>Update version to @{version}</releaseFinishMessage>
						</commitMessages>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.mycila</groupId>
					<artifactId>license-maven-plugin</artifactId>
					<version>5.0.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>
				<plugin>
					<groupId>org.sonatype.central</groupId>
					<artifactId>central-publishing-maven-plugin</artifactId>
					<version>0.8.0</version>

				</plugin>
				<plugin>
					<groupId>net.revelc.code.formatter</groupId>
					<artifactId>formatter-maven-plugin</artifactId>
					<version>2.27.0</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
						<configuration>
							<!-- disable checking -->
							<doclint>none</doclint>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<executions>
					<execution>
						<id>sign-gpg</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.sonatype.central</groupId>
				<artifactId>central-publishing-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<publishingServerId>sonatype-oss-central</publishingServerId>
				</configuration>
			</plugin>
			<plugin>
				<groupId>net.revelc.code.formatter</groupId>
				<artifactId>formatter-maven-plugin</artifactId>
				<dependencies>
					<dependency>
						<groupId>com.dataliquid.guidelines</groupId>
						<artifactId>coding-conventions</artifactId>
						<version>1.0.4</version>
					</dependency>
				</dependencies>
				<configuration>
					<encoding>UTF-8</encoding>
					<lineEnding>LF</lineEnding>
					<compilerSource>${maven.compiler.source}</compilerSource>
					<compilerCompliance>${maven.compiler.source}</compilerCompliance>
					<compilerTargetPlatform>${maven.compiler.target}</compilerTargetPlatform>
					
					<configFile>codestyles/default/java-formatter.xml</configFile>
					<configJsFile>codestyles/default/javascript-formatter.xml</configJsFile>
					<configJsonFile>codestyles/default/json-formatter.properties</configJsonFile>
					<configHtmlFile>codestyles/default/html-formatter.properties</configHtmlFile>
					<configCssFile>codestyles/default/css-formatter.properties</configCssFile>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>format-code</id>
			<activation>
				<property>
					<name>!env.CI</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.revelc.code.formatter</groupId>
						<artifactId>formatter-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>auto-format</id>
								<phase>validate</phase>
								<goals>
									<goal>format</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		
		<profile>
			<id>format-code-validation</id>
			<activation>
				<property>
					<name>env.CI</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>net.revelc.code.formatter</groupId>
						<artifactId>formatter-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>validate-format</id>
								<phase>validate</phase>
								<goals>
									<goal>validate</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
