<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.facebook</groupId>
  <artifactId>ktfmt-parent</artifactId>
  <version>0.54</version>
  <packaging>pom</packaging>

  <name>Ktfmt Parent</name>
  <description>A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions.</description>
  <url>https://github.com/facebook/ktfmt</url>
  <inceptionYear>2019</inceptionYear>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>Facebook</name>
    </developer>
  </developers>

  <modules>
    <module>core</module>
  </modules>
  <scm>
    <connection>scm:git:https://github.com/facebook/ktfmt.git</connection>
    <developerConnection>scm:git:git@github.com:facebook/ktfmt.git</developerConnection>
    <url>https://github.com/facebook/ktfmt.git</url>
  </scm>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

  <build>
    <pluginManagement>
      <plugins>
        <!-- Spotless for formatting -->
        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>2.44.0.BETA2</version>
          <configuration>
            <kotlin>
              <includes>
                <include>src/main/java/**/*.kt</include>
                <include>src/test/java/**/*.kt</include>
              </includes>
              <ktfmt/>
            </kotlin>

            <pom>
              <sortPom>
                <expandEmptyElements>false</expandEmptyElements>
              </sortPom>
            </pom>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.7.0</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>true</autoReleaseAfterClose>
            </configuration>
          </plugin>

          <!-- Sign artifacts -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <goals>
                  <goal>sign</goal>
                </goals>
                <phase>verify</phase>
                <configuration>
                  <!-- Honor -Dgpg.passphrase=... on the command line. -->
                  <gpgArguments>
                    <arg>--pinentry-mode</arg>
                    <arg>loopback</arg>
                  </gpgArguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
