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

  <parent>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>
  
  <scm>
    <connection>scm:git:git@github.com:languagetool-org/languagetool.git</connection>
    <developerConnection>scm:git:git@github.com:languagetool-org/languagetool.git</developerConnection>
    <url>git@github.com:languagetool-org/languagetool.git</url>
    <tag>HEAD</tag>
  </scm>

  <groupId>org.languagetool</groupId>
  <artifactId>languagetool-parent</artifactId>
  <version>5.0.2</version>
  <packaging>pom</packaging>

  <properties>
      <languagetool.version>5.0.2</languagetool.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
      <maven.jar.plugin>2.6</maven.jar.plugin>  <!-- NOTE: don't update without testing OpenOffice, 3.0.2 caused "Got no data stream!" after add-on installation -->
      <maven.assemby.plugin>2.6</maven.assemby.plugin>
      <junit.version>4.12</junit.version>
      <morfologik.version>2.1.7</morfologik.version>
      <jackson.version>2.10.2</jackson.version>
      <lucene.version>5.5.5</lucene.version>
  </properties>
  
  <build>
      
      <extensions>
		  <!-- needed to deploy to https://repository-languagetool.forge.cloudbees.com/snapshot/ -->
          <extension>
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-webdav</artifactId>
              <version>1.0-beta-2</version>
          </extension>
      </extensions>
      
      <pluginManagement>
          <plugins>

              <plugin>
                  <!-- see https://github.com/languagetool-org/languagetool/issues/1745 -->
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-enforcer-plugin</artifactId>
                  <version>3.0.0-M3</version>
                  <executions>
                      <execution>
                          <id>enforce</id>
                          <configuration>
                              <rules>
                                  <dependencyConvergence/>
                                  <requireMavenVersion>
                                      <version>[3.0,)</version>
                                  </requireMavenVersion>
                              </rules>
                          </configuration>
                          <goals>
                              <goal>enforce</goal>
                          </goals>
                      </execution>
                  </executions>
              </plugin>
              
              <plugin>
                  <groupId>pl.project13.maven</groupId>
                  <artifactId>git-commit-id-plugin</artifactId>
                  <version>2.2.6</version>
                  <executions>
                      <execution>
                          <id>get-the-git-infos</id>
                          <goals>
                              <goal>revision</goal>
                          </goals>
                          <phase>initialize</phase>
                      </execution>
                  </executions>
                  <configuration>
                      <generateGitPropertiesFile>true</generateGitPropertiesFile>
                      <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
                  </configuration>
              </plugin>
              
              <plugin>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <version>3.8.0</version>
                  <configuration>
                      <!-- helps IntelliJ to not forget the configuration (https://stackoverflow.com/questions/29888592/): -->
                      <source>${maven.compiler.source}</source>
                      <target>${maven.compiler.target}</target>
                  </configuration>
              </plugin>

              <plugin>
                  <artifactId>maven-surefire-plugin</artifactId>
                  <version>2.22.0</version>
                  <configuration>
                      <trimStackTrace>false</trimStackTrace>
                      <argLine>-Xms256m -Xmx1550m</argLine>
                      <runOrder>failedfirst</runOrder>
                      <excludes>
                          <exclude>**/*ConcurrencyTest.java</exclude>
                          <exclude>**/Abstract*.java</exclude>
                      </excludes>
                      <useSystemClassLoader>false</useSystemClassLoader><!-- see https://stackoverflow.com/questions/53326285 -->
                  </configuration>
              </plugin>

              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-javadoc-plugin</artifactId>
                  <version>3.0.1</version>
                  <configuration>
                      <bottom><![CDATA[&nbsp;]]></bottom>
                      <excludePackageNames>org.languagetool.dev.conversion*</excludePackageNames>
                      <!-- don't check javadoc <additionalJOption>-Xdoclint:none</additionalJOption> -->
                  </configuration>
              </plugin>

              <plugin>
                  <!-- License report: call `mvn license:third-party-report`, then see languagetool-standalone/target/site/third-party-report.html -->
                  <groupId>org.codehaus.mojo</groupId>
                  <artifactId>license-maven-plugin</artifactId>
              </plugin>

          </plugins>
      </pluginManagement>
  </build>

  <distributionManagement>
    <repository>
      <id>community-release</id>
      <url>dav:https://repository-languagetool.forge.cloudbees.com/release/</url>
    </repository>
    <snapshotRepository>
      <id>community-snapshot</id>
      <url>dav:https://repository-languagetool.forge.cloudbees.com/snapshot/</url>
    </snapshotRepository>
  </distributionManagement>

  <profiles>
    <!-- taken from https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven -->
    <profile>
      <id>release-sign-artifacts</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <configuration>
              <useAgent>true</useAgent>  
            </configuration>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
    
  <modules>
    <module>languagetool-core</module>
    <module>languagetool-language-modules/en</module>
    <module>languagetool-language-modules/fa</module>
    <module>languagetool-language-modules/ar</module>
    <module>languagetool-language-modules/fr</module>
    <module>languagetool-language-modules/de</module>
    <module>languagetool-language-modules/pl</module>
    <module>languagetool-language-modules/ca</module>
    <module>languagetool-language-modules/it</module>
    <module>languagetool-language-modules/br</module>
    <module>languagetool-language-modules/nl</module>
    <module>languagetool-language-modules/pt</module>
    <module>languagetool-language-modules/ru</module>
    <module>languagetool-language-modules/ast</module>
    <module>languagetool-language-modules/be</module>
    <module>languagetool-language-modules/zh</module>
    <module>languagetool-language-modules/da</module>
    <module>languagetool-language-modules/eo</module>
    <module>languagetool-language-modules/gl</module>
    <module>languagetool-language-modules/el</module>
    <module>languagetool-language-modules/is</module>
    <module>languagetool-language-modules/ja</module>
    <module>languagetool-language-modules/km</module>
    <module>languagetool-language-modules/lt</module>
    <module>languagetool-language-modules/ml</module>
    <module>languagetool-language-modules/ro</module>
    <module>languagetool-language-modules/sk</module>
    <module>languagetool-language-modules/sl</module>
    <!-- re-add when a maintainer is found: <module>languagetool-language-modules/sr</module>-->
    <module>languagetool-language-modules/es</module>
    <module>languagetool-language-modules/sv</module>
    <module>languagetool-language-modules/ta</module>
    <module>languagetool-language-modules/tl</module>
    <module>languagetool-language-modules/uk</module>
    <module>languagetool-language-modules/de-DE-x-simple-language</module>
    <module>languagetool-language-modules/ga</module>
    <module>languagetool-language-modules/all</module>
    <module>languagetool-gui-commons</module>
    <module>languagetool-commandline</module>
    <module>languagetool-standalone</module>
    <module>languagetool-office-extension</module>
    <module>languagetool-wikipedia</module>
    <module>languagetool-server</module>
    <module>languagetool-http-client</module>
    <module>languagetool-tools</module>
    <module>languagetool-dev</module>
    <module>languagetool-rpm-package</module>
    <!-- don't add languagetool-client-example here, it's built manually only -->
  </modules>

</project>
