<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2014-2015 Groupon, Inc
  ~ Copyright 2014-2015 The Billing Project, LLC
  ~
  ~ The Billing Project 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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>killbill-profiles</artifactId>
        <groupId>org.kill-bill.billing</groupId>
        <version>0.19.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>
    <artifactId>killbill-profiles-killpay</artifactId>
    <packaging>war</packaging>
    <name>killbill-profiles-killpay</name>
    <dependencies>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <!--Needed by jmxutils-->
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-multibindings</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.google.inject.extensions</groupId>
            <artifactId>guice-servlet</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.palominolabs.metrics</groupId>
            <artifactId>metrics-guice</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- Will be required when we upgrade metrics-guice to 3.1.3 -->
        <!--<dependency>-->
        <!--<groupId>com.palominolabs.metrics</groupId>-->
        <!--<artifactId>metrics-guice-servlet</artifactId>-->
        <!--<scope>runtime</scope>-->
        <!--</dependency>-->
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-servlet</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- Make sure to only include this in tests (it contains mysqld for all platforms and is around 134M) -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-mxj-db-files</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-account</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-beatrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-catalog</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-currency</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-entitlement</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-invoice</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-jaxrs</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-junction</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-overdue</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-payment</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-platform-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-platform-base</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-platform-server</artifactId>
            <classifier>classes</classifier>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-profiles-killbill</artifactId>
            <classifier>classes</classifier>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-subscription</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-tenant</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-usage</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.billing</groupId>
            <artifactId>killbill-util</artifactId>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-common</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-mysql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-mysql</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.kill-bill.commons</groupId>
            <artifactId>killbill-embeddeddb-postgresql</artifactId>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <!-- We would like to be able to run the war, jar and jettyconsole plugins at the same time;
                        and we could, except they rely on a strict ordering (jettyconsole has to run after the war and
                        before the jar, or jettyconsole won't find the war artifact). This could be done by relying
                        on the declaration ordering of the various plugins (all have to be bound to the package phase),
                        but that's fragile. Instead, ignore altogether the jar for now, until maven is smarter. -->
                        <phase>pierre-s-hack-for-maven</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <id>assemble-killpay</id>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <createSourcesJar>true</createSourcesJar>
                            <shadedArtifactAttached>true</shadedArtifactAttached>
                            <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
                            <filters>
                                <filter>
                                    <artifact>*</artifact>
                                    <excludes>
                                        <exclude>META-INF/LICENSE</exclude>
                                        <!-- conflicts on OS X with license/ -->
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <configuration>
                    <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
                    <systemProperties>
                        <systemProperty>
                            <name>logback.configurationFile</name>
                            <!-- Use the killbill one on the classpth -->
                            <value>logback.xml</value>
                        </systemProperty>
                    </systemProperties>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.simplericity.jettyconsole</groupId>
                <artifactId>jetty-console-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>createconsole</goal>
                        </goals>
                        <configuration>
                            <backgroundImage>${basedir}/src/main/jettyconsole/killbill.png</backgroundImage>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
