rosette-api-osgi-itests
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.basistech.rosette</groupId>
<artifactId>rosette-api-osgi-itests</artifactId>
<version>1.28.0</version>
</dependency><?xml version="1.0"?>
<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>
<artifactId>rosette-api-osgi-itests</artifactId>
<parent>
<groupId>com.basistech.rosette</groupId>
<artifactId>rosette-api-java-binding</artifactId>
<version>1.28.0</version>
</parent>
<properties>
<bundle-repo>target/test-bundles</bundle-repo>
</properties>
<dependencies>
<dependency>
<groupId>com.basistech.rosette</groupId>
<artifactId>rosette-api</artifactId>
<version>1.28.0</version>
</dependency>
<!-- The goal of this test is to make sure rosette-api resolves successfully in OSGi with given dependencies. -->
<!-- A failure in this test indicates changes in the minimum runtime requirements of the bundle. -->
<!-- OSGi framework dependencies -->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>${felix-framework.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.configadmin</artifactId>
<version>${felix-configadmin.version}</version>
<scope>compile</scope>
</dependency>
<!-- SLF4J is part of rosette-osgi's system packages. -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</dependency>
<!-- bnd-testing dependencies -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.enroute.junit.wrapper</artifactId>
<version>${osgi-enroute-junit-wrapper.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.enroute.hamcrest.wrapper</artifactId>
<version>${osgi-enroute-hamcrest-wrapper.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Copy all maven dependencies to the test OBR repo, skipping Compendium which is not resolvable. -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>pre-integration-test</phase>
<id>copy-it-dependencies</id>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${bundle-repo}</outputDirectory>
<excludeArtifactIds>osgi.cmpn</excludeArtifactIds>
</configuration>
</execution>
</executions>
</plugin>
<!-- Build the OSGi MANIFEST.MF using the 'bnd' tool, reading the contents of bnd.bnd. -->
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
<outputDirectory>${bundle-repo}</outputDirectory>
</configuration>
</plugin>
<!-- Index the test bundle repo as OBR. -->
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-indexer-maven-plugin</artifactId>
<version>${bnd-maven-plugin.version}</version>
<configuration>
<inputDir>${bundle-repo}</inputDir>
<includeJar>true</includeJar>
</configuration>
<executions>
<execution>
<id>index-repo</id>
<phase>pre-integration-test</phase>
<goals>
<goal>local-index</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Invoke the main bundle with the test bundle repository. -->
<plugin>
<groupId>biz.aQute.bnd</groupId>
<artifactId>bnd-testing-maven-plugin</artifactId>
<version>${bnd-maven-plugin.version}</version>
<configuration>
<failOnChanges>false</failOnChanges>
<bndruns>
<bndrun>it.bndrun</bndrun>
</bndruns>
<resolve>true</resolve>
</configuration>
<executions>
<execution>
<phase>integration-test</phase>
<id>it-bnd-testing</id>
<goals>
<goal>testing</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>