<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2022 Indra Soluciones Tecnologías de la Información, S.L.U. SPAIN
    Copyright 2019 StreamSets Inc.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

--><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.streamsets</groupId>
  <artifactId>streamsets-datacollector</artifactId>
  <version>3.23.3</version>
  <description>StreamSets Data Collector</description>
  <name>StreamSets Data Collector</name>
  <packaging>pom</packaging>
  <url>http://www.streamsets.com</url>
  <scm>
    <url>https://github.com/streamsets/datacollector</url>
  </scm>

  <organization>
    <name>StreamSets</name>
    <url>http://www.streamsets.com</url>
  </organization>

  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <developers>
    <!-- TODO add rest of team-->
    <developer>
      <id>brock</id>
      <name>Brock Noland</name>
      <email>brock@streamsets.com</email>
      <timezone>America/Chicago</timezone>
    </developer>
  </developers>

  <properties>
    <rat-plugin.version>0.12</rat-plugin.version>

    <!--
         Stage libraries that always built with the data collector (they dont have protolibs)

         IMPORTANT: keep this in alphabetical order

         IMPORTANT: define a property matching the module directory name
         for every stage library here with the directory name as value
    -->

    <aerospike-lib>aerospike-lib</aerospike-lib>
    <aws-lib>aws-lib</aws-lib>
    <aws-secrets-manager-credentialstore-lib>aws-secrets-manager-credentialstore-lib</aws-secrets-manager-credentialstore-lib>
    <azure-keyvault-credentialstore-lib>azure-keyvault-credentialstore-lib</azure-keyvault-credentialstore-lib>
    <basic-lib>basic-lib</basic-lib>
    <bigtable-lib>bigtable-lib</bigtable-lib>
    <crypto-lib>crypto-lib</crypto-lib>
    <cyberark-credentialstore-lib>cyberark-credentialstore-lib</cyberark-credentialstore-lib>
    <dev-lib>dev-lib</dev-lib>
    <dataformats-lib>dataformats-lib</dataformats-lib>
    <google-cloud-lib>google-cloud-lib</google-cloud-lib>
    <influxdb_0_9-lib>influxdb_0_9-lib</influxdb_0_9-lib>
    <jks-credentialstore-lib>jks-credentialstore-lib</jks-credentialstore-lib>
    <jdbc-lib>jdbc-lib</jdbc-lib>
    <jms-lib>jms-lib</jms-lib>
    <kinesis-lib>kinesis-lib</kinesis-lib>
    <mleap-lib>mleap-lib</mleap-lib>
    <mysql-binlog-lib>mysql-binlog-lib</mysql-binlog-lib>
    <omniture-lib>omniture-lib</omniture-lib>
    <!--<orchestrator-lib>orchestrator-lib</orchestrator-lib>  MOVED TO no-osp PROFILE -->
    <rabbitmq-lib>rabbitmq-lib</rabbitmq-lib>
    <redis-lib>redis-lib</redis-lib>
    <salesforce-lib>salesforce-lib</salesforce-lib>
    <sap_hana-lib>sap_hana-lib</sap_hana-lib>
    <stats-lib>stats-lib</stats-lib>
    <tensorflow-lib>tensorflow-lib</tensorflow-lib>
    <vault-credentialstore-lib>vault-credentialstore-lib</vault-credentialstore-lib>
    <wholefile-transformer-lib>wholefile-transformer-lib</wholefile-transformer-lib>
    <windows-lib>windows-lib</windows-lib>
    <rootProject>true</rootProject>
    <datacollector-api.version>3.23.3</datacollector-api.version>
    <datacollector-spark-api.version>3.23.3</datacollector-spark-api.version>
    <thycotic-credentialstore-lib>thycotic-credentialstore-lib</thycotic-credentialstore-lib>
    <maven.deploy.skip>false</maven.deploy.skip>
  </properties>

  <!-- StreamSets Data Collector API being used -->
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.streamsets</groupId>
        <artifactId>streamsets-datacollector-api</artifactId>
        <version>${datacollector-api.version}</version>
      </dependency>
      <dependency>
        <groupId>com.streamsets</groupId>
        <artifactId>streamsets-datacollector-spark-api</artifactId>
        <version>${datacollector-spark-api.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <modules>

    <!-- IMPORTANT: The main section of the POM must not include any stage library module -->

    <module>rbgen-maven-plugin</module>
    <module>root-proto</module>
    <module>root</module>
    <module>testing</module>
    <module>bootstrap</module>
    <module>utils</module>
    <module>sso</module>
    <module>common</module>
    <module>upgrader</module>
    <module>container-common</module>
    <module>metadata-generator</module>
    <module>google-common</module>
    <module>google-connection</module>
    <module>json-dto</module>
    <module>messaging-client</module>
    <module>container</module>
    <module>miniSDC</module>
    <module>sdk</module>
    <module>stage-lib-archetype</module>
    <module>hadoop-common</module>
    <module>mapr-common</module>
    <module>jks-common</module>
    <module>aws-support</module>
    <module>aws-s3-connection</module>
    <module>aws-kinesis-connection</module>
    <module>jdbc-connection</module>
    <module>aws-sqs-connection</module>
    <module>salesforce-connection</module>
    <module>kafka-connection</module>
    <module>elasticsearch-connection</module>
    <module>aws-shared</module>

    <!-- cluster connections -->
    <module>cluster-connections/emr-cluster-connection</module>

    <module>root-lib</module>

    <module>stagesupport</module>
    <module>guavasupport</module>
    <module>commonlib</module>
    <module>httpcommonlib</module>
    <module>net-commonlib</module>

    <module>aws-secrets-manager-credentialstore-protolib</module>
    <module>azure-keyvault-credentialstore-protolib</module>
    <module>cyberark-credentialstore-protolib</module>
    <module>lookup-protolib</module>

    <module>hdfs-protolib</module>
    <module>mapreduce-protolib</module>
    <module>maprfs-protolib</module>
    <module>maprdb-protolib</module>
    <module>mapr_json-protolib</module>
    <module>mapr_json-5_2-protolib</module>
    <module>mapr_json-6_0-protolib</module>
    <module>jks-credentialstore-protolib</module>

    <module>dir-spooler-protolib</module>

    <module>sdc-kafka-api</module>
    <module>sdc-kafka_0_8</module>
    <module>sdc-kafka_0_9-common</module>
    <module>sdc-kafka_0_9</module>
    <module>sdc-kafka_0_9_mapr_5_1</module>
    <module>sdc-kafka_0_9_mapr_5_2</module>
    <module>sdc-kafka_0_10</module>
    <module>sdc-kafka_0_11-common</module>
    <module>sdc-kafka_0_11</module>
    <module>sdc-kafka_1_0</module>
    <module>sdc-kafka_2_0</module>
    <module>sdc-kafka_0_11_mapr_6_1</module>
    <module>kafka-common</module>
    <module>kafka_source-protolib</module>
    <module>kafka_multisource-protolib</module>
    <module>kafka_multisource-0_9-protolib</module>
    <module>kafka_multisource-0_10-protolib</module>
    <module>kafka_target-protolib</module>
    <module>maprstreams-common</module>
    <module>maprstreams-target-protolib</module>
    <module>maprstreams-source-protolib</module>
    <module>maprstreams-multisource-protolib</module>
    <module>jython-protolib</module>
    <module>groovy-protolib</module>
    <module>kinetica-protolib</module>
    <module>kinetica-6_2-protolib</module>
    <module>couchbase-protolib</module>

    <module>snowflake-connection</module>

    <module>elasticsearch-protolib</module>

    <module>solr-protolib</module>

    <module>cassandra-protolib</module>

    <module>mongodb-protolib</module>

    <module>flume-protolib</module>

    <module>cluster-hdfs-protolib</module>
    <module>sdc-hbase-0_98</module>
    <module>sdc-hbase-2_0</module>
    <module>sdc-hbase-api</module>
    <module>hbase-protolib</module>
    <module>kudu-protolib</module>
    <module>cluster-common</module>
    <module>cluster-kafka-protolib</module>
    <module>cluster-bootstrap-api</module>
    <module>cluster-bootstrap</module>
    <module>mapr-cluster-bootstrap</module>
    <module>mapr-cluster-bootstrap_2_2</module>
    <module>mesos-bootstrap</module>
    <module>client-api</module>
    <module>cli</module>
    <module>sdc-solr-api</module>
    <module>sdc-solr_6</module>
    <module>sdc-solr_7</module>
    <module>sdc-solr_8</module>
    <module>spark-executor-protolib</module>
    <module>spark-processor-protolib</module>
    <module>scripting-protolib</module>
    <module>wholefile-converter-protolib</module>

    <!--
         Stage libraries that always built with the data collector (they dont have protolibs)

         IMPORTANT: keep this in alphabetical order

         IMPORTANT: define a property matching the module directory name
         for every stage library here with the directory name as value
    -->
    <module>aerospike-lib</module>
    <module>aws-lib</module>
    <module>aws-secrets-manager-credentialstore-lib</module>
    <module>azure-lib</module>
    <module>azure-keyvault-credentialstore-lib</module>
    <module>basic-lib</module>
    <module>file-transfer-connection</module>
    <module>bigtable-lib</module>
    <module>crypto-lib</module>
    <module>cyberark-credentialstore-lib</module>
    <module>dev-lib</module>
    <module>dataformats-lib</module>
    <module>google-cloud-lib</module>
    <module>influxdb_0_9-lib</module>
    <module>jks-credentialstore-lib</module>
    <module>jdbc-lib</module>
    <module>jdbc-protolib</module>
    <module>jms-lib</module>
    <module>kinesis-lib</module>
    <module>mleap-lib</module>
    <module>mysql-binlog-lib</module>
    <module>omniture-lib</module>
    <module>orchestrator-lib</module>
    <module>orchestrator-lib-osp</module>
    <module>rabbitmq-lib</module>
    <module>redis-lib</module>
    <module>salesforce-lib</module>
    <module>sap_hana-lib</module>
    <module>stats-lib</module>
    <module>tensorflow-lib</module>
    <module>vault-credentialstore-lib</module>
    <module>wholefile-transformer-lib</module>
    <module>windows-lib</module>
    <module>pulsar-protolib</module>
    <module>thycotic-credentialstore-lib</module>
    <module>google-cloud-support</module>
    <module>apache-kudu-connection</module>
    <module>azure-connection</module>
    <module>jms-connection</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.8.2</version>
        <configuration>
          <skip>${maven.deploy.skip}</skip>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>${rat-plugin.version}</version>
        <configuration>
          <excludeSubProjects>false</excludeSubProjects>
          <excludes>
            <exclude>CHANGES.txt</exclude>
            <!-- Eclipse -->
            <exclude>**/.settings/*</exclude>
            <exclude>**/.classpath</exclude>
            <exclude>**/.project</exclude>
            <!-- IntelliJ IDE -->
            <exclude>**/.idea/**</exclude>
            <exclude>**/*.iml</exclude>

            <!-- Git -->
            <exclude>**/.gitignore</exclude>
            <exclude>.gitreview</exclude>
            <exclude>.git/**</exclude>

            <!-- Jenkins -->
            <exclude>**/buildInfo*.properties</exclude>

            <!-- Maven -->
            <exclude>**/target/**</exclude>
            <exclude>.m2/**</exclude> <!-- maven on jenkins -->
            <exclude>.mvn/**</exclude> <!-- custom local maven configurations-->

            <!-- Node.js Modules -->
            <exclude>**/node_modules/**</exclude>

            <!-- Bower -->
            <exclude>**/.bowerrc</exclude>

            <!-- Rat doesn't properly recognize header in some files -->
            <exclude>salesforce-connection/src/main/java/com/streamsets/pipeline/lib/salesforce/connection/mutualauth/ClientSSLTransport.java</exclude>

            <!-- Files that do not support comments, cannot have Licence header -->
            <exclude>**/META-INF/services/**</exclude>
            <exclude>sdk/src/main/services/**</exclude>
            <exclude>**/*.conf</exclude>
            <exclude>**/*.svg</exclude>
            <exclude>**/MANIFEST.MF</exclude>
            <exclude>**/service.sdl</exclude>
            <exclude>**/*.avro</exclude>
            <exclude>**/*.db</exclude>
            <exclude>**/*.csv</exclude>
            <exclude>**/*.txt</exclude>
            <exclude>**/*.json</exclude>
            <exclude>**/*.log</exclude>
            <exclude>**/*.html</exclude>
            <exclude>common/src/main/resources/*</exclude>
            <exclude>**/*.desc</exclude>
            <exclude>**/*.proto</exclude>
            <exclude>**/*.md</exclude>
            <exclude>**/*.xls</exclude>
            <exclude>**/*.xlsx</exclude>
            <exclude>**/*.properties</exclude>


            <!-- Protobuf generated files which are checked in for testing-->
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/EmployeeProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/EngineerProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/ExecutiveProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/ExtensionsProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/PersonProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/RepeatedProto.java</exclude>
            <exclude>commonlib/src/test/java/com/streamsets/pipeline/lib/util/OneofProto.java</exclude>
            <exclude>commonlib/src/test/resources/*.ser</exclude>
            <exclude>commonlib/src/main/resources/*</exclude>
            <exclude>basic-lib/src/test/resources/*.ser</exclude>
            <exclude>**/id_rsa_test</exclude>
            <exclude>**/id_rsa_test_unencrypted</exclude>
            <exclude>**/*.pub</exclude>

            <!-- TestOverrunStreamingXmlParser relies on this file being small, cannot add license header -->
            <exclude>common/src/test/resources/TestStreamingXmlParser-records.xml</exclude>

            <!-- Modules to exclude (for now), not java stuff -->
            <exclude>python/**</exclude>
            <exclude>docs/**</exclude>
            <exclude>cloudera-integration/csd/**</exclude>
            <exclude>datacollector-ui/src/main/webapp/common/directives/**</exclude>

            <!-- Test Databricks ML Model files -->
            <exclude>databricks-ml-protolib/src/test/resources/**</exclude>

            <!-- Example scripts for scripting stages -->
            <exclude>jython-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/jython/default_init_script.py</exclude>
            <exclude>jython-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/jython/default_script.py</exclude>
            <exclude>jython-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/jython/default_destroy_script.py</exclude>
            <exclude>basic-lib/src/main/resources/com/streamsets/pipeline/stage/processor/javascript/default_init_script.js</exclude>
            <exclude>basic-lib/src/main/resources/com/streamsets/pipeline/stage/processor/javascript/default_script.js</exclude>
            <exclude>basic-lib/src/main/resources/com/streamsets/pipeline/stage/processor/javascript/default_destroy_script.js</exclude>
            <exclude>groovy-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/groovy/default_init_script.groovy</exclude>
            <exclude>groovy-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/groovy/default_script.groovy</exclude>
            <exclude>groovy-protolib/src/main/resources/com/streamsets/pipeline/stage/processor/groovy/default_destroy_script.groovy</exclude>
            <exclude>groovy-protolib/src/main/resources/com/streamsets/pipeline/stage/origin/groovy/GeneratorOriginScript.groovy</exclude>
            <exclude>basic-lib/src/main/resources/com/streamsets/pipeline/stage/origin/javascript/GeneratorOriginScript.js</exclude>
            <exclude>jython-protolib/src/main/resources/com/streamsets/pipeline/stage/origin/jython/GeneratorOriginScript.py</exclude>

            <!-- Exclude utility files for docker image-->
            <exclude>docker/dataflow/resources/.keep</exclude>
            <exclude>docker/dataflow/sdc-extras/.keep</exclude>
            <exclude>docker/dataflow/resources/*.tgz</exclude>
            <exclude>docker/libraries-repository/resources/.keep</exclude>
            <exclude>docker/libraries-repository/sdc-extras/.keep</exclude>
            <exclude>docker/libraries-repository/libs/*</exclude>
            <exclude>docker/libraries-repository/libs/legacy/*</exclude>
            <exclude>docker/libraries-repository/libs/antrun/build-main.xml</exclude>
            <exclude>docker/docs/build/**</exclude>

            <!-- TODO key should not be in the repo - this is temporal -->
            <exclude>release/src/main/bin/*.key</exclude>
            <exclude>release/src/main/bin/*.crt</exclude>
            <exclude>release/src/main/bin/.sha1</exclude>

            <exclude>bootstrap/var/**</exclude>
            <exclude>container/var/**</exclude>


          </excludes>
          <goal>run</goal>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.owasp</groupId>
        <artifactId>dependency-check-maven</artifactId>
        <version>3.1.2</version>
        <inherited>false</inherited>
        <configuration>
          <!-- The plugin's report is not manageable since we don't control what stage libraries ship. The
            GitHub interface is a bit more useful than this one.
          -->
          <skip>true</skip>

          <!-- We don't have any .NET code -->
          <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
          <!-- skip non-bundled jars -->
          <skipProvidedScope>true</skipProvidedScope>
          <skipRuntimeScope>true</skipRuntimeScope>
          <!-- We want HTML for easy viewing, but XML for reporting via SonarQube -->
          <format>ALL</format>
          <suppressionFile>${basedir}/dependency-check-suppression.xml</suppressionFile>
        </configuration>
        <reportSets>
          <reportSet>
            <id>aggregate</id>
            <inherited>false</inherited>
            <reports>
              <report>aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.8</version>
        <configuration>
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
          <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>dependencies</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

  <!-- profile to build OSP integration modules -->
  <!-- TODO: move to a different place to keep OSD free of OSP configuration-->
  <profiles>
    <profile>
      <id>osp</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>osp</name>
        </property>
      </activation>
      <properties>
        <orchestrator-lib>orchestrator-lib-osp</orchestrator-lib>
      </properties>
    </profile>

    <profile>
      <id>no-osp</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>!osp</name>
        </property>
      </activation>
      <properties>
        <orchestrator-lib>orchestrator-lib</orchestrator-lib>
      </properties>
    </profile>

    <profile>
      <id>rat-check</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <property>
          <name>!skipRat</name>

        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <inherited>false</inherited>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
              <execution>
                <id>rat-check</id>
                <phase>generate-sources</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <executable>mvn</executable>
              <workingDirectory>${basedir}</workingDirectory>
              <arguments>
                <argument>apache-rat:check</argument>
                <argument>-N</argument>
              </arguments>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>all-libs</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <properties>
        <!--
             IMPORTANT: keep this in alphabetical order

             IMPORTANT: define a property matching the module directory name
             for every stage library here with the directory name as value
        -->
        <apache-kafka_0_8_1-lib>apache-kafka_0_8_1-lib</apache-kafka_0_8_1-lib>
        <apache-kafka_0_8_2-lib>apache-kafka_0_8_2-lib</apache-kafka_0_8_2-lib>
        <apache-kafka_0_9-lib>apache-kafka_0_9-lib</apache-kafka_0_9-lib>
        <apache-kafka_0_10-lib>apache-kafka_0_10-lib</apache-kafka_0_10-lib>
        <apache-kafka_0_11-lib>apache-kafka_0_11-lib</apache-kafka_0_11-lib>
        <apache-kafka_1_0-lib>apache-kafka_1_0-lib</apache-kafka_1_0-lib>
        <apache-kafka_1_1-lib>apache-kafka_1_1-lib</apache-kafka_1_1-lib>
        <apache-kafka_2_0-lib>apache-kafka_2_0-lib</apache-kafka_2_0-lib>
        <apache-kafka_2_1-lib>apache-kafka_2_1-lib</apache-kafka_2_1-lib>
        <apache-kafka_2_2-lib>apache-kafka_2_2-lib</apache-kafka_2_2-lib>
        <apache-kafka_2_3-lib>apache-kafka_2_3-lib</apache-kafka_2_3-lib>
        <apache-kafka_2_4-lib>apache-kafka_2_4-lib</apache-kafka_2_4-lib>
        <apache-kafka_2_5-lib>apache-kafka_2_5-lib</apache-kafka_2_5-lib>
        <apache-kafka_2_6-lib>apache-kafka_2_6-lib</apache-kafka_2_6-lib>
        <apache-kafka_2_7-lib>apache-kafka_2_7-lib</apache-kafka_2_7-lib>
        <apache-kudu_1_0-lib>apache-kudu_1_0-lib</apache-kudu_1_0-lib>
        <apache-kudu_1_1-lib>apache-kudu_1_1-lib</apache-kudu_1_1-lib>
        <apache-kudu_1_2-lib>apache-kudu_1_2-lib</apache-kudu_1_2-lib>
        <apache-kudu_1_3-lib>apache-kudu_1_3-lib</apache-kudu_1_3-lib>
        <apache-kudu_1_4-lib>apache-kudu_1_4-lib</apache-kudu_1_4-lib>
        <apache-kudu_1_5-lib>apache-kudu_1_5-lib</apache-kudu_1_5-lib>
        <apache-kudu_1_6-lib>apache-kudu_1_6-lib</apache-kudu_1_6-lib>
        <apache-kudu_1_7-lib>apache-kudu_1_7-lib</apache-kudu_1_7-lib>
        <apache-pulsar_2-lib>apache-pulsar_2-lib</apache-pulsar_2-lib>
        <apache-solr_6_1_0-lib>apache-solr_6_1_0-lib</apache-solr_6_1_0-lib>
        <cassandra_3-lib>cassandra_3-lib</cassandra_3-lib>
        <couchbase_5-lib>couchbase_5-lib</couchbase_5-lib>
        <elasticsearch_5-lib>elasticsearch_5-lib</elasticsearch_5-lib>
        <elasticsearch_6-lib>elasticsearch_6-lib</elasticsearch_6-lib>
        <elasticsearch_7-lib>elasticsearch_7-lib</elasticsearch_7-lib>
        <groovy_2_4-lib>groovy_2_4-lib</groovy_2_4-lib>
        <jython_2_7-lib>jython_2_7-lib</jython_2_7-lib>
        <kinetica_6_0-lib>kinetica_6_0-lib</kinetica_6_0-lib>
        <kinetica_6_1-lib>kinetica_6_1-lib</kinetica_6_1-lib>
        <kinetica_6_2-lib>kinetica_6_2-lib</kinetica_6_2-lib>
        <kinetica_7_0-lib>kinetica_7_0-lib</kinetica_7_0-lib>
        <mapr_6_0-lib>mapr_6_0-lib</mapr_6_0-lib>
        <mapr_6_1-lib>mapr_6_1-lib</mapr_6_1-lib>
        <mongodb_3-lib>mongodb_3-lib</mongodb_3-lib>
        <mongodb_4-lib>mongodb_4-lib</mongodb_4-lib>
        <databricks-ml_2-lib>databricks-ml_2-lib</databricks-ml_2-lib>
      </properties>
      <modules>
        <!--
             IMPORTANT: keep this in alphabetical order

             IMPORTANT: the modules for all stage libraries
        -->
        <module>apache-kafka_0_8_1-lib</module>
        <module>apache-kafka_0_8_2-lib</module>
        <module>apache-kafka_0_9-lib</module>
        <module>apache-kafka_0_10-lib</module>
        <module>apache-kafka_0_11-lib</module>
        <module>apache-kafka_1_0-lib</module>
        <module>apache-kafka_1_1-lib</module>
        <module>apache-kafka_2_0-lib</module>
        <module>apache-kafka_2_1-lib</module>
        <module>apache-kafka_2_2-lib</module>
        <module>apache-kafka_2_3-lib</module>
        <module>apache-kafka_2_4-lib</module>
        <module>apache-kafka_2_5-lib</module>
        <module>apache-kafka_2_6-lib</module>
        <module>apache-kafka_2_7-lib</module>
        <module>apache-kudu_1_0-lib</module>
        <module>apache-kudu_1_1-lib</module>
        <module>apache-kudu_1_2-lib</module>
        <module>apache-kudu_1_3-lib</module>
        <module>apache-kudu_1_4-lib</module>
        <module>apache-kudu_1_5-lib</module>
        <module>apache-kudu_1_6-lib</module>
        <module>apache-kudu_1_7-lib</module>
        <module>apache-pulsar_2-lib</module>
        <module>apache-solr_6_1_0-lib</module>
        <module>cassandra_3-lib</module>
        <module>couchbase_5-lib</module>
        <module>elasticsearch_5-lib</module>
        <module>elasticsearch_6-lib</module>
        <module>elasticsearch_7-lib</module>
        <module>groovy_2_4-lib</module>
        <module>kinetica_6_0-lib</module>
        <module>kinetica_6_1-lib</module>
        <module>kinetica_6_2-lib</module>
        <module>kinetica_7_0-lib</module>
        <module>jython_2_7-lib</module>
        <module>mapr_6_0-lib</module>
        <module>mapr_6_1-lib</module>
        <module>mongodb_3-lib</module>
        <module>mongodb_4-lib</module>
        <!-- <module>databricks-ml_2-lib</module> -->
      </modules>
    </profile>

    <profile>
      <id>sample-dev-libs</id>
      <activation>
        <property>
          <name>!protolibs-only</name>
        </property>
      </activation>
      <properties>
        <!--
             Use only the latest versions here. If new version needs to be added, move the older version in all-libs

             IMPORTANT: keep this in alphabetical order

             IMPORTANT: define a property matching the module directory name
             for all the sample dev stage libraries here with the directory name as value
        -->
        <apache-kafka_2_7-lib>apache-kafka_2_7-lib</apache-kafka_2_7-lib>
        <apache-pulsar_2-lib>apache-pulsar_2-lib</apache-pulsar_2-lib>
        <apache-solr_6_1_0-lib>apache-solr_6_1_0-lib</apache-solr_6_1_0-lib>
        <cassandra_3-lib>cassandra_3-lib</cassandra_3-lib>
        <couchbase_5-lib>couchbase_5-lib</couchbase_5-lib>
        <elasticsearch_7-lib>elasticsearch_7-lib</elasticsearch_7-lib>
        <groovy_2_4-lib>groovy_2_4-lib</groovy_2_4-lib>
        <jython_2_7-lib>jython_2_7-lib</jython_2_7-lib>
        <kinetica_7_0-lib>kinetica_7_0-lib</kinetica_7_0-lib>
        <mongodb_4-lib>mongodb_4-lib</mongodb_4-lib>
        <azure-lib>azure_lib</azure-lib>
        <databricks-ml_2-lib>databricks-ml_2-lib</databricks-ml_2-lib>
      </properties>
      <modules>
        <!--
             Use only the latest versions here. If new version needs to be added, move the older version in all-libs

             IMPORTANT: keep this in alphabetical order

             IMPORTANT: the modules for the sample dev stage libraries
        -->
        <module>apache-kafka_2_7-lib</module>
        <module>apache-pulsar_2-lib</module>
        <module>apache-solr_6_1_0-lib</module>
        <module>cassandra_3-lib</module>
        <module>couchbase_5-lib</module>
        <module>elasticsearch_7-lib</module>
        <module>groovy_2_4-lib</module>
        <module>kinetica_7_0-lib</module>
        <module>jython_2_7-lib</module>
        <module>mongodb_4-lib</module>
        <!-- <module>databricks-ml_2-lib</module> -->
      </modules>
    </profile>

    <profile>
      <id>archetype</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <modules>
        <module>stage-lib-archetype</module>
      </modules>
    </profile>

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

    <!-- IMPORTANT: keep the following profiles at the end -->

    <!--
         Some maven plugins don't work properly unless the stage-lib-parent is being
         build as well. Example is mvn version:set command.
     -->
    <profile>
      <id>stage-lib-parent</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <modules>
        <module>stage-lib-parent</module>
      </modules>
    </profile>

    <profile>
      <!-- include all "base" modules, where a set of stagelibs needs a common parent pom that doesn't necessarily
           need to be imported as a module in its own right; this is necessary in order to run the version update
           properly -->
      <id>all-poms</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <modules>
      </modules>
    </profile>

    <profile>
      <id>ui</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <modules>
        <module>datacollector-ui</module>
      </modules>
    </profile>

    <profile>
      <id>docs</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <modules>
        <module>docs</module>
      </modules>
    </profile>

    <profile>
      <id>dist</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <modules>
        <module>dist</module>
      </modules>
    </profile>

    <profile>
      <id>release</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <modules>
        <module>release</module>
      </modules>
    </profile>

    <profile>
      <id>rpm</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <property>
          <name>release</name>
        </property>
      </activation>
      <modules>
        <module>rpm</module>
      </modules>
    </profile>

    <profile>
      <id>java-src</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <!--<version>2.6</version>-->
            <inherited>false</inherited>
            <configuration>
              <appendAssemblyId>false</appendAssemblyId>
              <attach>false</attach>
              <tarLongFileMode>gnu</tarLongFileMode>
              <finalName>streamsets-datacollector-java-src-${project.version}</finalName>
              <descriptors>
                <descriptor>release/src/main/assemblies/java-src.xml</descriptor>
              </descriptors>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>generate-sources</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <pluginRepositories>
    <pluginRepository>
      <id>cdh.plugin.repo</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
      <name>Cloudera Repositories</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <repositories>
    <repository>
      <id>Onesait Platform Dataflow Repository</id>
      <name>Onesait Platform Dataflow Repository</name>
      <url>https://nexus.onesaitplatform.com/nexus/repository/releases/</url>
	</repository>
    <repository>
      <id>cdh.repo</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
      <name>Cloudera Repositories</name>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>confluent</id>
      <url>https://packages.confluent.io/maven/</url>
    </repository>
    <repository>
      <id>elasticsearch-releases</id>
      <url>https://artifacts.elastic.co/maven</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>mapr-releases</id>
      <url>https://repository.mapr.com/maven/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
    <!-- REMOVE HORTONWORKS 504 error
    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
      <id>HDPReleases</id>
      <name>HDP Releases</name>
      <url>https://repo.hortonworks.com/content/repositories/releases/</url>
      <layout>default</layout>
    </repository>
    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
      <id>HDPRehosted</id>
      <name>HDP Releases</name>
      <url>https://repo.hortonworks.com/content/repositories/re-hosted/</url>
      <layout>default</layout>
    </repository>
    <repository>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
        <checksumPolicy>warn</checksumPolicy>
      </releases>
      <snapshots>
        <enabled>false</enabled>
        <updatePolicy>never</updatePolicy>
        <checksumPolicy>fail</checksumPolicy>
      </snapshots>
      <id>HDPJetty</id>
      <name>HDP Jetty</name>
      <url>https://repo.hortonworks.com/content/repositories/jetty-hadoop/</url>
      <layout>default</layout>
    </repository>
    -->
    <repository>
      <id>snapshots-repo</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      <releases><enabled>false</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>

    <!-- for Kinetica -->
    <repository>
      <id>kinetica-releases</id>
      <url>https://files.kinetica.com/nexus/content/repositories/releases/</url>
    </repository>

    <!-- artifacts removed from other cloudera repos -->
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>cloudera-new</id>
      <name>cloudera-new</name>
      <url>https://repository.cloudera.com/content/repositories/releases/</url>
    </repository>

    <!-- artifacts removed from cloudera repos --> 
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>icm</id>
      <name>icm</name>
      <url>https://maven.icm.edu.pl/artifactory/repo/</url>
    </repository>

    <!--RESTLET-->
    <repository>
        <id>restlet</id>
        <url>https://maven.restlet.talend.com</url>
    </repository>

  </repositories>
  <distributionManagement>
    <repository>
      <id>releases</id>
      <url>https://nexus.onesaitplatform.com/nexus/repository/releases/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
    </repository>
  </distributionManagement>

</project>
