<?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>2.23.0-SNAPSHOT</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>
    <camel.osgi.export.pkg>org.apache.camel.component.box</camel.osgi.export.pkg>
    <camel.osgi.export.service>org.apache.camel.spi.ComponentResolver;component=box</camel.osgi.export.service>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-core</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>net.sourceforge.htmlunit</groupId>
      <artifactId>htmlunit</artifactId>
      <version>${htmlunit-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>downloadPreviousFileVersions</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>
                  </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>
