<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>io.spring.platform</groupId>
    <artifactId>platform-bom</artifactId>
    <version>Athens-SR4</version>
    <relativePath/>
  </parent>
  <groupId>io.springlets</groupId>
  <artifactId>springlets-parent</artifactId>
  <version>1.2.0.RC2</version>
  <packaging>pom</packaging>
  <name>Springlets</name>
  <description>
  Springlets provides a series of heterogeneus small utilities for Spring based applications and Spring Boot starters not available in the main Spring projects: Spring Framework, Spring Data, Spring Boot, ...
  </description>
  <url>http://springlets.io</url>
  <organization>
    <name>DISID Corporation</name>
    <url>http://www.disid.com</url>
  </organization>
  <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:https://github.com/DISID/springlets</connection>
    <url>https://github.com/DISID/springlets</url>
  </scm>
  <developers>
    <developer>
      <id>eruiz</id>
      <name>Enrique Ruiz</name>
      <email>eruiz at disid.com</email>
      <organization>DISID Corporation S.L.</organization>
      <organizationUrl>http://www.disid.com</organizationUrl>
      <roles>
        <role>Project lead</role>
        <role>Programmer</role>
      </roles>
    </developer>
    <developer>
      <id>jcgarcia</id>
      <name>Juan Carlos García</name>
      <email>jcgarcia at disid.com</email>
      <organization>DISID Corporation S.L.</organization>
      <organizationUrl>http://www.disid.com</organizationUrl>
      <roles>
        <role>Programmer</role>
      </roles>
    </developer>
    <developer>
      <id>cordin</id>
      <name>Cèsar Ordiñana</name>
      <email>cordin at disid.com</email>
      <organization>DISID Corporation S.L.</organization>
      <organizationUrl>http://www.disid.com</organizationUrl>
      <roles>
        <role>Project lead</role>
        <role>Programmer</role>
      </roles>
    </developer>
  </developers>  
  
  <properties>
    <java.version>1.7</java.version>
    <thymeleaf.version>3.0.0.RELEASE</thymeleaf.version>
    <!--tracee.version>1.1.2</tracee.version-->
    <!-- Webjars -->
    <bootstrap-fileinput.version>4.4.0</bootstrap-fileinput.version>
  </properties>

  <modules>
    <!--module>springlets</module-->
    <module>springlets-framework</module>
    <module>springlets-data</module>
    <module>springlets-security</module>
    <module>springlets-webflow</module>
    <module>springlets-autoconfigure</module>
    <module>springlets-test-autoconfigure</module>
    <module>springlets-boot-starters</module>
    <module>springlets-docs</module>
  </modules>

  <distributionManagement>
      <snapshotRepository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/content/repositories/snapshots</url>
      </snapshotRepository>
      <repository>
          <id>ossrh</id>
          <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
      </repository>
  </distributionManagement>

  <dependencyManagement>
    <!--
    = About the dependencies

    ORDER CRITERIA:

    * Two dependency groups: first spring dependencies, next the external ones.
    * Inside a group: alphabetical order, ordering first by groupId, then by artifactId.
    -->
    <dependencies>

      <!-- Springlets dependencies -->
      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-autoconfigure</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-authentication</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-context</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-data-commons</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-data-jpa</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-jms</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-mail</artifactId>
        <version>${project.version}</version>
      </dependency>

	    <dependency>
	      <groupId>io.springlets</groupId>
	      <artifactId>springlets-test-autoconfigure</artifactId>
        <version>${project.version}</version>
	    </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-web</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>io.springlets</groupId>
        <artifactId>springlets-webflow</artifactId>
        <version>${project.version}</version>
      </dependency>

      <!-- TracEE
      <dependency>
        <groupId>io.tracee.binding</groupId>
        <artifactId>tracee-jaxws</artifactId>
        <version>${tracee.version}</version>
      </dependency>

      <dependency>
        <groupId>io.tracee.binding</groupId>
        <artifactId>tracee-cxf</artifactId>
        <version>${tracee.version}</version>
      </dependency>

      <dependency>
        <groupId>io.tracee.binding</groupId>
        <artifactId>tracee-jms</artifactId>
        <version>${tracee.version}</version>
      </dependency>

      <dependency>
        <groupId>io.tracee.binding</groupId>
        <artifactId>tracee-springmvc</artifactId>
        <version>${tracee.version}</version>
      </dependency>
      -->

      <!-- Thymeleaf 3 -->

      <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf-spring4</artifactId>
        <version>${thymeleaf.version}</version>
      </dependency>

      <dependency>
      <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>${thymeleaf.version}</version>
      </dependency>
      
      <!-- Webjars -->
      
      <dependency>
        <groupId>org.webjars.bower</groupId>
        <artifactId>bootstrap-fileinput</artifactId>
        <version>${bootstrap-fileinput.version}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>org.assertj</groupId>
		<artifactId>assertj-core</artifactId>
		<scope>test</scope>
	</dependency>

	<dependency>
		<groupId>org.mockito</groupId>
		<artifactId>mockito-core</artifactId>
		<scope>test</scope>
	</dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
		<scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.7</version>
        <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.7</version>
          <extensions>true</extensions>
          <configuration>
            <serverId>ossrh</serverId>
            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
            <autoReleaseAfterClose>true</autoReleaseAfterClose>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.7</version>
          <configuration>
            <formats>
              <format>html</format>
              <format>xml</format>
            </formats>
            <aggregate>true</aggregate>
            <check />
            <instrumentation>
              <excludes>
                <exclude>springlets-security/springlets-authentication/target/generated-sources/java/io/springlets/security/jpa/domain/**</exclude>
              </excludes>
            </instrumentation>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.10.4</version>
        </plugin>
        <plugin>
          <groupId>org.asciidoctor</groupId>
          <artifactId>asciidoctor-maven-plugin</artifactId>
          <version>1.5.2</version>
          <dependencies>
            <dependency>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctorj</artifactId>
              <version>1.5.2</version>
            </dependency>
            <dependency>
              <groupId>org.asciidoctor</groupId>
              <artifactId>asciidoctorj-pdf</artifactId>
              <version>1.5.0-alpha.6</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.9</version>
        </plugin>
        <plugin>
          <groupId>com.github.github</groupId>
          <artifactId>site-maven-plugin</artifactId>
          <version>0.12</version>
        </plugin>     
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.sonatype.plugins</groupId>
        <artifactId>nexus-staging-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <additionalparam>-Xdoclint:none</additionalparam>
          <reportOutputDirectory>${project.basedir}/springlets-docs/target/site</reportOutputDirectory>
        </configuration>
      </plugin>      
   </plugins>
  </build>
  
  <profiles>
    <profile>
        <id>jdk7</id>
        <activation>
            <jdk>1.7</jdk>
            <property>
                <name>!skipRelease</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                    <configuration>
                        <useAgent>true</useAgent>
                    </configuration>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
           </plugins>
        </build>
    </profile>
    <profile>
        <!--
        Profile to prevent errors if Springlets is compiled using Java 8
        http://stackoverflow.com/questions/15886209/maven-is-not-working-in-java-8-when-javadoc-tags-are-incomplete
        -->
        <id>jdk8</id>
        <activation>
            <jdk>1.8</jdk>
            <property>
                <name>!skipRelease</name>
            </property>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <configuration>
                                <additionalparam>-Xdoclint:none</additionalparam>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                 <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar-no-fork</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>1.6</version>
                    <configuration>
                        <useAgent>true</useAgent>
                    </configuration>
                    <executions>
                        <execution>
                            <id>sign-artifacts</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>sign</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
           </plugins>
        </build>
    </profile>
  </profiles>
</project>
