<?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.0-RC3</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>
                                    </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>
