<?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>org.languagetool</groupId>
    <artifactId>languagetool-parent</artifactId>
    <version>5.7</version>
    <packaging>pom</packaging>

    <url>https://languagetool.org</url>
    <name>LanguageTool</name>
    <description>A style and grammar checker for many languages</description>

    <licenses>
        <license>
            <name>GNU Lesser General Public License</name>
            <url>http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt</url>
            <distribution>repo</distribution>
            <comments>The license refers to the source code, resources may be under different licenses</comments>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Daniel Naber</name>
            <roles>
                <role>Maintainer</role>
            </roles>
        </developer>
    </developers>

    <scm>
        <connection>scm:git:git@github.com:languagetool-org/languagetool.git</connection>
        <developerConnection>scm:git:git@github.com:languagetool-org/languagetool.git</developerConnection>
        <tag>HEAD</tag>
        <url>git@github.com:languagetool-org/languagetool.git</url>
    </scm>

    <distributionManagement>
        <snapshotRepository>
            <!-- see ~/.m2/settings.xml for authentication -->
            <id>repo.languagetool.org</id>
            <name>languagetool-os-snapshot</name>
            <url>https://repo.languagetool.org/artifactory/languagetool-os-snapshot/</url>
        </snapshotRepository>
        <repository>
            <id>repo.languagetool.org</id>
            <name>languagetool-os-snapshot</name>
            <url>https://repo.languagetool.org/artifactory/languagetool-os-release/</url>
        </repository>
    </distributionManagement>

    <!-- TODO remove if nothing failed after reorganize  
        <parent>
        <groupId>org.sonatype.oss</groupId>
        <artifactId>oss-parent</artifactId>
        <version>7</version>
        </parent>
    -->
    <properties>
        <revision>5.7</revision>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <!-- TODO: Which should remain? -->
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss Z</maven.build.timestamp.format>
        <!--Maven-Plugin-Versions -->
        <!-- NOTE: don't update without testing OpenOffice, 3.0.2 caused "Got no data stream!" after add-on installation -->
        <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
        <maven-assembly-plugin.version>3.3.0</maven-assembly-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-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
        <maven-shade-plugin>3.2.4</maven-shade-plugin>
        <license-maven-plugin.version>2.0.0</license-maven-plugin.version>
        <git-commit-id-plugin.version>4.0.3</git-commit-id-plugin.version>
        <!-- grpc related plugins check for updates if grpc is updated -->
        <kr.motd.maven.os-maven-plugin.version>1.6.2</kr.motd.maven.os-maven-plugin.version>
        <protobuf-maven-plugin.version>0.6.1</protobuf-maven-plugin.version>
        <dependency-check-maven.pluging.version>6.5.3</dependency-check-maven.pluging.version>
        <flatten.version>1.2.5</flatten.version>
        <!-- Dependency Versions -->

        <!-- #### Start Updated Block -->

        <!-- Updated from 1.1.1 TODO: Check errors on compile in wikipedia, dev and rpm-->
        <!-- Disable tests -->
        <!-- Missing after update: jopt-simple.jar -->
        <!-- Missing after update: commons-jxpath.jar -->
        <!-- Missing after update: log4j.jar -->
        <org.sweble.wikitext.version>3.1.9</org.sweble.wikitext.version>
        <!-- Updated from 1.2 TODO: Check compatibility-->
        <org.apache.commons.commons-compress.version>1.21</org.apache.commons.commons-compress.version>
        <!-- No update available TODO: Check for replacement-->
        <edu.washington.cs.knowitall.opennlp.version>1.5</edu.washington.cs.knowitall.opennlp.version>
        <!-- Updated from 1.27.2 TODO: Check compatibility-->
        <io.grpc.version>1.42.1</io.grpc.version>
        <protoc.version>3.17.3</protoc.version>
        <!-- TODO check for update see server  & dev -->
        <!-- Updated from 2.2.3 -->
        <org.mariadb.jdbc.version>2.7.4</org.mariadb.jdbc.version>

        <!-- #### End Updated Block -->

        <at.favre.lib.bcrypt.version>0.6.0</at.favre.lib.bcrypt.version>
        <ch.qos.logback.version>1.2.10</ch.qos.logback.version>

        <com.auth0.java-jwt.version>3.12.1</com.auth0.java-jwt.version>
        <com.carrotsearch.hppc.version>0.8.2</com.carrotsearch.hppc.version>
        <com.gitlab.dumonts.hunspell.version>1.1.1</com.gitlab.dumonts.hunspell.version>
        <com.github.lucene-gosen.version>6.2.1</com.github.lucene-gosen.version>
        <com.hankcs.aho-corasick-double-array-trie.version>1.2.2</com.hankcs.aho-corasick-double-array-trie.version>
        <com.hankcs.hanlp.version>portable-1.8.2</com.hankcs.hanlp.version>
        <com.vdurmont.emoji-java.version>5.1.1</com.vdurmont.emoji-java.version>
        <com.sparkjava.version>2.9.3</com.sparkjava.version>

        <commons-cli.version>1.4</commons-cli.version>
        <commons-codec.version>1.15</commons-codec.version>
        <commons.io.version>2.8.0</commons.io.version>
        <commons-logging.version>1.2</commons-logging.version>
        <commons-validator>1.7</commons-validator>

        <de.danielnaber.german-pos-dict.version>1.2.2</de.danielnaber.german-pos-dict.version>
        <de.danielnaber.jwordsplitter.version>4.5</de.danielnaber.jwordsplitter.version>

        <edu.washington.cs.knowitall.openregex.version>1.1.1</edu.washington.cs.knowitall.openregex.version>

        <io.prometheus.simpleclient.version>0.12.0</io.prometheus.simpleclient.version>
        <io.github.resilience4j.version>1.7.1</io.github.resilience4j.version>
        <io.micrometer.micrometer-prometheus.version>1.7.1</io.micrometer.micrometer-prometheus.version>
        <io.lettuce.version>6.1.6.RELEASE</io.lettuce.version>

        <javax.activation.javax.activation-api.version>1.2.0</javax.activation.javax.activation-api.version>
        <javax.annotation.javax.annotation-api.version>1.3.2</javax.annotation.javax.annotation-api.version>
        <!-- see https://github.com/languagetool-org/languagetool/issues/4088 before you upgrade this -->
        <javax.measure.unit-api.version>1.0</javax.measure.unit-api.version>
        <javax.xml.bind.jaxb-api.version>2.3.0</javax.xml.bind.jaxb-api.version>

        <net.loomchild.segment.version>2.0.1</net.loomchild.segment.version>

        <org.apache.commons.commons-collections4.version>4.1</org.apache.commons.commons-collections4.version>
        <org.apache.commons.commons-csv.version>1.8</org.apache.commons.commons-csv.version>
        <org.apache.commons.commons-pool2.version>2.9.0</org.apache.commons.commons-pool2.version>
        <org.apache.commons.lang3.version>3.11</org.apache.commons.lang3.version>
        <org.apache.commons.text.version>1.9</org.apache.commons.text.version>
        <org.apache.opennlp.opennlp-tools.version>1.9.4</org.apache.opennlp.opennlp-tools.version>

        <org.eclipse.jetty.version>9.4.44.v20210927</org.eclipse.jetty.version>
        <org.glassfish.jaxb.jaxb-runtime.version>2.3.0</org.glassfish.jaxb.jaxb-runtime.version>
        <org.ioperm.morphology-el.version>1.0.0</org.ioperm.morphology-el.version>
        <org.jetbrains.annotations.version>20.1.0</org.jetbrains.annotations.version>
        <org.jetbrains.intellij.deps.trove4j.version>1.0.20200330</org.jetbrains.intellij.deps.trove4j.version>
        <org.mybatis.version>3.5.9</org.mybatis.version>
        <org.openoffice.version>4.1.2</org.openoffice.version>
        <org.slf4j.version>1.7.30</org.slf4j.version>
        <org.softcatala.catalan-pos-dict.version>2.18</org.softcatala.catalan-pos-dict.version>
        <org.tukaani.version>1.8</org.tukaani.version>

        <frensh-pos-dict.version>0.5</frensh-pos-dict.version>
        <guava.version>30.1-jre</guava.version>
        <jackson.version>2.12.0</jackson.version>
        <languagetool-ga-dicts.version>0.02</languagetool-ga-dicts.version>
        <lombok.version>1.18.22</lombok.version>
        <lucene.version>5.5.5</lucene.version>
        <morfologik.version>2.1.7</morfologik.version>
        <morfologik-ukrainian-lt.version>5.7.0</morfologik-ukrainian-lt.version>
        <optimaize.languagedetector.language-detector.version>0.6</optimaize.languagedetector.language-detector.version>
        <!-- see https://github.com/languagetool-org/languagetool/issues/4088 before you upgrade this -->
        <spanish-pos-dict.version>1.6</spanish-pos-dict.version>
        <tech.units.indriya.version>1.3</tech.units.indriya.version>
        <ecs-logging-java.version>1.3.2</ecs-logging-java.version>

        <!-- Test-Dependency Versions -->
        <junit.version>4.13.2</junit.version>
        <mockito.version>3.6.28</mockito.version>
        <hsqldb.version>2.5.1</hsqldb.version>
        <rest-assured.version>4.1.2</rest-assured.version>
        <org.awaitility.version>4.1.1</org.awaitility.version>
    </properties>

    <dependencyManagement>
        <!--LT Premium dependencies-->
        <dependencies>
            <!-- 3rd Party Dependencies -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <scope>provided</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven-deploy-plugin.version}</version>
                </plugin>
                <plugin>
                    <!-- see https://github.com/languagetool-org/languagetool/issues/1745 -->
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>enforce</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <dependencyConvergence/>
                                    <requireMavenVersion>
                                        <version>[3.0,)</version>
                                    </requireMavenVersion>
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>${git-commit-id-plugin.version}</version>
                    <configuration>
                        <generateGitPropertiesFile>true</generateGitPropertiesFile>
                        <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties
                        </generateGitPropertiesFilename>
                    </configuration>
                    <executions>
                        <execution>
                            <id>get-the-git-infos</id>
                            <goals>
                                <goal>revision</goal>
                            </goals>
                            <phase>initialize</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven-compiler-plugin.version}</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>${maven-surefire-plugin.version}</version>
                    <configuration>
                        <trimStackTrace>false</trimStackTrace>
                        <argLine>-Xms256m -Xmx3072m</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>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven-javadoc-plugin.version}</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>
                    <version>${license-maven-plugin.version}</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.owasp</groupId>
                <artifactId>dependency-check-maven</artifactId>
                <version>${dependency-check-maven.pluging.version}</version>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>flatten-maven-plugin</artifactId>
                <version>${flatten.version}</version>
                <configuration>
                    <!--                        <updatePomFile>true</updatePomFile>-->
                    <flattenMode>ossrh</flattenMode>
                </configuration>
                <executions>
                    <execution>
                        <id>flatten</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>flatten</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>flatten.clean</id>
                        <phase>clean</phase>
                        <goals>
                            <goal>clean</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <!-- taken from https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven -->
        <!--TODO: Is this needed anymore? Or is maybe an update possible -->
        <profile>
            <id>release-sign-artifacts</id>
            <activation>
                <property>
                    <name>performRelease</name>
                    <value>true</value>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>1.6</version>
                        <configuration>
                            <useAgent>true</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                                <phase>verify</phase>
                            </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>
