<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>
    <groupId>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>7</version>
  </parent>

  <groupId>net.stepniak.api</groupId>
  <artifactId>parent</artifactId>
  <version>1.0.11</version>
  <packaging>pom</packaging>
  <name>Parent api pom</name>

  <url>https://bitbucket.org/zenedith</url>
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <scm>
    <connection>scm:git:git@bitbucket.org:zenedith/api-parent.git</connection>
    <url>scm:git:git@bitbucket.org:zenedith/api-parent.git</url>
    <developerConnection>scm:git:git@bitbucket.org:zenedith/api-parent.git</developerConnection>
  </scm>
  <developers>
    <developer>
      <id>zenedith</id>
      <name>Mateusz Stepniak</name>
      <email>zenedith@wp.pl</email>
    </developer>
  </developers>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <lib.picheese.version>0.9.14</lib.picheese.version>
    <api.version>0.8.8</api.version>
    <api.push.version>0.1.3</api.push.version>
    <api.picheese.version>0.5.7</api.picheese.version>
    <api.func.version>0.2.3</api.func.version>

    <jersey.version>1.17</jersey.version>

    <spring.core.version>3.2.1.RELEASE</spring.core.version>
    <spring.data.jpa.version>1.3.0.RELEASE</spring.data.jpa.version>
    <aspectj.version>1.7.1</aspectj.version>
    <!--<spring.security.version>3.1.3.RELEASE</spring.security.version>-->
    <spring.security.version>3.2.0.M1</spring.security.version>

    <!-- Spring Social -->
    <!--<spring.social.version>1.0.2.RELEASE</spring.social.version>-->
    <spring.social.version>1.1.0.M1</spring.social.version>
    <spring.social.facebook.version>1.1.0.M1</spring.social.facebook.version>

    <cglib.version>2.2.2</cglib.version>

    <!--database-->
    <mysql.connector.version>5.1.23</mysql.connector.version>
    <postgresql.connector.version>9.1-901-1.jdbc4</postgresql.connector.version>

    <!--hibernate-->
    <hibernate.entitymanager.version>4.1.11.Final</hibernate.entitymanager.version>
    <hibernate.jpa-api.version>2.0-cr-1</hibernate.jpa-api.version>
    <hibernate.validator.version>5.0.0.Final</hibernate.validator.version>
    <c3p0.version>0.9.1.2</c3p0.version>

    <!--<slf4j.version>1.6.1</slf4j.version>-->
    <slf4j.version>1.7.5</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <!--<log4j.version>1.2.14</log4j.version>-->

    <javax.servlet-api.version>3.0.1</javax.servlet-api.version>
    <jackson.version>2.1.4</jackson.version>
    <httpclient.version>4.2.3</httpclient.version>

    <awsjavasdk.version>1.3.30</awsjavasdk.version>

    <!-- Testing -->
    <mockito.version>1.9.5</mockito.version>
    <junit.version>4.11</junit.version>

    <!-- Plugins -->
    <jetty.runner.version>8.1.5.v20120716</jetty.runner.version>
    <tomcat7.maven.plugin.version>2.0</tomcat7.maven.plugin.version>
    <tomcat.runner.version>7.0.34.1</tomcat.runner.version>

    <!--compiler-->
    <maven.compiler.plugin.version>2.3.2</maven.compiler.plugin.version>
    <maven.compiler.source>1.6</maven.compiler.source>
    <maven.compiler.target>1.6</maven.compiler.target>

    <jetty.skip>${skipTests}</jetty.skip>
    <webXmlPath>${project.basedir}/src/main/resources/web-jetty.xml</webXmlPath>
    <testsrcdir>src/test/java</testsrcdir>
  </properties>
  <profiles>
    <profile>
      <id>dev</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <property>
          <name>env</name>
          <value>dev</value>
        </property>
      </activation>

      <dependencies>
        <!-- Testing dependencies -->
        <dependency>
          <groupId>com.sun.jersey</groupId>
          <artifactId>jersey-client</artifactId>
          <!--<version></version>-->
          <version>${jersey.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>com.sun.jersey.jersey-test-framework</groupId>
          <artifactId>jersey-test-framework-core</artifactId>
          <version>${jersey.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>com.sun.jersey.jersey-test-framework</groupId>
          <artifactId>jersey-test-framework-external</artifactId>
          <version>${jersey.version}</version>
          <scope>test</scope>
        </dependency>

        <dependency>
          <groupId>org.hamcrest</groupId>
          <artifactId>hamcrest-all</artifactId>
          <version>1.3</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>${junit.version}</version>
          <type>jar</type>
          <scope>test</scope>
          <exclusions>
            <exclusion>
              <groupId>org.hamcrest</groupId>
              <artifactId>hamcrest-core</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.mockito</groupId>
          <artifactId>mockito-all</artifactId>
          <version>${mockito.version}</version>
          <type>jar</type>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-test</artifactId>
          <version>${spring.core.version}</version>
          <type>jar</type>
          <scope>test</scope>
        </dependency>

      </dependencies>
    </profile>
    <profile>
      <id>heroku</id>
      <activation>
        <property>
          <name>skipTests</name>
          <value>true</value>
        </property>
      </activation>
      <properties>
        <testsrcdir>src/no-test</testsrcdir>
      </properties>
    </profile>

    <profile>
      <id>postgres</id>
      <activation>
        <property>
          <!--enabled on heroku-->
          <name>skipTests</name>
          <value>true</value>
        </property>
      </activation>
      <dependencies>

        <!-- postgresql -->
        <dependency>
          <groupId>postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <version>${postgresql.connector.version}</version>
        </dependency>

      </dependencies>
    </profile>

    <profile>
      <id>mysql</id>
      <activation>
        <property>
          <name>skipTests</name>
          <value>true</value>
        </property>
      </activation>
      <dependencies>

        <!--  MySQL Connector -->
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>${mysql.connector.version}</version>
        </dependency>

      </dependencies>
    </profile>
  </profiles>

  <repositories>
    <repository>
      <id>sonatype-oss-public</id>
      <url>https://oss.sonatype.org/content/groups/public/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>sonatype-oss-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>

  <!-- For developing against latest Spring milestones -->
    <!--
    <repository>
      <id>org.springframework.maven.milestone</id>
      <name>Spring Maven Milestone Repository</name>
      <url>http://maven.springframework.org/milestone</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
            -->
  </repositories>

  <dependencies>

    <dependency>
      <groupId>net.stepniak</groupId>
      <artifactId>common</artifactId>
      <version>${lib.picheese.version}</version>
      <type>jar</type>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
      <type>jar</type>
    </dependency>

    <!-- Spring Core -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.core.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.core.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-oxm</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <!--<dependency>-->
    <!--<groupId>org.springframework</groupId>-->
    <!--<artifactId>spring-aspects</artifactId>-->
    <!--<version>${spring.core.version}</version>-->
    <!--<type>jar</type>-->
    <!--<scope>compile</scope>-->
    <!--</dependency>-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring.core.version}</version>
      <type>jar</type>
    </dependency>

    <!--spring jersey-->
    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-spring</artifactId>
      <version>${jersey.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>spring-core</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-web</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-orm</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-jdbc</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-tx</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-webmvc</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-context</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-context-support</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-beans</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-oxm</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-aspects</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-aop</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
          <artifactId>spring-expression</artifactId>
          <groupId>org.springframework</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Spring Security -->
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>${spring.security.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>

    <!-- Cglib is a powerful, high performance and quality Code Generation Library,
It is used to extend JAVA classes and implements interfaces at runtime.  -->
    <dependency>
      <groupId>cglib</groupId>
      <artifactId>cglib</artifactId>
      <version>${cglib.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>${httpclient.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-codec</artifactId>
          <groupId>commons-codec</groupId>
        </exclusion>
      </exclusions>
    </dependency>


    <!-- Logger -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>


    <!-- The Simple Logging Facade for Java or (SLF4J) serves as a simple facade or abstraction
    for various logging frameworks, e.g. java.util.logging, log4j and logback, allowing the end
    user to plug in the desired logging framework at deployment time. -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>


    <!-- Spring Data JPA -->
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-jpa</artifactId>
      <version>${spring.data.jpa.version}</version>
    </dependency>

    <!-- EnableAspectJAutoProxy -->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>${aspectj.version}</version>
      <scope>runtime</scope>
    </dependency>

    <!-- Database pooling -->
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>${c3p0.version}</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>

    <!-- Hibernate and JPA -->
    <dependency>
      <groupId>org.hibernate.java-persistence</groupId>
      <artifactId>jpa-api</artifactId>
      <version>${hibernate.jpa-api.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>${hibernate.entitymanager.version}</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>jta</artifactId>
          <groupId>javax.transaction</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-entitymanager</artifactId>
      <version>${hibernate.entitymanager.version}</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>${hibernate.validator.version}</version>
    </dependency>

    <!--needed for @SafeHtml-->
    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.7.2</version>
    </dependency>

    <!--check-->
    <!--<dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0</version>
    </dependency>-->

    <!-- Javax Servlet. This needs to be included for runtime only! -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>${javax.servlet-api.version}</version>
      <scope>provided</scope>
    </dependency>


    <!--<dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>-->

    <!--jersey-->
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-core</artifactId>
      <version>${jersey.version}</version>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-json</artifactId>
      <version>${jersey.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>jackson-jaxrs</artifactId>
          <groupId>org.codehaus.jackson</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jackson-xc</artifactId>
          <groupId>org.codehaus.jackson</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jaxb-impl</artifactId>
          <groupId>com.sun.xml.bind</groupId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>${jersey.version}</version>
      <scope>compile</scope>
    </dependency>

    <!--linking (hateos)-->
    <!--<dependency>-->
    <!--<groupId>com.sun.jersey</groupId>-->
    <!--<artifactId>jersey-server-linking</artifactId>-->
    <!--<version>${jersey.version}</version>-->
    <!--</dependency>-->

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-servlet</artifactId>
      <version>${jersey.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-multipart</artifactId>
      <version>${jersey.version}</version>
    </dependency>

    <!--others-->

    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.4.5</version>
    </dependency>

    <!--<dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-jaxrs</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>-->

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
    </dependency>

  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.2.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <configuration>
              <excludes>
                <exclude>net/stepniak/**/*.java</exclude>
              </excludes>
            </configuration>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>
