<?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-M4</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>
