OW2 Consortium jonas

Rev

Rev 20457 | Rev 20460 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?xml version="1.0" encoding="UTF-8"?>
<!--
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - JOnAS: Java(TM) Open Application Server
  - Copyright (C) 2010 Bull S.A.S.
  - Contact: jonas-team@ow2.org
  -
  - This library is free software; you can redistribute it and/or
  - modify it under the terms of the GNU Lesser General Public
  - License as published by the Free Software Foundation; either
  - version 2.1 of the License, or any later version.
  -
  - This library is distributed in the hope that it will be useful,
  - but WITHOUT ANY WARRANTY; without even the implied warranty of
  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  - Lesser General Public License for more details.
  -
  - You should have received a copy of the GNU Lesser General Public
  - License along with this library; if not, write to the Free Software
  - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  - USA
  -
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - $Id: pom.xml 20458 2010-10-13 14:13:29Z alitokmen $
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-->
<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">

  <parent>
    <groupId>org.ow2</groupId>
    <artifactId>ow2</artifactId>
    <version>1.1</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.ow2.jonas</groupId>
  <artifactId>jonas-versions-servlet</artifactId>
  <packaging>bundle</packaging>
  <version>1.0.3</version>
  <name>JOnAS versions OSGi servlet</name>

  <properties>
    <osgi.version>4.2.0</osgi.version>
    <ipojo.version>1.6.0</ipojo.version>
    <servlet.version>2.5</servlet.version>
    <ow2-util.version>1.0.24</ow2-util.version>
    <bundle-plugin.version>2.1.0</bundle-plugin.version>

    <!-- Used for tests -->
    <junit.version>4.7</junit.version>
    <jonas.version>5.2.0-M2</jonas.version>
    <cargo.version>1.0.3</cargo.version>
    <build-helper.version>1.4</build-helper.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>${servlet.version}</version>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.compendium</artifactId>
      <version>${osgi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
      <version>${ipojo.version}</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.util</groupId>
      <artifactId>util-ee-deploy-impl</artifactId>
      <version>${ow2-util.version}</version>
    </dependency>

    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${bundle-plugin.version}</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Implementation-Version>${project.version}</Implementation-Version>
          </instructions>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-ipojo-plugin</artifactId>
        <version>${ipojo.version}</version>
        <configuration>
          <ignoreAnnotations>false</ignoreAnnotations>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>ipojo-bundle</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!--
        Make sure tests always use randomly assigned and available ports
       -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${build-helper.version}</version>
        <executions>
          <execution>
            <id>generate-port-numbers</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>reserve-network-port</goal>
            </goals>
            <configuration>
              <portNames>
                <portName>webcontainer.port</portName>
                <portName>carol.port</portName>
              </portNames>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Unpack the JOnAS assembly -->
      <plugin>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>unpack-assembly</id>
            <phase>generate-test-resources</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.ow2.jonas.assemblies.profiles</groupId>
                  <artifactId>jonas-full</artifactId>
                  <version>${jonas.version}</version>
                  <classifier>bin</classifier>
                  <type>zip</type>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                </artifactItem>
                <artifactItem>
                  <groupId>org.ow2.jonas</groupId>
                  <artifactId>jonas-itests-applications-versioning</artifactId>
                  <version>${jonas.version}</version>
                  <outputDirectory>${project.build.directory}</outputDirectory>
                </artifactItem>
              </artifactItems>
              <overWriteReleases>true</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Start and stop JOnAS with CARGO -->
      <plugin>
        <groupId>org.codehaus.cargo</groupId>
        <artifactId>cargo-maven2-plugin</artifactId>
        <version>${cargo.version}</version>
        <executions>
          <execution>
            <id>start-jonas</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>start</goal>
            </goals>
          </execution>
          <execution>
            <id>stop-jonas</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>stop</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <wait>false</wait>
          <container>
            <containerId>jonas5x</containerId>
            <type>installed</type>
            <home>${project.build.directory}/jonas-full-${jonas.version}</home>
          </container>
          <configuration>
            <type>standalone</type>
            <home>${project.build.directory}/jonas-base</home>
            <properties>
              <cargo.hostname>localhost</cargo.hostname>
              <cargo.rmi.port>${carol.port}</cargo.rmi.port>
              <cargo.servlet.port>${webcontainer.port}</cargo.servlet.port>
              <cargo.protocol>http</cargo.protocol>
              <cargo.jonas.services.list>web,versioning,depmonitor</cargo.jonas.services.list>
            </properties>
            <!--
              We cannot yet use <deployables> yet for the own project's bundle.
              That'll be available as of CARGO 1.0.4.
              -->
            <files>
              <file>
                <file>${project.build.directory}/${project.artifactId}-${project.version}.jar</file>
                <todir>deploy</todir>
              </file>
              <file>
                <file>${project.build.directory}/version1.0.0/test-versioning.ear</file>
                <todir>deploy</todir>
              </file>
              <file>
                <file>${project.build.directory}/version2.0.0/test-versioning.ear</file>
                <tofile>deploy/test-versioning-version2.0.0.ear</tofile>
              </file>
            </files>
          </configuration>
        </configuration>
      </plugin>

      <!-- Run integration tests -->
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>true</skip>
        </configuration>
        <executions>
          <execution>
            <id>surefire-it</id>
            <phase>integration-test</phase>
            <goals>
              <goal>test</goal>
            </goals>
            <configuration>
              <systemProperties>
                <property>
                  <name>jonas.version</name>
                  <value>${jonas.version}</value>
                </property>
                <property>
                  <name>project.version</name>
                  <value>${project.version}</value>
                </property>
                <property>
                  <name>webcontainer.port</name>
                  <value>${webcontainer.port}</value>
                </property>
              </systemProperties>
              <skip>false</skip>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <prerequisites>
    <maven>2.1.0</maven>
  </prerequisites>

  <scm>
    <connection>scm:svn:svn://svn.forge.objectweb.org/svnroot/jonas/sub-projects/jonas-versions-servlet/tags/jonas-versions-servlet-1.0.3</connection>
    <developerConnection>scm:svn:svn+ssh://${maven.username}@svn.forge.objectweb.org/svnroot/jonas/sub-projects/jonas-versions-servlet/tags/jonas-versions-servlet-1.0.3</developerConnection>
    <url>http://websvn.ow2.org/listing.php?repname=jonas&amp;path=/sub-projects/jonas-versions-servlet/tags/jonas-versions-servlet-1.0.3?repname=jonas&amp;path=/sub-projects/jonas-versions-servlet/trunk</url>
  </scm>
</project>