<?xml version="1.0" encoding="UTF-8"?>
<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>
  <parent>
    <artifactId>commons</artifactId>
    <groupId>org.exoplatform.commons</groupId>
    <version>6.3.3-RC01</version>
  </parent>
  <artifactId>commons-component-common</artifactId>
  <packaging>jar</packaging>
  <name>eXo PLF:: Commons - Common Services</name>
  <properties>
    <exo.test.coverage.ratio>0.54</exo.test.coverage.ratio>
  </properties>
  <dependencies>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>jsr250-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>jsr311-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.gatein.portal</groupId>
      <artifactId>exo.portal.component.common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.commons</groupId>
      <artifactId>commons-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.commons</groupId>
      <artifactId>commons-comet-service</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.core</groupId>
      <artifactId>exo.core.component.organization.api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.commons</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.component.common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.kernel</groupId>
      <artifactId>exo.kernel.container</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.ws</groupId>
      <artifactId>exo.ws.rest.core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.gatein.portal</groupId>
      <artifactId>exo.portal.webui.portal</artifactId>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjrt</artifactId>
    </dependency>
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <exclusions>
        <exclusion>
          <!-- To be fixed in the original project -->
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jmock</artifactId>
          <groupId>jmock</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>picocontainer</groupId>
      <artifactId>picocontainer</artifactId>
      <exclusions>
        <exclusion>
          <artifactId>jmock</artifactId>
          <groupId>jmock</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.googlecode.owasp-java-html-sanitizer</groupId>
      <artifactId>owasp-java-html-sanitizer</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <!-- Diff engine - http://www.suigeneris.org/kb/display/jrcs/JRCS+Home -->
    <dependency>
      <groupId>org.suigeneris</groupId>
      <artifactId>jrcs.diff</artifactId>
    </dependency>
    <dependency>
      <groupId>ecs</groupId>
      <artifactId>ecs</artifactId>
    </dependency>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-mockito2</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.gatein.portal</groupId>
      <artifactId>exo.portal.component.identity</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.gatein.portal</groupId>
      <artifactId>exo.portal.component.portal</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.exoplatform.gatein.portal</groupId>
      <artifactId>exo.portal.component.application-registry</artifactId>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <!-- This dependency is used for test classes compilation but is erroneously reported as useless by mvn dependency:analyze -->
    <dependency>
      <groupId>org.exoplatform.commons</groupId>
      <artifactId>commons-testing</artifactId>
      <scope>test</scope>
    </dependency>
    <!-- This dependency is used for tests execution but is erroneously reported as useless by mvn dependency:analyze -->
    <dependency>
      <groupId>org.hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-jaxrs</artifactId>
    </dependency>
  </dependencies>
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.properties</include>
          <include>**/*.xml</include>
          <include>**/*.gtmpl</include>
          <include>**/*.Processor</include>
          <include>**/*.Integrator</include>
        </includes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>com.jcabi</groupId>
        <artifactId>jcabi-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.github.kongchen</groupId>
        <artifactId>swagger-maven-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <apiSources>
            <apiSource>
              <springmvc>false</springmvc>
              <locations>org.exoplatform.settings.rest</locations>
              <schemes>http,https</schemes>
              <host>localhost:8080</host>
              <basePath>/rest</basePath>
              <info>
                <title>eXo Settings REST API</title>
                <version>1</version>
                <description>The Settings REST API provides methods for managing settings. Here are the descriptions of a full representation of each of the settings resources available.</description>
              </info>
              <templatePath>${basedir}/src/main/resources/swagger-doc-template/strapdown.html.hbs</templatePath>
              <outputPath>${basedir}/target/generated/document.html</outputPath>
              <swaggerDirectory>${basedir}/target/generated-sources/annotations/generated</swaggerDirectory>
            </apiSource>
          </apiSources>
        </configuration>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>generate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
