<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>
    <groupId>com.rackspace.usage</groupId>
    <artifactId>usage-schema</artifactId>
    <version>1.133.0</version>
    <packaging>jar</packaging>

    <name>Usage Schema</name>
    <description>
        Current Usage Schema
    </description>

    <scm>
        <connection>scm:git:ssh://git@github.com/rackerlabs/standard-usage-schemas.git</connection>
    </scm>

    <repositories>
        <repository>
            <id>public.maven.research.rackspace.com</id>
            <name>Rackspace Research</name>
            <url>https://maven.research.rackspacecloud.com/content/groups/aggregate/</url>
        </repository>
    </repositories>

    <distributionManagement>
        <repository>
            <id>releases.maven.research.rackspace.com</id>
            <name>Rackspace Research Releases</name>
            <url>https://maven.research.rackspacecloud.com/content/repositories/releases/</url>
        </repository>

        <snapshotRepository>
            <id>snapshots.maven.research.rackspace.com</id>
            <name>Rackspace Research Snapshots</name>
            <url>https://maven.research.rackspacecloud.com/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <properties>
        <gmaven.version>1.5</gmaven.version>
        <scala.version>2.10.3</scala.version>
        <scala.test.version>2.0</scala.test.version>
        <junit.version>4.10</junit.version>
        <saxon-ee.version>9.4.0.6</saxon-ee.version>
        <xerces.version>2.12.1-rax</xerces.version>
        <mockito.version>1.9.0</mockito.version>
        <xmlsec.version>1.4.6</xmlsec.version>
        <wadl-tools.version>1.0.29</wadl-tools.version>
        <api-checker.version>1.0.22</api-checker.version>
        <surefire-plugin.version>2.12.3</surefire-plugin.version>
        <olink-maven-plugin.version>1.2.4</olink-maven-plugin.version>
        <slf4j.log4j.version>1.7.7</slf4j.log4j.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>gmaven-plugin</artifactId>
            <version>${gmaven.version}</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>saxon-ee</artifactId>
            <version>${saxon-ee.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xerces-xsd11</artifactId>
            <version>${xerces.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.scalatest</groupId>
            <artifactId>scalatest_2.10</artifactId>
            <version>${scala.test.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.santuario</groupId>
            <artifactId>xmlsec</artifactId>
            <version>${xmlsec.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.rackspace.papi.components.api-checker</groupId>
            <artifactId>checker-core</artifactId>
            <version>${api-checker.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.rackspace.papi.components.api-checker</groupId>
            <artifactId>checker-core</artifactId>
            <version>${api-checker.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.rackspace.cloud.api</groupId>
            <artifactId>wadl-tools</artifactId>
            <version>${wadl-tools.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${slf4j.log4j.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.json4s</groupId>
            <artifactId>json4s-native_2.10</artifactId>
            <version>3.2.10</version>
        </dependency>
        <dependency>
            <groupId>org.json4s</groupId>
            <artifactId>json4s-jackson_2.10</artifactId>
            <version>3.2.10</version>
        </dependency>
        <dependency>
            <groupId>io.fastjson</groupId>
            <artifactId>boon</artifactId>
            <version>0.29</version>
        </dependency>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>com.rackspace.cloud.api</groupId>
                <artifactId>olink-maven-plugin</artifactId>
                <version>${olink-maven-plugin.version}</version>
                <executions>
                    <!--
                       Execute sample generation for widget as a unit test for
                       sample generation
                    -->
                    <execution>
                        <id>generate-samples-test-1</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateSamples.xpl</pipeline>
                            <inputs>
                                <source>sample_product_schemas/widget.xml</source>
                            </inputs>
                            <parameters>
                                <parameters>
                                    base_feed_name=widgettest
                                    input_path=sample_product_schemas/widget.xml
                                </parameters>
                            </parameters>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-samples-test-2</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateSamples.xpl</pipeline>
                            <inputs>
                                <source>sample_product_schemas/widget-with-explicit-aggreation-period.xml</source>
                            </inputs>
                            <parameters>
                                <parameters>
                                    base_feed_name=widgettest
                                    input_path=sample_product_schemas/widget-with-explicit-aggreation-period.xml
                                </parameters>
                            </parameters>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-samples-test-3</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateSamples.xpl</pipeline>
                            <inputs>
                                <source>sample_product_schemas/widget-with-mulitple-aggregation-periods.xml</source>
                            </inputs>
                            <parameters>
                                <parameters>
                                    base_feed_name=widgettest
                                    input_path=sample_product_schemas/widget-with-mulitple-aggregation-periods.xml
                                </parameters>
                            </parameters>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-product-xsd</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateXSDs.xpl</pipeline>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-filter-private-attrs</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateFilterPrivateAttrs.xpl</pipeline>
                        </configuration>
                    </execution>
                    <execution>
                        <id>generate-product-wadl</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>olink</goal>
                        </goals>
                        <configuration>
                            <pipeline>src/xpl/generateWADL.xpl</pipeline>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
                <executions>
                    <execution>
                        <id>copy-xml2json-xslt</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/xslt-artifacts</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/xsl</directory>
                                    <includes>
                                        <include>xml2json-feeds.xsl</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <id>generate-usage-xsd</id>
                        <phase>initialize</phase>
                        <goals>
                            <goal>transform</goal>
                        </goals>
                        <configuration>
                            <transformationSets>
                                <transformationSet>
                                    <dir>${basedir}</dir>
                                    <!-- Note that we're not actually transforming this file,
                                         This is only to fool this plugin which requires input
                                         file. This particular XSLT reads all xml file in the
                                         directory specified as input_dir parameter
                                    -->
                                    <includes>
                                        <include>pom.xml</include>
                                    </includes>
                                    <outputDir>${basedir}/core_xsd</outputDir>
                                    <stylesheet>${basedir}/src/main/xsl/generate-usagexsd.xsl</stylesheet>
                                    <parameters>
                                        <parameter>
                                            <name>input_dir</name>
                                            <value>${project.baseUri}/sample_product_schemas</value>
                                        </parameter>
                                    </parameters>
                                    <fileMappers>
                                        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                            <pattern>pom.xml</pattern>
                                            <replacement>usage.xsd</replacement>
                                        </fileMapper>
                                    </fileMappers>
                                </transformationSet>
                                <transformationSet>
                                    <dir>${basedir}</dir>
                                    <!-- Note that we're not actually transforming this file,
                                         This is only to fool this plugin which requires input
                                         file. This particular XSLT reads all xml file in the
                                         directory specified as input_dir parameter
                                    -->
                                    <includes>
                                        <include>pom.xml</include>
                                    </includes>
                                    <outputDir>${basedir}/target/xslt-artifacts</outputDir>
                                    <stylesheet>${basedir}/src/main/xsl/productSchema-generate-nonStringAttrs.xsl
                                    </stylesheet>
                                    <parameters>
                                        <parameter>
                                            <name>schemaDirectory</name>
                                            <value>${project.baseUri}/sample_product_schemas</value>
                                        </parameter>
                                    </parameters>
                                    <fileMappers>
                                        <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                            <pattern>pom.xml</pattern>
                                            <replacement>nonStringAttrs.xsl</replacement>
                                        </fileMapper>
                                    </fileMappers>
                                </transformationSet>
                            </transformationSets>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>net.sf.saxon</groupId>
                        <artifactId>Saxon-HE</artifactId>
                        <version>9.4.0.6</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>clean-samples-for-docs</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <tasks>
                                <exec executable="src/main/scripts/cleanSamplesForDocs.sh">
                                    <arg value="${basedir}/message_samples" />
                                </exec>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <descriptors>
                        <descriptor>src/assembly/schema.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>assembly</id>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <configuration>
                    <args>
                        <arg>-unchecked</arg>
                        <arg>-deprecation</arg>
                        <arg>-explaintypes</arg>
                    </args>
                    <recompileMode>modified-only</recompileMode>
                    <jvmArgs>
                        <jvmArg>-Xms64m</jvmArg>
                        <jvmArg>-Xmx1024m</jvmArg>
                    </jvmArgs>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${surefire-plugin.version}</version>
                <configuration>
                    <includes>
                        <include>**/*.class</include>
                    </includes>
                    <enableAssertions>false</enableAssertions>
                    <argLine>-Dfile.encoding=UTF-8</argLine>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.5</version>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${basedir}/generated_product_xsds</directory>
                            <includes>
                                <include>**/*.xsd</include>
                            </includes>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                        <fileset>
                            <directory>${basedir}/core_xsd</directory>
                            <includes>
                                <include>usage.xsd</include>
                            </includes>
                            <followSymlinks>false</followSymlinks>
                        </fileset>
                        <fileset>
                            <directory>${basedir}/wadl</directory>
                            <includes>
                                <include>rm_private_attrs_for_obs.xsl</include>
                                <include>product.wadl</include>
                            </includes>
                        </fileset>
                        <fileset>
                            <directory>${basedir}/normalized</directory>
                            <includes>
                                <include>allfeeds.wadl</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>tiamat-check</id>
            <properties>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.gmaven</groupId>
                        <artifactId>gmaven-plugin</artifactId>
                        <version>${gmaven.version}</version>
                        <executions>
                            <execution>
                                <phase>compile</phase>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <configuration>
                                    <providerSelection>1.8</providerSelection>
                                    <source>

                                        // verify xslt are the same:
                                        def files = [ 'nonStringAttrs.xsl', 'rm_private_attrs_for_obs.xsl', 'xml2json-feeds.xsl']

                                        files.each { file -&gt;

                                            def tiamat = new File( "cloudfeeds-nabu/tiamat/src/main/resources/${file}" ).text
                                            def sus = new File( "target/xslt-artifacts/${file}").text

                                            if (tiamat != sus)
                                                fail( "The 'target/xslt-artifacts/${file}' has been updated in standard-usage-schemas and needs to be released for groupId: 'com.rackspace.feeds.nabu' artifactId: 'cloudfeeds-nabu' in 'https://github.com/rackerlabs/cloudfeeds-nabu'" )
                                        }
                                    </source>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>xerces-build</id>
            <properties>
                <usage.tests.xsd.impl>Xerces</usage.tests.xsd.impl>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-surefire-plugin</artifactId>
                        <version>${surefire-plugin.version}</version>
                        <configuration>
                            <includes>
                                <include>**/*.class</include>
                            </includes>
                            <enableAssertions>false</enableAssertions>
                            <argLine>-Dfile.encoding=UTF-8</argLine>
                            <systemPropertyVariables>
                                <usage.tests.xsd.impl>Xerces</usage.tests.xsd.impl>
                            </systemPropertyVariables>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>Rackspace Research Repositories</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>generate.docs</name>
                </property>
            </activation>
            <repositories>
                <repository>
                    <id>rackspace-research</id>
                    <name>Rackspace Research Repository</name>
                    <url>https://maven.research.rackspacecloud.com/content/groups/public/</url>
                </repository>
                <repository>
                    <id>scala-tools.org</id>
                    <name>Scala-tools Maven2 Repository</name>
                    <url>http://scala-tools.org/repo-releases</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>rackspace-research</id>
                    <name>Rackspace Research Repository</name>
                    <url>https://maven.research.rackspacecloud.com/content/groups/public/</url>
                </pluginRepository>
                <pluginRepository>
                    <id>scala-tools.org</id>
                    <name>Scala-tools Maven2 Repository</name>
                    <url>http://scala-tools.org/repo-releases</url>
                </pluginRepository>
                <pluginRepository>
                    <id>onejar-maven-plugin.googlecode.com</id>
                    <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
        <profile>
            <id>build-rpm</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>rpm-maven-plugin</artifactId>
                        <version>2.1-alpha-1</version>
                        <executions>
                            <execution>
                                <id>Build RPM</id>
                                <goals>
                                    <goal>attached-rpm</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <copyright>Apache License, Version 2.0</copyright>
                            <group>Applications/Communications</group>
                            <packager>Rackspace - Cloud Integration Team</packager>
                            <description>Standard Usage Schema</description>
                            <prefix>/etc/repose</prefix>
                            <release>1</release>
                            <mappings>
                                <mapping>
                                    <directory>/etc/repose/usage-schema</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema/wadl</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                    <sources>
                                        <source>
                                            <location>wadl</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <mapping>
                                    <directory>/etc/cloudfeeds/translation</directory>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                </mapping>
                                <mapping>
                                    <directory>/etc/cloudfeeds/translation</directory>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                    <sources>
                                        <source>
                                            <location>target/xslt-artifacts/rm_private_attrs_for_obs.xsl</location>
                                        </source>
                                        <source>
                                            <location>target/xslt-artifacts/nonStringAttrs.xsl</location>
                                        </source>
                                        <source>
                                            <location>target/xslt-artifacts/xml2json-feeds.xsl</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema/core_xsd</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                    <sources>
                                        <source>
                                            <location>core_xsd</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>444</filemode>
                                    <configuration>true</configuration>
                                    <sources>
                                        <source>
                                            <location>allfeeds.wadl</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>444</filemode>
                                    <configuration>true</configuration>
                                    <sources>
                                        <source>
                                            <location>archive.wadl</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema/generated_product_xsds</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <!-- Modify file permissions as needed -->
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                    <sources>
                                        <source>
                                            <location>generated_product_xsds</location>
                                        </source>
                                    </sources>
                                </mapping>
                                <!-- This is a workaround to the recent Documentation related edits 
                                     to enable WADL to RST generation
                                -->
                                <mapping>
                                    <directory>/etc/repose/usage-schema/src/docbkx/common</directory>
                                    <filemode>755</filemode>
                                    <configuration>false</configuration>
                                    <directoryIncluded>true</directoryIncluded>
                                </mapping>
                                <mapping>
                                    <directory>/etc/repose/usage-schema/src/docbkx/common</directory>
                                    <username>repose</username>
                                    <groupname>repose</groupname>
                                    <filemode>755</filemode>
                                    <configuration>true</configuration>
                                    <sources>
                                        <source>
                                            <location>src/docbkx/common/common.ent</location>
                                        </source>
                                    </sources>
                                </mapping>
                            </mappings>
                            <!-- Not sure we want to blow away this dir everytime
                            <postremoveScriptlet>
                                <script>rm -rf "/etc/repose/usage-schema"</script>
                            </postremoveScriptlet>
                            -->
                            <requires>
                                <require>repose</require>
                            </requires>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>transform-xsd</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <version>1.0</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <transformationSets>
                                <transformationSet>
                                    <dir>core_xsd</dir>
                                    <includes>
                                        <include>core.xsd</include>
                                        <include>entry.xsd</include>
                                    </includes>
                                    <outputDir>${project.build.directory}/generated-resources/core_xsd/xsd10</outputDir>
                                    <stylesheet>${basedir}/src/main/xsl/xsd.vc.xsl</stylesheet>
                                    <parameters>
                                        <parameter>
                                            <name>vc.Version</name>
                                            <value>1.0</value>
                                        </parameter>
                                    </parameters>
                                </transformationSet>
                            </transformationSets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-docs</id>
            <activation>
                <property>
                    <name>generate.docs</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <version>1.0</version>
                        <executions>
                            <execution>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                                <configuration>
                                    <transformationSets>
                                        <transformationSet>
                                            <dir>${basedir}/src/docbkx</dir>
                                            <includes>
                                                <include>api-operations-internal.xml</include>
                                                <include>api-operations-external.xml</include>
                                            </includes>
                                            <outputDir>${project.build.directory}/generated-resources/feed-table
                                            </outputDir>
                                            <stylesheet>${basedir}/src/main/xsl/generate-feed-table.xsl</stylesheet>
                                            <fileMappers>
                                                <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                                                    <pattern>api-operations-(.+).xml</pattern>
                                                    <replacement>feed-table-$1.xml</replacement>
                                                </fileMapper>
                                            </fileMappers>
                                        </transformationSet>
                                    </transformationSets>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>net.sf.saxon</groupId>
                                <artifactId>Saxon-HE</artifactId>
                                <version>9.4.0.6</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <groupId>com.rackspace.cloud.api</groupId>
                        <artifactId>rackspace-docs-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>devguide-external</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <includes>feeds-devguide.xml</includes>
                                    <security>external</security>
                                    <enableDisqus>internet</enableDisqus>
                                    <enableGoogleAnalytics>1</enableGoogleAnalytics>
                                    <canonicalUrlBase>http://docs.rackspace.com/feeds/api/v1.0/feeds-devguide/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                            <execution>
                                <id>devguide-internal</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <includes>feeds-devguide.xml</includes>
                                    <security>internal</security>
                                    <enableDisqus>intranet</enableDisqus>
                                    <enableGoogleAnalytics>0</enableGoogleAnalytics>
                                    <canonicalUrlBase>
                                        http://docs-internal.rackspace.com/feeds/api/v1.0/feeds-devguide/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                            <execution>
                                <id>publishers-guide-internal</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <includes>feeds-publishers-guide.xml</includes>
                                    <security>internal</security>
                                    <enableDisqus>intranet</enableDisqus>
                                    <enableGoogleAnalytics>0</enableGoogleAnalytics>
                                    <canonicalUrlBase>
                                        http://docs-internal.rackspace.com/feeds/api/v1.0/feeds-publishers-guide/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                            <execution>
                                <id>releasenotes</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <!--        <phase>generate-sources</phase>-->
                                <configuration>
                                    <includes>feeds-releasenotes.xml</includes>
                                    <canonicalUrlBase>
                                        http://docs-internal.rackspace.com/feeds/api/v1.0/feeds-releasenotes/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                            <execution>
                                <id>gettingstarted-external</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <includes>feeds-getting-started.xml</includes>
                                    <security>external</security>
                                    <enableDisqus>internet</enableDisqus>
                                    <enableGoogleAnalytics>1</enableGoogleAnalytics>
                                    <canonicalUrlBase>
                                        http://docs.rackspace.com/feeds/api/v1.0/feeds-getting-started/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                            <execution>
                                <id>gettingstarted-internal</id>
                                <goals>
                                    <goal>generate-webhelp</goal>
                                </goals>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <includes>feeds-getting-started.xml</includes>
                                    <security>internal</security>
                                    <enableDisqus>intranet</enableDisqus>
                                    <enableGoogleAnalytics>0</enableGoogleAnalytics>
                                    <canonicalUrlBase>
                                        http://docs-internal.rackspace.com/feeds/api/v1.0/feeds-getting-started/content
                                    </canonicalUrlBase>
                                </configuration>
                            </execution>
                        </executions>
                        <configuration>
                            <branding>rackspace</branding>
                            <feedbackEmail>constanze.kratel@rackspace.com</feedbackEmail>
                            <showXslMessages>true</showXslMessages>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <version>2.3</version>
                        <configuration>
                            <descriptors>
                                <descriptor>src/assembly/includewars.xml</descriptor>
                            </descriptors>
                        </configuration>
                        <executions>
                            <execution>
                                <id>assembly</id>
                                <goals>
                                    <goal>single</goal>
                                </goals>
                                <phase>process-sources</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-rst</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>generate-normalized-wadl</id>
                                <phase>generate-sources</phase>
                                <configuration>
                                    <tasks>
                                        <!-- rename the productDoc.wadl to product.wadl,
                                             normalize it, then rename the original back.
                                             The reason we do this, allfeeds.wadl has
                                             references everywhere to product.wadl#resource
                                        -->
                                        <copy tofile="${basedir}/target/product.wadl.sv">
                                            <fileset dir="${basedir}/wadl/">
                                                <include name="product.wadl" />
                                            </fileset>
                                        </copy>
                                        <copy tofile="${basedir}/wadl/product.wadl">
                                            <fileset dir="${basedir}/wadl/">
                                                <include name="productDoc.wadl" />
                                            </fileset>
                                        </copy>
                                        <exec executable="wadl-tools/bin/normalizeWadl.sh">
                                            <arg value="-f" />
                                            <arg value="tree" />
                                            <arg value="-w" />
                                            <arg value="allfeeds.wadl" />
                                        </exec>
                                        <copy tofile="${basedir}/wadl/product.wadl">
                                            <fileset dir="${basedir}/target/">
                                                <include name="product.wadl.sv" />
                                            </fileset>
                                        </copy>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>rst-install-generate</id>
                                <phase>process-resources</phase>
                                <configuration>
                                    <tasks>
                                        <property environment="env" />

                                        <!-- delete the old virtualenv -->
                                        <exec executable="rm" failonerror="false">
                                            <env key="PATH" path="${env.PATH}" />
                                            <arg value="-r" />
                                            <arg value="${project.basedir}/env" />
                                        </exec>

                                        <!-- create the new mkvirtualenv -->
                                        <exec executable="virtualenv">
                                            <env key="PATH" path="${env.PATH}" />
                                            <arg value="${project.basedir}/env" />
                                        </exec>

                                        <!-- install wadl2rst into the virtualenv -->
                                        <exec executable="${project.basedir}/env/bin/pip">
                                            <arg value="install" />
                                            <arg value="-e" />
                                            <arg value="git+git@github.rackspace.com:Product-DevOps/wadl2rst.git@master#egg=wadl2rst" />
                                            <arg value="-I" />
                                        </exec>

                                        <exec executable="${project.basedir}/env/bin/wadl2rst" />
                                        <copy todir="${basedir}/api-docs/api-operations/methods/">
                                            <fileset dir="${basedir}/target/rst/dev-guide/api-operations/">
                                                <include name="get-*tid*.rst" />
                                            </fileset>
                                        </copy>
                                    </tasks>
                                </configuration>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <version>1.0</version>
                        <executions>
                            <execution>
                                <id>strip-test-feeds</id>
                                <phase>process-sources</phase>
                                <goals>
                                    <goal>transform</goal>
                                </goals>
                                <configuration>
                                    <transformationSets>
                                        <transformationSet>
                                            <dir>${basedir}/normalized</dir>
                                            <includes>
                                                <include>allfeeds.wadl</include>
                                            </includes>
                                            <outputDir>${project.build.directory}/rst</outputDir>
                                            <stylesheet>${basedir}/src/main/xsl/striptestfeeds.xsl</stylesheet>
                                        </transformationSet>
                                    </transformationSets>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>net.sf.saxon</groupId>
                                <artifactId>Saxon-HE</artifactId>
                                <version>9.4.0.6</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-samples</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.rackspace.cloud.api</groupId>
                        <artifactId>olink-maven-plugin</artifactId>
                        <version>${olink-maven-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>generate-samples</id>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>olink</goal>
                                </goals>
                                <configuration>
                                    <pipeline>src/xpl/generateSamples.xpl</pipeline>
                                    <inputs>
                                        <source>${productSchema}</source>
                                    </inputs>
                                    <parameters>
                                        <parameters>
                                            base_feed_name=${feedName}
                                            input_path=${productSchema}
                                        </parameters>
                                    </parameters>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.gmaven</groupId>
                        <artifactId>gmaven-plugin</artifactId>
                        <version>${gmaven.version}</version>
                        <executions>
                            <execution>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>execute</goal>
                                </goals>
                                <configuration>
                                    <providerSelection>1.8</providerSelection>
                                    <source>
                                        import groovy.json.JsonOutput

                                        println "gmaven:  prettifying json samples in ${basedir}/message_samples/${feedName}/json/"
                                        new File("${basedir}/message_samples/${feedName}/json").eachFile() {
                                            file -&gt;
                                                file.text = JsonOutput.prettyPrint(file.text)
                                        }
                                    </source>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
