<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>org.overlord.sramp</groupId>
  <artifactId>s-ramp</artifactId>
  <version>0.3.0.Final</version>
  <packaging>pom</packaging>

  <name>S-RAMP</name>
  <description>S-RAMP is a SOA Repository Artifact Model and Protocol (S-RAMP) implementation.</description>
  <url>http://www.jboss.org/overlord</url>
  <inceptionYear>2011</inceptionYear>

  <organization>
    <name>JBoss, a division of Red Hat</name>
    <url>http://www.jboss.org</url>
  </organization>

  <licenses>
    <license>
      <name>Apache License Version 2.0</name>
      <url>http://repository.jboss.org/licenses/apache-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <issueManagement>
    <system>jira</system>
    <url>http://issues.jboss.org/browse/SRAMP</url>
  </issueManagement>

  <scm>
    <connection>scm:git:git@github.com:Governance/s-ramp.git</connection>
    <developerConnection>scm:git:git@github.com:Governance/s-ramp.git</developerConnection>
    <url>scm:git:git@github.com:Governance/s-ramp.git</url>
  </scm>

  <developers>
    <developer>
      <name>Kurt Stam</name>
      <id>kstam</id>
      <email>kstam@jboss.com</email>
      <organization>JBoss, a division of Red Hat</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <name>Randall Hauch</name>
      <id>randall</id>
      <email>rhauch@redhat.com</email>
      <organization>JBoss, a division of Red Hat</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
    <developer>
      <name>Eric Wittmann</name>
      <id>ewittman</id>
      <email>eric.wittmann@redhat.com</email>
      <organization>Red Hat</organization>
      <roles>
        <role>Developer</role>
      </roles>
    </developer>
  </developers>

  <properties>
    <!-- Instruct the build to use only UTF-8 encoding for source code -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>

    <!-- Distribution URLs -->
    <jboss.releases.repo.url>https://repository.jboss.org/nexus/service/local/staging/deploy/maven2/</jboss.releases.repo.url>
    <jboss.snapshots.repo.url>https://repository.jboss.org/nexus/content/repositories/snapshots/</jboss.snapshots.repo.url>

    <!-- Maven plugin versions -->
    <maven.surefire.report.plugin.version>2.4.3</maven.surefire.report.plugin.version>
    <maven.surefire.plugin.version>2.7.1</maven.surefire.plugin.version>
    <maven.assembly.plugin.version>2.2</maven.assembly.plugin.version>
    <maven.install.plugin.version>2.3.1</maven.install.plugin.version>
    <maven.javadoc.plugin.version>2.7</maven.javadoc.plugin.version>
    <maven.jxr.plugin.version>2.1</maven.jxr.plugin.version>
    <maven.jar.plugin.version>2.3.1</maven.jar.plugin.version>
    <maven.war.plugin.version>2.1.1</maven.war.plugin.version>
    <maven.bundle.plugin.version>2.1.0</maven.bundle.plugin.version>
    <maven.compiler.plugin.version>2.3.2</maven.compiler.plugin.version>
    <maven.source.plugin.version>2.1.2</maven.source.plugin.version>
    <maven.deploy.plugin.version>2.5</maven.deploy.plugin.version>

    <!-- Dependency versions -->
    <junit.version>4.11</junit.version>
    <log4j.version>1.2.16</log4j.version>
    <slf4j.api.version>1.5.11</slf4j.api.version>
    <slf4j.log4j.version>1.5.11</slf4j.log4j.version>
    <slf4j.nop.version>1.5.11</slf4j.nop.version>
    <xmlunit.version>1.3</xmlunit.version>
    <servlet.api.version>2.5</servlet.api.version>
    <org.jboss.resteasy.version>2.3.6.Final</org.jboss.resteasy.version>
    <org.modeshape.version>3.2.0.Final</org.modeshape.version>
    <infinispan.version>5.1.6.FINAL</infinispan.version>
    <overlord-commons.version>1.0.9</overlord-commons.version>
    <commons.io.version>2.4</commons.io.version>
    <commons.lang3.version>3.1</commons.lang3.version>
    <commons.config.version>1.8</commons.config.version>
    <commons.compress.version>1.4.1</commons.compress.version>
    <commons.codec.version>1.5</commons.codec.version>
    <jline.version>2.9</jline.version>
    <joda-time.version>2.1</joda-time.version>
    <tika-core.version>1.3</tika-core.version> <!-- inline with version used by modeshape -->
  </properties>

  <build>
    <!-- This section defines the default plugin settings inherited by child 
      projects. -->
    <pluginManagement>
      <plugins>
        <!-- Fixes how test resources of a project can be used in projects dependent 
          on it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.jar.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven.war.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${maven.assembly.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${maven.bundle.plugin.version}</version>
          <extensions>true</extensions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <!-- Specify the compiler options and settings -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <showDeprecation>false</showDeprecation>
          <showWarnings>false</showWarnings>
        </configuration>
      </plugin>
      <!-- Produce source jars during the 'verify' phase -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>${maven.source.plugin.version}</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar</goal>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>${maven.surefire.plugin.version}</version>
        <configuration>
          <includes>
            <include>**/*TestCase.java</include>
            <include>**/*Test.java</include>
          </includes>
          <systemProperties>
            <property>
              <name>java.io.tmpdir</name>
              <value>${basedir}/target</value>
            </property>
          </systemProperties>
          <argLine>-Xmx368m -XX:MaxPermSize=128m</argLine>
        </configuration>
      </plugin>
      <!-- Build a test-jar for each project, so that src/test/* resources and 
        classes can be used in other projects. Also customize how the jar files are 
        assembled. -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${maven.jar.plugin.version}</version><!--$NO-MVN-MAN-VER$ -->
        <executions>
          <execution>
            <id>test-jar</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifest>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
            <manifestEntries>
              <Implementation-URL>${project.url}</Implementation-URL>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencyManagement>
    <dependencies>
      <!-- Common libraries -->
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons.lang3.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons.codec.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons.config.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons.compress.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda-time.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>${servlet.api.version}</version>
      </dependency>
      <!-- Logging (require SLF4J API for compiling, but use Log4J and its SLF4J 
        binding for testing) -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.api.version}</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.log4j.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
        <scope>test</scope>
      </dependency>
      <!-- Testing (note the scope) -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>xmlunit</groupId>
        <artifactId>xmlunit</artifactId>
        <version>${xmlunit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>${tika-core.version}</version>
      </dependency>
      <!-- Import the ModeShape BOM for embedded usage. This adds to the "dependenciesManagement" section
               defaults for all of the modules we might need, but we still have to include in the 
               "dependencies" section the modules we DO need. The benefit is that we don't have to
               specify the versions of any of those modules.-->
      <dependency>
        <groupId>org.modeshape.bom</groupId>
        <artifactId>modeshape-bom-embedded</artifactId>
        <version>${org.modeshape.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>${maven.surefire.report.plugin.version}</version>
      </plugin>
    </plugins>
  </reporting>

  <repositories>
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>http://repository.jboss.org/nexus/content/groups/developer/</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>http://repository.jboss.org/nexus/content/groups/developer/</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
    </pluginRepository>
  </pluginRepositories>

  <distributionManagement>
    <repository>
      <id>jboss-releases-repository</id>
      <name>JBoss Releases Repository</name>
      <url>${jboss.releases.repo.url}</url>
    </repository>
    <snapshotRepository>
      <id>jboss-snapshots-repository</id>
      <name>JBoss Snapshots Repository</name>
      <url>${jboss.snapshots.repo.url}</url>
    </snapshotRepository>
  </distributionManagement>

  <!-- modules in alphabetical order -->
  <modules>
    <module>s-ramp-api</module>
    <module>s-ramp-atom</module>
    <module>s-ramp-client</module>
    <module>s-ramp-common</module>
    <module>s-ramp-installer</module>
    <module>s-ramp-integration-java</module>
    <module>s-ramp-integration-kie</module>
    <module>s-ramp-integration-switchyard</module>
    <module>s-ramp-repository</module>
    <module>s-ramp-repository-jcr</module>
    <module>s-ramp-repository-jcr/modeshape</module>
    <module>s-ramp-server</module>
    <module>s-ramp-shell</module>
    <module>s-ramp-shell-api</module>
    <module>s-ramp-wagon</module>
  </modules>
</project>

