<?xml version="1.0" encoding="UTF-8"?>
<!--
   Apache Maven 2 POM generated by Apache Ivy
   http://ant.apache.org/ivy/
   Apache Ivy version: 2.3.0 20130110142753
-->
<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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.bitbucket.tbrugz</groupId>
  <artifactId>queryon</artifactId>
  <packaging>pom</packaging>
  <version>0.7</version>

  <name>queryon</name>
  <description>Web application that creates a REST API based on database objects (tables, views, queries) from a RDBMS</description>
  <url>https://github.com/tbrugz/queryon</url>

  <!--
  http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
  http://blog.miloszikic.com/2010/04/maven-war-plugin-and-non-default-webapp.html
  http://stackoverflow.com/questions/849389/how-to-read-an-external-properties-file-in-maven
  -->

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <maven-clean-plugin.version>2.6.1</maven-clean-plugin.version>
    <maven-war-plugin.version>3.3.2</maven-war-plugin.version>

    <!-- <queryon.version>${project.version}</queryon.version> -->
    <sqldump.version>0.9.17</sqldump.version>
    <kmlutils.version>0.5.6</kmlutils.version>

    <servlet-api.version>3.0.1</servlet-api.version>

    <shiro.version>1.8.0</shiro.version>
    <shiro.web.version>${shiro.version}</shiro.web.version>
    <log4j.version>1.2.17</log4j.version>
    <slf4j.version>1.7.32</slf4j.version>
    <logback.version>1.2.3</logback.version>

    <jaxb.version>2.3.2</jaxb.version>
    <jaxb.impl.version>2.3.0.1</jaxb.impl.version>
    <jaxws.version>2.3.2</jaxws.version>
    <keycloak.version>9.0.3</keycloak.version>
    <gson.version>2.8.6</gson.version>
    <diffutils.version>1.3.0</diffutils.version>

    <cxf.version>3.3.7</cxf.version>

    <jetty.version>9.4.28.v20200408</jetty.version>
    <jetty.java6.version>8.1.22.v20160922</jetty.java6.version> <!-- java 6+ -->
    <httpclient.version>4.5.13</httpclient.version>

    <h2.version>1.4.200</h2.version>
    <postgresql.version>42.2.14.jre7</postgresql.version>
    <mariadb.version>2.6.2</mariadb.version>
    <derby.version>10.12.1.1</derby.version>
    <sqlite.version>3.28.0</sqlite.version>

    <buildnumber-maven-plugin.version>1.4</buildnumber-maven-plugin.version>

    <findbugs.version>2.5.2</findbugs.version>
    <checkstyle.version>2.10</checkstyle.version>
    <cobertura.version>2.5.2</cobertura.version>
    <pmd.version>3.0.1</pmd.version>
    <jdepend-maven-plugin.version>2.0</jdepend-maven-plugin.version>

    <checkstyle.config.location>checkstyle_checks.xml</checkstyle.config.location>

    <sonar.exclusions>
      qon-web/src/main/webapp/css/diffview.css,
      qon-web/src/main/webapp/css/nv.d3.css,
      qon-web/src/main/webapp/css/prism.css,
      qon-web/src/main/webapp/js/ace/**,
      qon-web/src/main/webapp/js/jsdifflib/**,
      qon-web/src/main/webapp/js/sigma/**,
      qon-web/src/main/webapp/js/d3.min.js,
      qon-web/src/main/webapp/js/jquery*.js,
      qon-web/src/main/webapp/js/markdown.js,
      qon-web/src/main/webapp/js/nv.d3.min.js,
      qon-web/src/main/webapp/js/prism.js,
      qon-web/src/main/webapp/js/typeahead.bundle.js,
      qon-web/src/main/webapp/map/js/jscolor/**,
      qon-web/src/main/webapp/swagger-ui/**,
      qon-web/src/main/webapp/swagger2-ui/**
    </sonar.exclusions>
  </properties>
  
  <modules>
    <module>qon-core</module>
    <module>qon-auth-keycloak</module>
    <module>qon-graphql</module>
    <module>qon-soap</module>
    <module>qon-web</module>
    <module>demo</module>
    <module>demo/qon-demo-static</module>
    <module>demo/qon-demo-minimal</module>
    <module>demo/qon-demo-dbn</module>
    <module>demo/qon-demo-pg</module>
    <module>demo/qon-demo-anydb</module>
    <module>demo/qon-demo-springboot</module>
  </modules>

  <licenses>
    <license>
      <name>GNU Affero General Public License, Version 3</name>
      <url>http://www.gnu.org/licenses/agpl-3.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:https://github.com/tbrugz/queryon</connection>
    <developerConnection>scm:git:https://github.com/tbrugz/queryon</developerConnection>
    <url>https://github.com/tbrugz/queryon</url>
  </scm>
  <developers>
    <developer>
      <id>tbrugz</id>
      <name>Telmo Brugnara</name>
      <email>tbrugz@gmail.com</email>
    </developer>
  </developers>

  <distributionManagement>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
    <repository>
      <id>ossrh</id>
      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
  </distributionManagement>

  <build>

    <!-- pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.5.2</version>
          <configuration>
            <formats>
              <format>html</format>
              <format>xml</format>
            </formats>
          </configuration>
          <executions>
            <execution>
              <phase>package</phase>
              <goals>
                <goal>cobertura</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <!- - plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
      </plugin>
    </plugins -->
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0</version> <!-- 1.4.1 not compatible with java17? -->
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireJavaVersion>
                  <version>1.6.0</version>
                </requireJavaVersion>
                <requireMavenVersion>
                  <version>3.2.5</version>
                </requireMavenVersion>
                <!--
                <enforceBytecodeVersion>
                  <maxJdkVersion>8</maxJdkVersion>
                  <ignoredScopes>
                    <scope>test</scope>
                    <scope>provided</scope>
                  </ignoredScopes>
                </enforceBytecodeVersion>
                -->
              </rules>
            </configuration>
          </execution>
        </executions>
        <!-- extra-enforcer-rules 1.3 not compatible with maven-enforcer 3.0.0? -->
        <!--
        <dependencies>
          <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>extra-enforcer-rules</artifactId>
            <version>1.3</version>
          </dependency>
        </dependencies>
        -->
      </plugin>
      
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${maven-clean-plugin.version}</version>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <!--<release>6</release>-->
        </configuration>
      </plugin>
      <!-- https://maven.apache.org/plugins/maven-source-plugin/usage.html -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.2.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.2.0</version>
        <configuration>
          <source>8</source>
        </configuration>
        <!--<executions>
          <execution>
            <id>attach-javadocs</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>-->
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.2</version>
      </plugin>

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>2.8.1</version>
        <configuration>
          <generateBackupPoms>false</generateBackupPoms>
          <!--<allowMajorUpdates>false</allowMajorUpdates>-->
        </configuration>
      </plugin>

      <!--plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-jspc-maven-plugin</artifactId>
        <version>8.1.16.v20140903</version>
        <executions>
          <execution>
            <id>jspc</id>
            <goals>
              <goal>jspc</goal>
            </goals>
            <configuration>
              <webAppSourceDirectory>web</webAppSourceDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin-->

      <!-- <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>buildnumber-maven-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <phase>validate</phase>
            <goals>
              <goal>create</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <doCheck>false</doCheck>
          <doUpdate>false</doUpdate>
          <timestampFormat>{0,date,yyyy-MM-dd HH:mm:ss}</timestampFormat>
        </configuration>
      </plugin> -->

      <!--
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
        <version>1.6.7</version>
        <extensions>true</extensions>
        <configuration>
          <serverId>ossrh</serverId>
          <nexusUrl>https://oss.sonatype.org/</nexusUrl>
          <autoReleaseAfterClose>true</autoReleaseAfterClose>
        </configuration>
      </plugin>
      -->

      <!--  web plugins -->

      <!-- <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
      </plugin> -->

      <!-- <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <phase>generate-resources</phase>
            <configuration>
              <target>
                <property name="maven.project.url" value="${project.url}"/>
                <ant antfile="build.xml" target="download-deps"/>
              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin> -->

    </plugins>

  </build>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>${cobertura.version}</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>${checkstyle.version}</version>
        <!-- configuration>
          <configLocation>s checkstyle_checks.xml</configLocation>
        </configuration-->
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>${findbugs.version}</version>
        <configuration>
          <xmlOutput>true</xmlOutput>
          <!-- excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
          <includeFilterFile>findbugs-include.xml</includeFilterFile-->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>${pmd.version}</version>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jdepend-maven-plugin</artifactId>
        <version>${jdepend-maven-plugin.version}</version>
      </plugin>
    </plugins>
  </reporting>

  <dependencies>
    <dependency>
      <groupId>org.bitbucket.tbrugz</groupId>
      <artifactId>sqldump</artifactId>
      <version>${sqldump.version}</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <groupId>org.bitbucket.tbrugz</groupId>
          <artifactId>kmlutils</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.codehaus.jettison</groupId>
          <artifactId>jettison</artifactId>
        </exclusion>
        <!-- <exclusion>
          <groupId>org.eclipse.persistence</groupId>
          <artifactId>org.eclipse.persistence.moxy</artifactId>
        </exclusion> -->
        <!--<exclusion>
          <groupId>org.eclipse.persistence</groupId>
          <artifactId>org.eclipse.persistence.asm</artifactId>
        </exclusion>-->
        <!--<exclusion>
          <groupId>javax.xml.bind</groupId>
          <artifactId>jaxb-api</artifactId>
        </exclusion>-->
      </exclusions>
    </dependency>
    <dependency>
      <!-- also as transitive dependency from sqldump -->
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
      <scope>compile</scope>
    </dependency>
    <!-- http://stackoverflow.com/questions/1979473/available-servlet-3-0-implementations -->
    <!-- <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.0.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency> -->

    <!-- <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-core</artifactId>
      <version>${shiro.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-web</artifactId>
      <version>${shiro.version}</version>
      <scope>compile</scope>
    </dependency> -->
    <!-- <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
      <scope>compile</scope>
    </dependency> -->
    <dependency>
      <!-- needed by jsp files -->
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>${gson.version}</version>
      <scope>compile</scope>
    </dependency>

    <!-- <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>${slf4j.version}</version>
      <optional>true</optional>
    </dependency> -->
    <!--<dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>-->
    <!-- dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency-->

    <!-- <dependency>
      <groupId>com.h2database</groupId>
      <artifactId>h2</artifactId>
      <version>1.3.173</version>
      <scope>test</scope>
    </dependency> -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>2.2</version>
      <scope>test</scope>
    </dependency>

    <!--<dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${jaxb.version}</version>
        <scope>compile</scope>
    </dependency>-->
    <!--<dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb.version}</version>
        <scope>compile</scope>
    </dependency>-->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>${jaxb.impl.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>${jaxb.impl.version}</version>
        <scope>test</scope>
    </dependency>

    <!--<dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
        <scope>test</scope>
    </dependency>-->
    <!-- <dependency>
      <groupId>net.sourceforge.winstone</groupId>
      <artifactId>winstone</artifactId>
      <version>0.9.10</version>
      <scope>test</scope>
    </dependency> -->
    <!-- <dependency>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>jetty-maven-plugin</artifactId>
      <version>8.1.16.v20140903</version>
      <scope>test</scope>
    </dependency> -->
    <!-- <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-server</artifactId>
      <version>8.1.19.v20160209</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-webapp</artifactId>
      <version>8.1.19.v20160209</version>
      <scope>test</scope>
    </dependency> -->

    <!-- <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>${httpclient.version}</artifactId>
      <version>4.2.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
      <version>4.2.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.any23</groupId>
      <artifactId>apache-any23-core</artifactId>
      <version>1.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-csv</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-csv</artifactId>
      <version>1.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.bitbucket.tbrugz</groupId>
      <artifactId>kmlutils</artifactId>
      <version>0.5.5</version>
      <scope>test</scope>
    </dependency> -->

    <!-- <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.2.1</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>javax.mail-api</artifactId>
      <version>1.5.4</version>
    </dependency>
    <dependency>
      <groupId>javax.ejb</groupId>
      <artifactId>javax.ejb-api</artifactId>
      <version>3.2</version>
    </dependency> -->

  </dependencies>

  <profiles>
    <profile>
      <id>release</id>
      <build>
      <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-gpg-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <id>sign-artifacts</id>
            <phase>verify</phase>
            <goals>
              <goal>sign</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      </plugins>
      </build>
    </profile>
  </profiles>

  <repositories>
    <repository>
      <!-- needed for sqldump snapshot releases -->
      <id>sonatype-snapshots</id>
      <name>Sonatype Snapshots</name>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
    <!--<repository>
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2/</url>
    </repository>
    <repository>
      <id>aduana</id>
      <url>https://maven.ontotext.com/content/repositories/aduna/</url>
    </repository>
    <repository>
      <id>bitbucket-tbrugz</id>
      <url>https://bitbucket.org/tbrugz/mvn-repo/raw/tip/</url>
    </repository>-->
    <!-- url>http://repo.aduna-software.org/maven2/releases/</url-->
    <!-- repository>
      <id>pentaho-rep</id>
      <url>http://repo.pentaho.org/artifactory/repo/</url>
      <url>https://nexus.pentaho.org/</url>
    </repository-->
    <!-- repository>
      <id>apache-snapshots</id>
      <url>https://repository.apache.org/content/groups/snapshots/</url>
    </repository-->
  </repositories>

</project>
