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

    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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-box-parent</artifactId>
        <version>3.0.1</version>
    </parent>

    <artifactId>camel-box</artifactId>
    <packaging>jar</packaging>
    <name>Camel :: Box :: Component</name>
    <description>Camel Box component</description>

    <properties>
        <schemeName>box</schemeName>
        <componentName>Box</componentName>
        <componentPackage>org.apache.camel.component.box</componentPackage>
        <outPackage>org.apache.camel.component.box.internal</outPackage>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-support</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-box-api</artifactId>
        </dependency>

        <dependency>
            <groupId>com.box</groupId>
            <artifactId>box-java-sdk</artifactId>
            <version>${box-java-sdk-version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${httpclient4-version}</version>
        </dependency>


        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>${jsoup-version}</version>
        </dependency>

        <!-- Camel annotations in provided scope to avoid compile errors in IDEs -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>spi-annotations</artifactId>
            <scope>provided</scope>
        </dependency>

        <!-- Component API javadoc in provided scope to read API signatures -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-box-api</artifactId>
            <version>${project.version}</version>
            <type>javadoc</type>
            <scope>provided</scope>
        </dependency>

        <!-- Component API javadoc in provided scope to read API signatures -->
        <dependency>
            <groupId>com.box</groupId>
            <artifactId>box-java-sdk</artifactId>
            <version>${box-java-sdk-version}</version>
            <type>javadoc</type>
            <scope>provided</scope>
        </dependency>

        <!-- logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j2-version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j2-version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>${log4j2-version}</version>
            <scope>test</scope>
        </dependency>

        <!-- testing -->
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <defaultGoal>install</defaultGoal>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-api-component-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-test-component-classes</id>
                        <goals>
                            <goal>fromApis</goal>
                        </goals>
                        <configuration>
                            <apis>
                                <api>
                                    <apiName>collaborations</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxCollaborationsManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFolderCollaboration</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addFolderCollaborationByEmail</methodPattern>
                                            <methodAlias>addByEmail</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteCollaboration</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderCollaborations</methodPattern>
                                            <methodAlias>collaborations</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getPendingCollaborations</methodPattern>
                                            <methodAlias>pendingCollaborations</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getCollaborationInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateCollaborationInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>comments</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxCommentsManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFileComment</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>changeCommentMessage</methodPattern>
                                            <methodAlias>updateMessage</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteComment</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getCommentInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileComments</methodPattern>
                                            <methodAlias>comments</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>replyToComment</methodPattern>
                                            <methodAlias>reply</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>event-logs</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxEventLogsManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>getEnterpriseEvents</methodPattern>
                                            <methodAlias>events</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>position</nullableOption>
                                        <nullableOption>types</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>files</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxFilesManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>uploadFile</methodPattern>
                                            <methodAlias>upload</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>downloadFile</methodPattern>
                                            <methodAlias>download</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>copyFile</methodPattern>
                                            <methodAlias>copy</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>moveFile</methodPattern>
                                            <methodAlias>move</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>renameFile</methodPattern>
                                            <methodAlias>rename</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFileSharedLink</methodPattern>
                                            <methodAlias>link</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFile</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>uploadNewFileVersion</methodPattern>
                                            <methodAlias>uploadVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>promoteFileVersion</methodPattern>
                                            <methodAlias>promoteVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileVersions</methodPattern>
                                            <methodAlias>versions</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>downloadPreviousFileVersion</methodPattern>
                                            <methodAlias>downloadVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFileVersion</methodPattern>
                                            <methodAlias>deleteVersion</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFileInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFileMetadata</methodPattern>
                                            <methodAlias>createMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileMetadata</methodPattern>
                                            <methodAlias>metadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFileMetadata</methodPattern>
                                            <methodAlias>updateMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFileMetadata</methodPattern>
                                            <methodAlias>deleteMetadata</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getDownloadUrl</methodPattern>
                                            <methodAlias>url</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getPreviewLink</methodPattern>
                                            <methodAlias>preview</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileThumbnail</methodPattern>
                                            <methodAlias>thumbnail</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>checkUpload</methodPattern>
                                            <methodAlias>canUpload</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>fields</nullableOption>
                                        <nullableOption>created</nullableOption>
                                        <nullableOption>modified</nullableOption>
                                        <nullableOption>size</nullableOption>
                                        <nullableOption>fileSize</nullableOption>
                                        <nullableOption>rangeStart</nullableOption>
                                        <nullableOption>rangeEnd</nullableOption>
                                        <nullableOption>listener</nullableOption>
                                        <nullableOption>fileSize</nullableOption>
                                        <nullableOption>newName</nullableOption>
                                        <nullableOption>unshareDate</nullableOption>
                                        <nullableOption>permissions</nullableOption>
                                        <nullableOption>typeName</nullableOption>
                                        <nullableOption>check</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>folders</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxFoldersManager</proxyClass>
                                    <fromJavadoc>
                                    </fromJavadoc>
                                    <aliases>
                                        <alias>
                                            <methodPattern>getRootFolder</methodPattern>
                                            <methodAlias>root</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFolder</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>copyFolder</methodPattern>
                                            <methodAlias>copy</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>moveFolder</methodPattern>
                                            <methodAlias>move</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>renameFolder</methodPattern>
                                            <methodAlias>rename</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createFolderSharedLink</methodPattern>
                                            <methodAlias>link</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteFolder</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolder</methodPattern>
                                            <methodAlias>folder</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFolderItems</methodPattern>
                                            <methodAlias>items</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateFolderInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>offset</nullableOption>
                                        <nullableOption>limit</nullableOption>
                                        <nullableOption>fields</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>groups</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxGroupsManager</proxyClass>
                                    <fromJavadoc>
                                    </fromJavadoc>
                                    <aliases>
                                        <alias>
                                            <methodPattern>createGroup</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteGroup</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getAllGroups</methodPattern>
                                            <methodAlias>groups</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addGroupMembership</methodPattern>
                                            <methodAlias>addMembership</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteGroupMembership</methodPattern>
                                            <methodAlias>deleteMembership</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupMemberships</methodPattern>
                                            <methodAlias>memberships</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getGroupMembershipInfo</methodPattern>
                                            <methodAlias>membershipInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateGroupMembershipInfo</methodPattern>
                                            <methodAlias>updateMembershipInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>role</nullableOption>
                                        <nullableOption>description</nullableOption>
                                        <nullableOption>provenance</nullableOption>
                                        <nullableOption>externalSyncIdentifier</nullableOption>
                                        <nullableOption>invitabilityLevel</nullableOption>
                                        <nullableOption>memberViewabilityLevel</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>events</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxEventsManager</proxyClass>
                                    <fromJavadoc>
                                        <excludeMethods>stopListening</excludeMethods>
                                    </fromJavadoc>
                                    <excludeConfigNames>listener</excludeConfigNames>
                                    <nullableOptions>
                                        <nullableOption>startingPosition</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>search</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxSearchManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>searchFolder</methodPattern>
                                            <methodAlias>search</methodAlias>
                                        </alias>
                                    </aliases>
                                </api>
                                <api>
                                    <apiName>tasks</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxTasksManager</proxyClass>
                                    <fromJavadoc>
                                    </fromJavadoc>
                                    <aliases>
                                        <alias>
                                            <methodPattern>addFileTask</methodPattern>
                                            <methodAlias>add</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteTask</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getFileTasks</methodPattern>
                                            <methodAlias>tasks</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateTaskInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addAssignmentToTask</methodPattern>
                                            <methodAlias>addAssignment</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteTaskAssignment</methodPattern>
                                            <methodAlias>deleteAssignment</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskAssignments</methodPattern>
                                            <methodAlias>assignments</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getTaskAssignmentInfo</methodPattern>
                                            <methodAlias>assignmentInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>message</nullableOption>
                                    </nullableOptions>
                                </api>
                                <api>
                                    <apiName>users</apiName>
                                    <proxyClass>org.apache.camel.component.box.api.BoxUsersManager</proxyClass>
                                    <fromJavadoc />
                                    <aliases>
                                        <alias>
                                            <methodPattern>getCurrentUser</methodPattern>
                                            <methodAlias>currentUser</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getAllEnterpriseOrExternalUsers</methodPattern>
                                            <methodAlias>users</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createAppUser</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>createEnterpriseUser</methodPattern>
                                            <methodAlias>create</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteUser</methodPattern>
                                            <methodAlias>delete</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>addUserEmailAlias</methodPattern>
                                            <methodAlias>addEmailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getUserEmailAlias</methodPattern>
                                            <methodAlias>emailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>deleteUserEmailAlias</methodPattern>
                                            <methodAlias>deleteEmailAlias</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>getUserInfo</methodPattern>
                                            <methodAlias>info</methodAlias>
                                        </alias>
                                        <alias>
                                            <methodPattern>updateUserInfo</methodPattern>
                                            <methodAlias>updateInfo</methodAlias>
                                        </alias>
                                    </aliases>
                                    <nullableOptions>
                                        <nullableOption>filterTerm</nullableOption>
                                        <nullableOption>fields</nullableOption>
                                        <nullableOption>params</nullableOption>
                                    </nullableOptions>
                                </api>
                            </apis>
                            <!-- Specify global values for all APIs here, these are overridden at API level
                                 <substitutions />
                                 <excludeConfigNames />
                                 <excludeConfigTypes />
                                 <extraOptions>
                                 <fromJavadoc />
                                 <aliases /> -->
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- add generated source and test source to build -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>add-generated-sources</id>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/generated-sources/camel-component</source>
                            </sources>
                        </configuration>
                    </execution>
                    <execution>
                        <id>add-generated-test-sources</id>
                        <goals>
                            <goal>add-test-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/generated-test-sources/camel-component</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.camel</groupId>
                    <artifactId>camel-api-component-maven-plugin</artifactId>
                    <version>${project.version}</version>
                    <configuration>
                        <scheme>${schemeName}</scheme>
                        <componentName>${componentName}</componentName>
                        <componentPackage>${componentPackage}</componentPackage>
                        <outPackage>${outPackage}</outPackage>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>

    </build>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-api-component-maven-plugin</artifactId>
                <version>${project.version}</version>
                <configuration>
                    <scheme>${schemeName}</scheme>
                    <componentName>${componentName}</componentName>
                    <componentPackage>${componentPackage}</componentPackage>
                    <outPackage>${outPackage}</outPackage>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <profiles>
        <profile>
            <id>integration</id>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <configuration>
                            <forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
                            <childDelegation>false</childDelegation>
                            <useFile>true</useFile>
                            <failIfNoTests>false</failIfNoTests>
                            <runOrder>alphabetical</runOrder>
                            <includes>
                                <include>**/*IntegrationTest.java</include>
                            </includes>
                            <excludes>
                                <exclude>**/*XXXTest.java</exclude>
                            </excludes>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
