Files
2016-01-01 00:24:51 +01:00

276 lines
9.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
Core Utils - Fiber-enabled clients.
Copyright 2015-2016 GRyCAP (Universitat Politecnica de Valencia)
Licensed 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.
This product combines work with different licenses. See the "NOTICE" text
file for details on the various modules and licenses.
The "NOTICE" text file is part of the distribution. Any derivative works
that you distribute must include a readable copy of the "NOTICE" text file.
-->
<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>
<parent>
<groupId>es.upv.grycap.coreutils</groupId>
<artifactId>coreutils</artifactId>
<version>0.2.0</version>
</parent>
<artifactId>coreutils-fiber</artifactId>
<name>Common clients integrated with green threads (fibers)</name>
<description>Provides commonly-used HTTP, REST and other clients, integrated with with green threads (fibers) to minimize the performance impact in virtual environments</description>
<url>https://github.com/grycap/coreutils</url>
<dependencies>
<!-- GRyCAP common utilities -->
<dependency>
<groupId>es.upv.grycap.coreutils</groupId>
<artifactId>coreutils-logging</artifactId>
<version>${es.upv.grycap.coreutils.version}</version>
</dependency>
<dependency>
<groupId>es.upv.grycap.coreutils</groupId>
<artifactId>coreutils-test</artifactId>
<version>${es.upv.grycap.coreutils.version}</version>
<scope>test</scope>
</dependency>
<!-- Integrates with Quasar fibers via the Comsat APIs -->
<dependency>
<groupId>co.paralleluniverse</groupId>
<artifactId>quasar-core</artifactId>
<classifier>jdk8</classifier>
</dependency>
<dependency>
<groupId>co.paralleluniverse</groupId>
<artifactId>comsat-httpclient</artifactId>
</dependency>
<dependency>
<groupId>co.paralleluniverse</groupId>
<artifactId>comsat-okhttp</artifactId>
</dependency>
<!-- A toolkit for testing multi-threaded code -->
<dependency>
<groupId>net.jodah</groupId>
<artifactId>concurrentunit</artifactId>
<scope>test</scope>
</dependency>
<!-- MockServer -->
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-integration-testing</artifactId>
<scope>test</scope>
<exclusions>
<exclusion> <!-- Prevent SLF4J from complaining about multiple appenders -->
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<profiles>
<profile>
<id>silent</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>verbose</id>
<activation>
<property>
<name>grycap.tests.print.out</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<!-- Maven Surefire Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<logback.configurationFile>${project.build.testOutputDirectory}/logback-test-tmpfile.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
<!-- Maven Failsafe Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<logback.configurationFile>${project.build.testOutputDirectory}/logback-test-tmpfile.xml</logback.configurationFile>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<!-- Prevent Eclipse from executing unnecessary plugins during development -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>${m2e.lifecycle-mapping.version}</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<versionRange>[${maven-antrun-plugin.version},)</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[${maven-dependency-plugin.version},)</versionRange>
<goals>
<goal>properties</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-maven-plugin</artifactId>
<versionRange>[${mockserver-maven-plugin.version},)</versionRange>
<goals>
<goal>start</goal>
<goal>stop</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Compile-time (AoT) instrumentation -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${maven-antrun-plugin.version}</version>
<executions>
<execution>
<id>instrument-classes</id>
<phase>compile</phase>
<configuration>
<target>
<echo message="Using Ahead-of-Time (AoT) to instrument Quasar fibers in compile-time"/>
<property name="ant_classpath" refid="maven.dependency.classpath"/>
<taskdef name="instrumentationTask" classname="co.paralleluniverse.fibers.instrument.InstrumentationTask" classpath="${ant_classpath}"/>
<!-- Use "allowMonitors" to allow instrumenting methods containing synchronization -->
<instrumentationTask allowMonitors="true">
<fileset dir="${project.build.directory}/classes/" includes="**/*.class"/>
</instrumentationTask>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>instrument-test-classes</id>
<phase>test-compile</phase>
<configuration>
<target>
<echo message="Using Ahead-of-Time (AoT) to instrument Quasar fibers in compile-time (tests)"/>
<property name="ant_classpath" refid="maven.dependency.classpath"/>
<taskdef name="instrumentationTask" classname="co.paralleluniverse.fibers.instrument.InstrumentationTask" classpath="${ant_classpath}"/>
<!-- Use "allowMonitors" to allow instrumenting methods containing synchronization -->
<instrumentationTask allowMonitors="true">
<fileset dir="${project.build.directory}/test-classes/" includes="**/*.class"/>
</instrumentationTask>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Collect classpath entries as properties in the form groupId:artifactId:type:[classifier] -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>getClasspathFilenames</id>
<goals>
<goal>properties</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- MockServer Plugin -->
<plugin>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-maven-plugin</artifactId>
<configuration>
<initializationClass>es.upv.grycap.coreutils.fiber.test.mockserver.FiberExpectationInitializer</initializationClass>
</configuration>
</plugin>
<!-- Maven Surefire Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dco.paralleluniverse.fibers.verifyInstrumentation=true</argLine>
<argLine>-Dco.paralleluniverse.fibers.disableAgentWarning</argLine>
</configuration>
</plugin>
<!-- Maven Failsafe Plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<enableAssertions>false</enableAssertions>
<argLine>-Dco.paralleluniverse.fibers.verifyInstrumentation=true</argLine>
<argLine>-Dco.paralleluniverse.fibers.disableAgentWarning</argLine>
</configuration>
</plugin>
</plugins>
</build>
</project>