| <?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> |