<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.44.1</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>http://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>http://maven.research.rackspacecloud.com/content/repositories/releases</url>
        </repository>

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

    <properties>
        <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.22</wadl-tools.version>
        <api-checker.version>1.0.16</api-checker.version>
        <surefire-plugin.version>2.12.3</surefire-plugin.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>
        <dependency>
            <groupId>net.sf.saxon</groupId>
            <artifactId>saxon-ee</artifactId>
            <version>${saxon-ee.version}</version>
        </dependency>
        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xerces-xsd11</artifactId>
            <version>${xerces.version}</version>
        </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>
        </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>
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>.</directory>
                <excludes>
                    <exclude>target/**/*</exclude>
                    <exclude>src</exclude>
                    <exclude>docs</exclude>
                    <exclude>pom.xml</exclude>
                </excludes>
            </resource>
        </resources>
        <testSourceDirectory>src/test/scala</testSourceDirectory>
        <plugins>
	  <plugin>
            <groupId>com.rackspace.cloud.api</groupId>
            <artifactId>olink-maven-plugin</artifactId>
            <version>1.1.0</version>
            <executions>
              <execution>
		<id>generate-product-wadl</id>
		<phase>initialize</phase>
		<goals>
		  <goal>olink</goal>
		</goals>
		<configuration>
		  <pipeline>generateWADL.xpl</pipeline>
		</configuration>
              </execution>
              <execution>
		<id>generate-filter-private-attrs</id>
		<phase>initialize</phase>
		<goals>
		  <goal>olink</goal>
		</goals>
		<configuration>
		  <pipeline>generateFilterPrivateAttrs.xpl</pipeline>
		</configuration>
              </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>
        </plugins>
    </build>
    <profiles>
        <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>http://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>http://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>com.github.danielflower.mavenplugins</groupId>
                        <artifactId>maven-gitlog-plugin</artifactId>
                        <version>1.5.0</version>
                        <configuration>
                            <reportTitle>Changelog for ${project.name} version ${project.version}</reportTitle>
                            <outputDirectory>target/releasenotes</outputDirectory>
                            <generatePlainTextChangeLog>true</generatePlainTextChangeLog>
                            <generateMarkdownChangeLog>true</generateMarkdownChangeLog>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-release-notes</id>
                                <phase>generate-resources</phase>
                                <goals>
                                    <goal>generate</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId> 
                        <artifactId>exec-maven-plugin</artifactId> 
                        <version>1.1.1</version> 
                        <executions>
                            <execution>
                                <id>format-release-notes</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>exec</goal> 
                                </goals>
                                <configuration>
                                    <executable>${basedir}/src/main/scripts/formatReleaseNotes.sh</executable> 
                                    <arguments>
                                        <argument>${project.build.directory}/releasenotes/changelog.md</argument>
                                        <argument>${basedir}/releases.md</argument>
                                    </arguments>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <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/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>atom_hopper.wadl</location>
				        </source>
				        <source>
				            <location>atom_hopper_identity_admin.wadl</location>
				        </source>
				        <source>
				            <location>atom_hopper_observer.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>
                            </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>checkin-release-notes</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId> 
                        <artifactId>maven-scm-plugin</artifactId> 
                        <version>1.8.1</version> 
                        <executions>
                            <execution>
                                <id>checkin-release-notes</id>
                                <phase>process-resources</phase>
                                <goals>
                                    <goal>checkin</goal> 
                                </goals>
                                <configuration>
                                    <connectionType>connection</connectionType>
                                    <message>update release notes</message> 
                                    <includes>${basedir}/releases.md</includes>
                                    <pushChanges>true</pushChanges>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>transform-xsd</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>xml-maven-plugin</artifactId>
                        <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>
                                    <stylesheet>${basedir}/src/main/config/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>com.rackspace.cloud.api</groupId>
		<artifactId>olink-maven-plugin</artifactId>
		<version>1.1.0</version>
		<executions>
		  <execution>
		    <id>generate-olink-db</id>
		    <phase>initialize</phase>
		    <goals>
		      <goal>olink</goal>
		    </goals>
		  </execution>
		</executions>
	      </plugin>
	      <plugin>
                <groupId>com.rackspace.cloud.api</groupId>
                <artifactId>clouddocs-maven-plugin</artifactId>
                <version>1.14.1</version>
                <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>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>
		      <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>includewars.xml</descriptor>
	                </descriptors>
	            </configuration>
	            <executions>
	                <execution>
	                    <id>assembly</id>
	                    <goals>
	                        <goal>single</goal>
	                    </goals>
	                    <phase>package</phase>
	                </execution>
	            </executions>
	        </plugin>
	    </plugins>
	  </build>
	</profile>
    </profiles>
</project>
