<?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>components</artifactId>
    <version>3.0.0-M1</version>
  </parent>

  <artifactId>camel-twilio</artifactId>
  <packaging>jar</packaging>
  <name>Camel :: Twilio</name>
  <description>Camel Component for Twilio</description>

  <properties>
    <schemeName>twilio</schemeName>
    <componentName>Twilio</componentName>
    <componentPackage>org.apache.camel.component.twilio</componentPackage>
    <outPackage>org.apache.camel.component.twilio.internal</outPackage>

    <camel.osgi.private.pkg>${outPackage}</camel.osgi.private.pkg>
  </properties>

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

    <!-- Twilio Java SDK -->
    <dependency>
      <groupId>com.twilio.sdk</groupId>
      <artifactId>twilio</artifactId>
      <version>${twilio-version}</version>
    </dependency>

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

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

    <!-- logging -->
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <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>

      <!-- generate Component source and test source -->
      <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>account</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.Account</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account -->
                <api>
                  <apiName>address</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Address</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>application</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Application</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>available-phone-number-country</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.AvailablePhoneNumberCountry</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>call</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Call</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>conference</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Conference</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>connect-app</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.ConnectApp</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>incoming-phone-number</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.IncomingPhoneNumber</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>key</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Key</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>message</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Message</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>new-key</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.NewKey</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>new-signing-key</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.NewSigningKey</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>notification</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Notification</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>outgoing-caller-id</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.OutgoingCallerId</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>queue</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Queue</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>recording</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Recording</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>short-code</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.ShortCode</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>signing-key</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.SigningKey</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>token</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Token</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>transcription</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.Transcription</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>validation-request</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.ValidationRequest</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.address -->
                <api>
                  <apiName>address-dependent-phone-number</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.address.DependentPhoneNumber</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.availablephonenumbercountry -->
                <api>
                  <apiName>available-phone-number-country-local</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.Local</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>available-phone-number-country-mobile</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.Mobile</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>available-phone-number-country-toll-free</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.availablephonenumbercountry.TollFree</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.call -->
                <api>
                  <apiName>call-feedback</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.call.Feedback</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>call-feedback-summary</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.call.FeedbackSummary</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>call-notification</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.call.Notification</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>call-recording</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.call.Recording</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.conference -->
                <api>
                  <apiName>conference-participant</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.conference.Participant</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.incomingphonenumber -->
                <api>
                  <apiName>incoming-phone-number-local</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.Local</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>incoming-phone-number-mobile</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.Mobile</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>incoming-phone-number-toll-free</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.incomingphonenumber.TollFree</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.message -->
                <api>
                  <apiName>message-feedback</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.message.Feedback</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>message-media</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.message.Media</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.queue -->
                <api>
                  <apiName>queue-member</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.queue.Member</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.recording -->
                <api>
                  <apiName>recording-add-on-result</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.recording.AddOnResult</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>recording-transcription</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.recording.Transcription</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.recording.addonresult -->
                <api>
                  <apiName>recording-add-on-result-payload</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.recording.addonresult.Payload</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.sip -->
                <api>
                  <apiName>sip-credential-list</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.CredentialList</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>sip-domain</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.Domain</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>sip-ip-access-control-list</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.IpAccessControlList</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.sip.credentiallist -->
                <api>
                  <apiName>sip-credential-list-credential</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.credentiallist.Credential</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.sip.domain -->
                <api>
                  <apiName>sip-domain-credential-list-mapping</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.domain.CredentialListMapping</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>sip-domain-ip-access-control-list-mapping</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.domain.IpAccessControlListMapping</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist -->
                <api>
                  <apiName>sip-ip-access-control-list-ip-address</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.sip.ipaccesscontrollist.IpAddress</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.usage -->
                <api>
                  <apiName>usage-record</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.Record</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-trigger</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.Trigger</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <!-- Package: com.twilio.rest.api.v2010.account.usage.record -->
                <api>
                  <apiName>usage-record-all-time</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.AllTime</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-daily</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Daily</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-last-month</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.LastMonth</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-monthly</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Monthly</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-this-month</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.ThisMonth</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-today</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Today</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-yearly</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Yearly</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
                <api>
                  <apiName>usage-record-yesterday</apiName>
                  <proxyClass>com.twilio.rest.api.v2010.account.usage.record.Yesterday</proxyClass>
                  <fromJavadoc>
                    <includeMethods>creator|deleter|fetcher|reader|updater</includeMethods>
                    <includeStaticMethods>true</includeStaticMethods>
                  </fromJavadoc>
                </api>
              </apis>
              <aliases>
                <alias>
                  <methodPattern>^creator$</methodPattern>
                  <methodAlias>create</methodAlias>
                </alias>
                <alias>
                  <methodPattern>^deleter$</methodPattern>
                  <methodAlias>delete</methodAlias>
                </alias>
                <alias>
                  <methodPattern>^fetcher$</methodPattern>
                  <methodAlias>fetch</methodAlias>
                </alias>
                <alias>
                  <methodPattern>^reader$</methodPattern>
                  <methodAlias>read</methodAlias>
                </alias>
                <alias>
                  <methodPattern>^updater$</methodPattern>
                  <methodAlias>update</methodAlias>
                </alias>
              </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>twilio-test</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven-surefire-plugin-version}</version>
            <configuration>
              <childDelegation>false</childDelegation>
              <useFile>true</useFile>
              <forkCount>1</forkCount>
              <reuseForks>true</reuseForks>
              <forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
              <excludes>
                <exclude>**/*XXXTest.java</exclude>
              </excludes>
              <includes>
                <include>**/*Test.java</include>
              </includes>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
