<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.eclipse.basyx</groupId>
	<artifactId>basyx.components</artifactId>
	<version>1.0.1</version>
	<name>BaSyx Components</name>

	<packaging>pom</packaging>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>
	
	<!-- Includes all components in this project as separated modules -->
	<modules>
		<module>basyx.components.lib</module>
		<module>basyx.components.docker</module>
	</modules>
	
	<build>
		<!-- Specifies plugin settings that are common for all submodules -->
		<pluginManagement>
			<plugins>
				<!-- Compile Java sources using Java 8 -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.8.1</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
	
				<!-- Attach sources to jar file -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.2.1</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				
				<!-- Generate separate jar for tests and exclude logback.xml from generated jars -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.1.1</version>
					<configuration>
						<excludes>
							<exclude>**/logback.xml</exclude>
						</excludes>
					</configuration>
					<executions>
						<execution>
							<goals>
								<goal>test-jar</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
		
				<!-- Run unit tests (Test*.java, *Test.java, *Tests.java and *TestCase.java excluding HTTP and TCP tests) -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.0.0-M3</version>
					<configuration>
						<excludes>
							<exclude>**/*HTTP*</exclude>
							<exclude>**/*TCP*</exclude>
							<!-- Exclude explicit MongoDB tests for CI -->
							<exclude>**/*MongoDB*</exclude>
						</excludes>
					</configuration>
				</plugin>
	
				<!-- Run integration tests (IT*.java, *IT.java and *ITCase.java) -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>3.0.0-M3</version>
					<executions>
						<execution>
							<goals>
								<goal>integration-test</goal>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	
	<!-- Every submodule depends on these dependencies -->
	<dependencies>
		<!-- JUnit 4 for running JUnit tests -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	
	<!-- Specifies dependency settings for all submodules using these dependencies -->
	<dependencyManagement>
		<dependencies>
			<!-- BaSyx SDK -->
			<dependency>
				<groupId>org.eclipse.basyx</groupId>
				<artifactId>basyx.sdk</artifactId>
				<version>1.0.1</version>
			</dependency>
		
			<!-- BaSyx SDK tests -->
			<dependency>
				<groupId>org.eclipse.basyx</groupId>
				<artifactId>basyx.sdk</artifactId>
				<version>1.0.1</version>
				<classifier>tests</classifier>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>