<?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 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.apache.hop</groupId>
    <artifactId>hop-plugins-transforms</artifactId>
    <version>2.3.0</version>
    <modules>
    </modules>
    <packaging>pom</packaging>

    <name>Hop Plugins Transforms</name>

    <parent>
        <groupId>org.apache.hop</groupId>
        <artifactId>hop-plugins</artifactId>
        <version>2.3.0</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>
    </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>dorisbulkloader</module>
                <module>drools</module>
                <module>dynamicsqlrow</module>
                <module>edi2xml</module>
                <module>excel</module>
                <module>execinfo</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>formula</module>
                <module>fuzzymatch</module>
                <module>getfilenames</module>
                <module>getfilesrowcount</module>
                <module>getsubfolders</module>
                <module>gettablenames</module>
                <module>getvariable</module>
                <module>groupby</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>mapping</module>
                <module>memgroupby</module>
                <module>mergejoin</module>
                <module>mergerows</module>
                <module>metadata</module>
                <module>metainject</module>
                <module>metastructure</module>
                <module>monetdbbulkloader</module>
                <module>mongodb</module>
                <module>multimerge</module>
                <module>normaliser</module>
                <module>nullif</module>
                <module>numberrange</module>
                <module>orabulkloader</module>
                <module>pipelineexecutor</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>serverstatus</module>
                <module>setvalueconstant</module>
                <module>setvaluefield</module>
                <module>setvariable</module>
                <module>snowflake</module>
                <module>sort</module>
                <module>sortedmerge</module>
                <module>splitfieldtorows</module>
                <module>splunk</module>
                <module>sql</module>
                <module>sqlfileoutput</module>
                <module>ssh</module>
                <module>standardizephonenumber</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>tableinput</module>
                <module>tableoutput</module>
                <module>terafast</module>
                <module>textfile</module>
                <module>tika</module>
                <module>tokenreplacement</module>
                <module>uniquerows</module>
                <module>uniquerowsbyhashset</module>
                <module>update</module>
                <module>valuemapper</module>
                <module>verticabulkloader</module>
                <module>webserviceavailable</module>
                <module>webservices</module>
                <module>workflowexecutor</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-core</artifactId>
            <version>${mockito-core.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.bytebuddy</groupId>
            <artifactId>byte-buddy</artifactId>
            <version>${byte-buddy.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>net.bytebuddy</groupId>
            <artifactId>byte-buddy-agent</artifactId>
            <version>${byte-buddy.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.objenesis</groupId>
            <artifactId>objenesis</artifactId>
            <version>${objenesis.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.hop</groupId>
            <artifactId>hop-ui</artifactId>
            <version>2.3.0</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-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>
