<?xml version="1.0"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You 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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.hop</groupId>
  <artifactId>hop-plugins-transforms</artifactId>
  <version>0.70</version>
    <modules>
    </modules>
    <packaging>pom</packaging>

  <name>Hop Plugins Transforms</name>

  <parent>
    <groupId>org.apache.hop</groupId>
    <artifactId>hop-plugins</artifactId>
    <version>0.70</version>
  </parent>

  <properties>
    <!-- Test running configuration -->
    <maven-surefire-plugin.reuseForks>true</maven-surefire-plugin.reuseForks>
    <maven-failsafe-plugin.reuseForks>false</maven-failsafe-plugin.reuseForks>
    <spring.framework.version>4.3.2.RELEASE</spring.framework.version>
    <javax.servlet-api.version>3.1.0</javax.servlet-api.version>
  </properties>

  <profiles>
    <profile>
      <id>lowdeps</id>
      <activation>
        <property>
          <name>!skipDefault</name>
        </property>
      </activation>
      <modules>
       <module>addsequence</module>
      </modules>
    </profile>

    <profile>
      <id>highdeps</id>
      <activation>
        <property>
          <name>!skipDefault</name>
        </property>
      </activation>
      <modules>
        <module>abort</module>
        <module>addsequence</module>
        <module>analyticquery</module>
        <module>append</module>
        <module>blockingtransform</module>
        <module>blockuntiltransformsfinish</module>
        <module>calculator</module>
        <module>changefileencoding</module>
        <module>checksum</module>
        <module>clonerow</module>
        <module>closure</module>
        <module>coalesce</module>
        <module>columnexists</module>
        <module>combinationlookup</module>
        <module>concatfields</module>
        <module>constant</module>
        <module>creditcardvalidator</module>
        <module>cubeinput</module>
        <module>cubeoutput</module>
        <module>databasejoin</module>
        <module>databaselookup</module>
        <module>datagrid</module>
        <module>dbproc</module>
        <module>delay</module>
        <module>delete</module>
        <module>denormaliser</module>
        <module>detectemptystream</module>
        <module>detectlastrow</module>
        <module>dimensionlookup</module>
        <module>dropbox</module>
        <module>dynamicsqlrow</module>
        <module>edi2xml</module>
        <module>excelinput</module>
        <module>excelwriter</module>
        <module>execprocess</module>
        <module>execsqlrow</module>
        <module>fake</module>
        <module>fieldschangesequence</module>
        <module>fieldsplitter</module>
        <module>fileexists</module>
        <module>filelocked</module>
        <module>filemetadata</module>
        <module>filesfromresult</module>
        <module>filestoresult</module>
        <module>filterrows</module>
        <module>flattener</module>
        <module>fuzzymatch</module>
        <module>getfilenames</module>
        <module>getfilesrowcount</module>
        <module>getserversequence</module>
        <module>getsubfolders</module>
        <module>gettablenames</module>
        <module>getvariable</module>
        <module>http</module>
        <module>httppost</module>
        <module>ifnull</module>
        <module>insertupdate</module>
        <module>janino</module>
        <module>javascript</module>
        <module>joinrows</module>
        <module>json</module>
        <module>kafka</module>
        <module>ldap</module>
        <module>loadfileinput</module>
        <module>mail</module>
        <module>mailinput</module>
        <module>mailvalidator</module>
        <module>mapping</module>
        <module>memgroupby</module>
        <module>mergejoin</module>
        <module>mergerows</module>
        <module>metainject</module>
        <module>metastructure</module>
        <module>monetdbbulkloader</module>
        <module>mongodb</module>
        <module>mqtt</module>
        <module>multimerge</module>
        <module>normaliser</module>
        <module>nullif</module>
        <module>numberrange</module>
        <module>pgbulkloader</module>
        <module>pgp</module>
        <module>processfiles</module>
        <module>propertyinput</module>
        <module>propertyoutput</module>
        <module>randomvalue</module>
        <module>regexeval</module>
        <module>replacestring</module>
        <module>reservoirsampling</module>
        <module>rest</module>
        <module>rowgenerator</module>
        <module>rowsfromresult</module>
        <module>rowstoresult</module>
        <module>samplerows</module>
        <module>salesforce</module>
        <module>sasinput</module>
        <module>selectvalues</module>
        <module>setvalueconstant</module>
        <module>setvaluefield</module>
        <module>setvariable</module>
        <module>sort</module>
        <module>sortedmerge</module>
        <module>splitfieldtorows</module>
        <module>splunk</module>
        <module>sql</module>
        <module>sqlfileoutput</module>
        <module>ssh</module>
        <module>streamlookup</module>
        <module>streamschemamerge</module>
        <module>stringcut</module>
        <module>stringoperations</module>
        <module>switchcase</module>
        <module>synchronizeaftermerge</module>
        <module>systemdata</module>
        <module>tablecompare</module>
        <module>tableexists</module>
        <module>tableoutput</module>
        <module>terafast</module>
        <module>textfile</module>
        <module>tokenreplacement</module>
        <module>uniquerows</module>
        <module>uniquerowsbyhashset</module>
        <module>update</module>
        <module>valuemapper</module>
        <module>webserviceavailable</module>
        <module>webservices</module>
        <module>writetolog</module>
        <module>xml</module>
        <module>yamlinput</module>
        <module>zipfile</module>
      </modules>
    </profile>

  </profiles>

  <dependencies>
    <dependency>
      <groupId>org.apache.hop</groupId>
      <artifactId>hop-core</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <version>${mockito-all.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hop</groupId>
      <artifactId>hop-ui</artifactId>
      <version>0.70</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hop</groupId>
      <artifactId>hop-engine</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hop</groupId>
      <artifactId>hop-core</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${javax.servlet-api.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.framework.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-core</artifactId>
        <version>${project.version}</version>
        <scope>provided</scope>
      </dependency>

      <!-- test dependencies -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-core</artifactId>
        <version>${project.version}</version>
        <classifier>test</classifier>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-engine</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-core</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.svg</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.svg</include>
        </includes>
      </resource>
    </resources>
  </build>
</project>
