mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-09 14:34:43 +00:00
The idea behind a time warp mode is that while it's enabled the time related constructs in the alerts module are replaced with a mock test friendly version.. so we'll be able to control time and therefore avoid sleeping the threads. In time warp mode: - The `SchedulerMock` is used to manually fire jobs - The `ClockMock` is used to set and fast forward time - The alerts are executed on the same thread as the scheduler mock... so we don't have to deal with async nature at all. This is accomplished by the added `AlertsExecutor` abstraction. By default, the time warp mode is enabled and tests run in it. If a test must not use the time warp mode, it is possible to add `@TimeWarped(false)` annotation to the test and it will then run with the standard scheduler & clock. It is also possible to disable this mode all together by running the tests with `-Dtests.timewarp=false`. All the updated tests now work in both modes (whether the time warp mode is dis/enabled). This is important as on the server we would like to run the tests outside of this mode as well, but locally we'd like to run them with time warped enabled (so they'll be faster) Also, cleaned up the tests.. we now only do `assertThat(...)` calls (no `assertTrue` or `assertEquals`... for consistency sake) Original commit: elastic/x-pack-elasticsearch@11e09f6dea
620 lines
28 KiB
XML
620 lines
28 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<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/xsd/maven-4.0.0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>org.elasticsearch</groupId>
|
|
<artifactId>elasticsearch-alerts</artifactId>
|
|
<version>1.0.0-beta2-SNAPSHOT</version>
|
|
|
|
<parent>
|
|
<groupId>org.sonatype.oss</groupId>
|
|
<artifactId>oss-parent</artifactId>
|
|
<version>7</version>
|
|
</parent>
|
|
|
|
<properties>
|
|
<elasticsearch.version>1.4.0</elasticsearch.version>
|
|
<lucene.maven.version>4.10.2</lucene.maven.version>
|
|
<lucene.version>4.10.2</lucene.version>
|
|
|
|
<tests.jvms>auto</tests.jvms>
|
|
<tests.shuffle>true</tests.shuffle>
|
|
<tests.output>onerror</tests.output>
|
|
<tests.client.ratio></tests.client.ratio>
|
|
<tests.bwc.path>${project.basedir}/backwards</tests.bwc.path>
|
|
<es.logger.level>INFO</es.logger.level>
|
|
<tests.heap.size>512m</tests.heap.size>
|
|
<tests.topn>5</tests.topn>
|
|
<execution.hint.file>.local-${project.version}-execution-hints.log</execution.hint.file>
|
|
<tests.rest>false</tests.rest>
|
|
<tests.slow>false</tests.slow>
|
|
<tests.timewarp>true</tests.timewarp>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
|
|
<!-- Test dependencies -->
|
|
|
|
<dependency>
|
|
<groupId>org.subethamail</groupId>
|
|
<artifactId>subethasmtp</artifactId>
|
|
<version>3.1.7</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.apis</groupId>
|
|
<artifactId>google-api-services-gmail</artifactId>
|
|
<version>v1-rev23-1.19.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.codehaus.groovy</groupId>
|
|
<artifactId>groovy-all</artifactId>
|
|
<version>2.3.2</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-test-framework</artifactId>
|
|
<version>${lucene.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.elasticsearch</groupId>
|
|
<artifactId>elasticsearch</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-all</artifactId>
|
|
<version>1.3</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.carrotsearch.randomizedtesting</groupId>
|
|
<artifactId>randomizedtesting-runner</artifactId>
|
|
<version>2.1.10</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<version>4.11</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>1.9.5</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency> <!--required for mockito-->
|
|
<groupId>org.objenesis</groupId>
|
|
<artifactId>objenesis</artifactId>
|
|
<version>2.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Remove this when LocalDiscovery gets fixed in core -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>18.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Regular dependencies -->
|
|
|
|
<dependency>
|
|
<groupId>org.elasticsearch</groupId>
|
|
<artifactId>elasticsearch</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.lucene</groupId>
|
|
<artifactId>lucene-core</artifactId>
|
|
<version>${lucene.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.quartz-scheduler</groupId>
|
|
<artifactId>quartz</artifactId>
|
|
<version>2.2.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.quartz-scheduler</groupId>
|
|
<artifactId>quartz-jobs</artifactId>
|
|
<version>2.2.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
<version>1.2.17</version>
|
|
</dependency>
|
|
|
|
<!-- Otherwise we can't see quartz logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>1.7.7</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-nop</artifactId>
|
|
<version>1.7.7</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>javax.mail</groupId>
|
|
<artifactId>mail</artifactId>
|
|
<version>1.4.4</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>javax.activation</groupId>
|
|
<artifactId>activation</artifactId>
|
|
<version>1.1.1</version>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
<repositories>
|
|
<repository>
|
|
<id>maven2-repository.dev.java.net</id>
|
|
<name>Java.net Repository for Maven</name>
|
|
<url>http://download.java.net/maven/2/</url>
|
|
<layout>default</layout>
|
|
</repository>
|
|
</repositories>
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<version>1.3.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-versions</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireJavaVersion>
|
|
<version>[1.7,)</version>
|
|
</requireJavaVersion>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>2.3</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<shadeTestJar>false</shadeTestJar>
|
|
<!--
|
|
We can't minimize jars, because quartz creates jobs from classpath url loading
|
|
and this results in class not found errors at runtime.
|
|
-->
|
|
<minimizeJar>false</minimizeJar>
|
|
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
|
|
<artifactSet>
|
|
<includes>
|
|
<include>org.quartz-scheduler:quartz</include>
|
|
<include>org.slf4j:slf4j-api</include>
|
|
<include>org.slf4j:slf4j-nop</include>
|
|
<include>javax.mail:mail</include>
|
|
<include>javax.activation:activation</include>
|
|
</includes>
|
|
</artifactSet>
|
|
<relocations>
|
|
<relocation>
|
|
<pattern>org.quartz</pattern>
|
|
<shadedPattern>org.elasticsearch.cronrunner</shadedPattern>
|
|
</relocation>
|
|
</relocations>
|
|
<filters>
|
|
<filter>
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<exclude>META-INF/license/**</exclude>
|
|
<exclude>META-INF/*</exclude>
|
|
<exclude>META-INF/maven/**</exclude>
|
|
<exclude>LICENSE</exclude>
|
|
<exclude>NOTICE</exclude>
|
|
<exclude>/*.txt</exclude>
|
|
<exclude>build.properties</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<version>2.4</version>
|
|
<configuration>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
<outputDirectory>${project.build.directory}/releases/</outputDirectory>
|
|
<descriptors>
|
|
<descriptor>${basedir}/src/main/assemblies/plugin.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.1</version>
|
|
<configuration>
|
|
<source>1.7</source>
|
|
<target>1.7</target>
|
|
<fork>true</fork>
|
|
<maxmem>512m</maxmem>
|
|
<!-- REMOVE WHEN UPGRADE:
|
|
see https://jira.codehaus.org/browse/MCOMPILER-209 it's a bug where
|
|
incremental compilation doesn't work unless it's set to false causeing
|
|
recompilation of the entire codebase each time without any changes. Should
|
|
be fixed in version > 3.1
|
|
-->
|
|
<useIncrementalCompilation>false</useIncrementalCompilation>
|
|
<compilerArgs>
|
|
<arg>-XDignore.symbol.file</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.carrotsearch.randomizedtesting</groupId>
|
|
<artifactId>junit4-maven-plugin</artifactId>
|
|
<version>2.1.2</version>
|
|
<executions>
|
|
<execution>
|
|
<id>tests</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>junit4</goal>
|
|
</goals>
|
|
<configuration>
|
|
<heartbeat>20</heartbeat>
|
|
<jvmOutputAction>pipe,warn</jvmOutputAction>
|
|
<leaveTemporary>true</leaveTemporary>
|
|
<listeners>
|
|
<report-ant-xml mavenExtensions="true"
|
|
dir="${project.build.directory}/surefire-reports"/>
|
|
<report-text
|
|
showThrowable="true"
|
|
showStackTraces="true"
|
|
showOutput="${tests.output}"
|
|
showStatusOk="false"
|
|
showStatusError="true"
|
|
showStatusFailure="true"
|
|
showStatusIgnored="true"
|
|
showSuiteSummary="true"
|
|
timestamps="false"/>
|
|
<report-execution-times historyLength="20" file="${basedir}/${execution.hint.file}"/>
|
|
</listeners>
|
|
<assertions>
|
|
<enable/>
|
|
<disable package="${tests.assertion.disabled}"/>
|
|
<!-- pass org.elasticsearch to run without assertions -->
|
|
</assertions>
|
|
<parallelism>${tests.jvms}</parallelism>
|
|
<balancers>
|
|
<execution-times>
|
|
<fileset dir="${basedir}" includes="${execution.hint.file}"/>
|
|
</execution-times>
|
|
</balancers>
|
|
<includes>
|
|
<include>**/*Tests.class</include>
|
|
<include>**/*Test.class</include>
|
|
<include>**/Test*.class</include>
|
|
</includes>
|
|
<excludes>
|
|
<exclude>**/Abstract*.class</exclude>
|
|
<exclude>**/*StressTest.class</exclude>
|
|
</excludes>
|
|
<jvmArgs>
|
|
<param>-Xmx${tests.heap.size}</param>
|
|
<param>-Xms${tests.heap.size}</param>
|
|
<param>-Xss256k</param>
|
|
<param>-XX:MaxPermSize=128m</param>
|
|
<param>-XX:MaxDirectMemorySize=512m</param>
|
|
<param>-Des.logger.prefix=</param>
|
|
</jvmArgs>
|
|
<shuffleOnSlave>${tests.shuffle}</shuffleOnSlave>
|
|
<sysouts>${tests.verbose}</sysouts>
|
|
<seed>${tests.seed}</seed>
|
|
<haltOnFailure>${tests.failfast}</haltOnFailure>
|
|
<uniqueSuiteNames>false</uniqueSuiteNames>
|
|
<systemProperties>
|
|
<java.io.tmpdir>.</java.io.tmpdir>
|
|
<!-- we use '.' since this is different per JVM-->
|
|
<!-- RandomizedTesting library system properties -->
|
|
<tests.bwc>${tests.bwc}</tests.bwc>
|
|
<tests.bwc.path>${tests.bwc.path}</tests.bwc.path>
|
|
<tests.bwc.version>${tests.bwc.version}</tests.bwc.version>
|
|
<tests.jvm.argline>${tests.jvm.argline}</tests.jvm.argline>
|
|
<tests.processors>${tests.processors}</tests.processors>
|
|
<tests.appendseed>${tests.appendseed}</tests.appendseed>
|
|
<tests.iters>${tests.iters}</tests.iters>
|
|
<tests.maxfailures>${tests.maxfailures}</tests.maxfailures>
|
|
<tests.failfast>${tests.failfast}</tests.failfast>
|
|
<tests.class>${tests.class}</tests.class>
|
|
<tests.method>${tests.method}</tests.method>
|
|
<tests.nightly>${tests.nightly}</tests.nightly>
|
|
<tests.verbose>${tests.verbose}</tests.verbose>
|
|
<tests.badapples>${tests.badapples}</tests.badapples>
|
|
<tests.weekly>${tests.weekly}</tests.weekly>
|
|
<tests.slow>${tests.slow}</tests.slow>
|
|
<tests.awaitsfix>${tests.awaitsfix}</tests.awaitsfix>
|
|
<tests.slow>${tests.slow}</tests.slow>
|
|
<tests.timeoutSuite>${tests.timeoutSuite}</tests.timeoutSuite>
|
|
<tests.showSuccess>${tests.showSuccess}</tests.showSuccess>
|
|
<tests.integration>${tests.integration}</tests.integration>
|
|
<tests.client.ratio>${tests.client.ratio}</tests.client.ratio>
|
|
<tests.enable_mock_modules>${tests.enable_mock_modules}</tests.enable_mock_modules>
|
|
<tests.assertion.disabled>${tests.assertion.disabled}</tests.assertion.disabled>
|
|
<tests.rest>${tests.rest}</tests.rest>
|
|
<tests.rest.suite>${tests.rest.suite}</tests.rest.suite>
|
|
<tests.rest.blacklist>${tests.rest.blacklist}</tests.rest.blacklist>
|
|
<tests.rest.spec>${tests.rest.spec}</tests.rest.spec>
|
|
<tests.network>${tests.network}</tests.network>
|
|
<tests.cluster>${tests.cluster}</tests.cluster>
|
|
<tests.heap.size>${tests.heap.size}</tests.heap.size>
|
|
<tests.filter>${tests.filter}</tests.filter>
|
|
<tests.timewarp>${tests.timewarp}</tests.timewarp>
|
|
<es.node.local>${env.ES_TEST_LOCAL}</es.node.local>
|
|
<es.node.mode>${es.node.mode}</es.node.mode>
|
|
<es.logger.level>${es.logger.level}</es.logger.level>
|
|
<tests.security.manager>${tests.security.manager}</tests.security.manager>
|
|
<tests.compatibility>${tests.compatibility}</tests.compatibility>
|
|
<java.awt.headless>true</java.awt.headless>
|
|
<!-- everything below is for security manager / test.policy -->
|
|
<junit4.tempDir>${project.build.directory}</junit4.tempDir>
|
|
<java.security.policy>${basedir}/tests.policy</java.security.policy>
|
|
</systemProperties>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<!-- we skip surefire to work with randomized testing above -->
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.16</version>
|
|
<configuration>
|
|
<skipTests>true</skipTests>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>buildnumber-maven-plugin</artifactId>
|
|
<version>1.3</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>create</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<doCheck>false</doCheck>
|
|
<doUpdate>false</doUpdate>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>de.thetaphi</groupId>
|
|
<artifactId>forbiddenapis</artifactId>
|
|
<version>1.6.1</version>
|
|
|
|
<executions>
|
|
<execution>
|
|
<id>check-forbidden-apis</id>
|
|
<configuration>
|
|
<targetVersion>1.7</targetVersion>
|
|
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
|
|
<internalRuntimeForbidden>true</internalRuntimeForbidden>
|
|
<!-- if the used Java version is too new, don't fail, just do nothing: -->
|
|
<failOnUnsupportedJava>false</failOnUnsupportedJava>
|
|
<excludes>
|
|
<exclude>jsr166e/**</exclude>
|
|
<exclude>
|
|
org/elasticsearch/common/lucene/search/Queries$QueryWrapperFilterFactory.class
|
|
</exclude>
|
|
<!-- end excludes for valid system-out -->
|
|
<!-- start excludes for Unsafe -->
|
|
<exclude>org/elasticsearch/common/util/UnsafeUtils.class</exclude>
|
|
<!-- end excludes for Unsafe -->
|
|
<!-- start excludes for Math.abs -->
|
|
<exclude>org/elasticsearch/common/util/MathUtils.class</exclude>
|
|
<exclude>org/elasticsearch/common/math/UnboxedMathUtils.class</exclude>
|
|
<exclude>org/elasticsearch/cluster/routing/operation/plain/PlainOperationRouting.class
|
|
</exclude>
|
|
<!-- end excludes for Math.abs -->
|
|
<!-- start exclude for FilteredQuery -->
|
|
<exclude>org/elasticsearch/common/lucene/search/XFilteredQuery.class</exclude>
|
|
<!-- end exclude for FilteredQuery -->
|
|
<!-- start exclude for Channels utility class -->
|
|
<exclude>org/elasticsearch/common/io/Channels.class</exclude>
|
|
<!-- end exclude for Channels -->
|
|
</excludes>
|
|
<bundledSignatures>
|
|
<!-- This will automatically choose the right signatures based on 'targetVersion': -->
|
|
<bundledSignature>jdk-unsafe</bundledSignature>
|
|
<bundledSignature>jdk-deprecated</bundledSignature>
|
|
<bundledSignature>jdk-system-out</bundledSignature>
|
|
</bundledSignatures>
|
|
<signaturesFiles>
|
|
<signaturesFile>core-signatures.txt</signaturesFile>
|
|
<signaturesFile>all-signatures.txt</signaturesFile>
|
|
</signaturesFiles>
|
|
<!--<signatures>${forbidden.signatures}</signatures>-->
|
|
</configuration>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>check-forbidden-test-apis</id>
|
|
<configuration>
|
|
<targetVersion>1.7</targetVersion>
|
|
<!-- disallow undocumented classes like sun.misc.Unsafe: -->
|
|
<internalRuntimeForbidden>true</internalRuntimeForbidden>
|
|
<!-- if the used Java version is too new, don't fail, just do nothing: -->
|
|
<failOnUnsupportedJava>false</failOnUnsupportedJava>
|
|
<excludes>
|
|
<exclude>org/quartz/**</exclude>
|
|
</excludes>
|
|
<bundledSignatures>
|
|
<!-- This will automatically choose the right signatures based on 'targetVersion': -->
|
|
<bundledSignature>jdk-unsafe</bundledSignature>
|
|
<bundledSignature>jdk-deprecated</bundledSignature>
|
|
</bundledSignatures>
|
|
<signaturesFiles>
|
|
<signaturesFile>test-signatures.txt</signaturesFile>
|
|
<signaturesFile>all-signatures.txt</signaturesFile>
|
|
</signaturesFiles>
|
|
<!--<signatures>${forbidden.test.signatures}</signatures>-->
|
|
</configuration>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>testCheck</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<profiles>
|
|
<profile>
|
|
<id>default</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.mycila</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<version>2.5</version>
|
|
<configuration>
|
|
<header>dev-tools/elasticsearch_license_header.txt</header>
|
|
<headerDefinitions>
|
|
<headerDefinition>dev-tools/license_header_definition.xml</headerDefinition>
|
|
</headerDefinitions>
|
|
<includes>
|
|
<include>src/main/java/org/elasticsearch/**/*.java</include>
|
|
<include>src/test/java/org/elasticsearch/**/*.java</include>
|
|
</includes>
|
|
<excludes>
|
|
</excludes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>coverage</id>
|
|
<activation>
|
|
<property>
|
|
<name>tests.coverage</name>
|
|
<value>true</value>
|
|
</property>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<!-- must be on the classpath -->
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>org.jacoco.agent</artifactId>
|
|
<classifier>runtime</classifier>
|
|
<version>0.6.4.201312101107</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.6.4.201312101107</version>
|
|
<executions>
|
|
<execution>
|
|
<id>default-prepare-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>default-report</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>default-check</id>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<excludes/>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|