Source

vertx-websocket-chat / pom.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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.hascode.tutorial</groupId>
	<artifactId>vertx-websocket-chat</artifactId>
	<packaging>jar</packaging>
	<version>1.0.0</version>
	<name>Vert.x Websocket Chat</name>

	<parent>
		<groupId>org.sonatype.oss</groupId>
		<artifactId>oss-parent</artifactId>
		<version>7</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- Set pullInDeps to true if you want any modules specified in the 'includes' 
			and 'deploys' fields in your mod.json to be automatically pulled in during 
			packaging and added inside your module. Doing this means your module won't 
			download and install those dependencies at run-time when they're first requested. -->
		<vertx.pullInDeps>false</vertx.pullInDeps>

		<!--Vertx module name -->
		<module.name>${project.groupId}~${project.artifactId}~${project.version}</module.name>

		<!--Dependency versions -->
		<vertx.version>2.0.0-final</vertx.version>
		<vertx.testtools.version>2.0.0-final</vertx.testtools.version>
		<junit.version>4.11</junit.version>

		<!--Plugin versions -->
		<maven.compiler.plugin.version>3.0</maven.compiler.plugin.version>
		<maven.resources.plugin.version>2.6</maven.resources.plugin.version>
		<maven.clean.plugin.version>2.5</maven.clean.plugin.version>
		<maven.vertx.plugin.version>2.0.0-final</maven.vertx.plugin.version>
		<maven.surefire.plugin.version>2.14</maven.surefire.plugin.version>
		<maven.failsafe.plugin.version>2.14</maven.failsafe.plugin.version>
		<maven.surefire.report.plugin.version>2.14</maven.surefire.report.plugin.version>
		<maven.javadoc.plugin.version>2.9</maven.javadoc.plugin.version>
		<maven.dependency.plugin.version>2.7</maven.dependency.plugin.version>
	</properties>

	<repositories>
		<repository>
			<id>sonatype-nexus-snapshots</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</repository>
	</repositories>

	<dependencies>
		<!--Vertx provided dependencies -->
		<dependency>
			<groupId>io.vertx</groupId>
			<artifactId>vertx-core</artifactId>
			<version>${vertx.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>io.vertx</groupId>
			<artifactId>vertx-platform</artifactId>
			<version>${vertx.version}</version>
			<scope>provided</scope>
		</dependency>
		<!--Test dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>io.vertx</groupId>
			<artifactId>testtools</artifactId>
			<version>${vertx.testtools.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>

			<!-- The vert.x Maven plugin -->
			<plugin>
				<groupId>io.vertx</groupId>
				<artifactId>vertx-maven-plugin</artifactId>
				<version>${maven.vertx.plugin.version}</version>
				<!-- You can specify extra config to the plugin as required here <configuration> 
					<configFile>/path/to/MyVerticle.conf</configFile> <instances>1</instances> 
					<classpath>src/main/resources/:src/test/resources/:target/classes/:target/test-classes/</classpath> 
					</configuration> -->
				<executions>
					<execution>
						<id>PullInDeps</id>
						<phase>prepare-package</phase>
						<goals>
							<goal>pullInDeps</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<!-- Other plugins required by the build -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.plugin.version}</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>${maven.resources.plugin.version}</version>
				<executions>
					<execution>
						<id>copy-mod-to-target</id>
						<phase>process-classes</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<overwrite>true</overwrite>
							<outputDirectory>target/mods/${module.name}</outputDirectory>
							<resources>
								<resource>
									<directory>target/classes</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>${maven.dependency.plugin.version}</version>
				<executions>
					<execution>
						<id>copy-mod-dependencies-to-target</id>
						<phase>process-classes</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>target/mods/${module.name}/lib</outputDirectory>
							<includeScope>runtime</includeScope>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>${maven.surefire.plugin.version}</version>
				<configuration>
					<includes>
						<include>**/unit/*Test*.java</include>
					</includes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-failsafe-plugin</artifactId>
				<version>${maven.failsafe.plugin.version}</version>
				<configuration>
					<systemProperties>
						<property>
							<name>vertx.mods</name>
							<value>target/mods</value>
						</property>
					</systemProperties>
					<includes>
						<include>**/integration/**</include>
					</includes>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>integration-test</goal>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>${maven.surefire.report.plugin.version}</version>
				<executions>
					<execution>
						<id>generate-test-report</id>
						<phase>test</phase>
						<goals>
							<goal>report-only</goal>
						</goals>
					</execution>
					<execution>
						<id>generate-integration-test-report</id>
						<phase>integration-test</phase>
						<goals>
							<goal>failsafe-report-only</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptors>
						<descriptor>src/main/assembly/mod.xml</descriptor>
					</descriptors>
				</configuration>
				<executions>
					<execution>
						<id>assemble</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings 
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-dependency-plugin
										</artifactId>
										<versionRange>[2.7,)</versionRange>
										<goals>
											<goal>copy-dependencies</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-report-plugin</artifactId>
				<version>${maven.surefire.report.plugin.version}</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>${maven.javadoc.plugin.version}</version>
				<configuration>
					<aggregate>true</aggregate>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
</project>