blob: cd78eea913e0de96613421f76a3378264d7225c4 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<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>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>systests</artifactId>
<version>1.2.15</version>
</parent>
<artifactId>eclipse-tests</artifactId>
<packaging>pom</packaging>
<name>Eclipse Tests</name>
<description>Contains test cases that verify that the Axiom OSGi bundles are usable out of the box by Eclipse plug-ins.</description>
<properties>
<tycho-version>0.18.1</tycho-version>
</properties>
<dependencies>
<!-- We declare dependencies here to guarantee that the build order is correct.
The dependencies will be inherited by the test project (src/it/project). -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>axiom-api</artifactId>
<version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-activation_1.1_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>axiom-impl</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>axiom-dom</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<executions>
<execution>
<!-- Need this to pass information to the hook scripts. Once maven-invoker-plugin 1.9 is released,
we no longer need this; see MINVOKER-119. -->
<id>generate-invoker-script-properties</id>
<phase>pre-integration-test</phase>
<goals>
<goal>execute</goal>
</goals>
<inherited>false</inherited>
<configuration>
<source>
import java.io.*
import java.util.*
dir = new File(project.build.directory, "it")
dir.mkdirs()
props = new Properties()
props.setProperty("version", project.version)
stream = new FileOutputStream(new File(dir, "script.properties"))
props.store(stream, null)
stream.close()
</source>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<executions>
<execution>
<!-- Instead of executing the Tycho eclipse-test-plugin project directly, we use the invoker plugin.
There are multiple reasons for that:
* The test project depends on axiom-api, axiom-impl and axiom-dom. If they are executed
in the same reactor, then Tycho will fail because axiom-api, axiom-impl and axiom-dom are
plain Maven projects. The reason is that the P2 resolver has no way to know the packages
exported by these projects.
* In a Tycho project, the Bundle-Version in the manifest must match the POM version.
On the other hand, maven-release-plugin only updates the POM. That would break
the automated release process.
* It prevents maven-eclipse-plugin from messing with the test project.
-->
<id>integration-test</id>
<goals>
<goal>run</goal>
</goals>
<inherited>false</inherited>
<configuration>
<streamLogs>true</streamLogs>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<goals>
<goal>integration-test</goal>
</goals>
<skipInvocation>${skipTests}</skipInvocation>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-jacoco-exec</id>
<phase>post-integration-test</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<inherited>false</inherited>
<configuration>
<skipAttach>${skipJacoco}</skipAttach>
<artifacts>
<artifact>
<file>${project.build.directory}/it/project/target/jacoco.exec</file>
<classifier>jacoco</classifier>
<type>exec</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<excludes>
<!-- Don't need license headers for Eclipse project files -->
<exclude>src/it/*/.project</exclude>
<exclude>src/it/*/.classpath</exclude>
<exclude>src/it/*/.settings/**</exclude>
<exclude>src/it/*/build.properties</exclude>
<!-- Manifests can't contain comments -->
<exclude>src/it/*/META-INF/MANIFEST.MF</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>