<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>io.github.pieter12345</groupId>
	<artifactId>MSSerialConnection</artifactId>
	<version>1.0.2-SNAPSHOT</version>
	<name>MSSerialConnection</name>
	<description>Provides serial connection API for the MethodScript programming language</description>
	<developers>
		<developer>
			<id>Pieter12345</id>
			<name>P.J.S. Kools</name>
			<url>http://pieter12345.github.io</url>
			<roles>
				<role>project manager</role>
				<role>developer</role>
				<role>tester</role>
			</roles>
			<timezone>GMT+1</timezone>
		</developer>
	</developers>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<build>
		<plugins>
			
			<!-- Compile plugin (required for compilation) -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.10.1</version>
				<configuration>
					<showDeprecation>true</showDeprecation>
					<release>16</release>
				</configuration>
			</plugin>
			
			<!-- Jar creation plugin (creates a jar without dependencies) -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.2.2</version>
				<configuration>
					<archive>
						<addMavenDescriptor>false</addMavenDescriptor>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							<!--<mainClass>io.github.pieter12345.msserialconnection.MSSerialConnection</mainClass>-->
						</manifest>
						<manifestEntries>
							<Built-By>Anonymous</Built-By>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
			
			<!-- Shade plugin (include libraries in jar) -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.2.4</version>
				<executions>
					<execution>
						<id>ShadedBundle</id>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<createDependencyReducedPom>false</createDependencyReducedPom>
							<shadedArtifactAttached>false</shadedArtifactAttached>
							<shadedClassifierName>Bundle</shadedClassifierName>
							<minimizeJar>false</minimizeJar>
							<artifactSet>
								<includes>
									<include>io.github.java-native:jssc:jar:*</include>
									<include>org.scijava:native-lib-loader:jar:*</include>
									<include>org.slf4j:slf4j-api:jar:*</include>
									<include>org.slf4j:slf4j-nop:jar:*</include>
								</includes>
							</artifactSet>
						</configuration>
					</execution>
				</executions>
			</plugin>
			
			<!-- Checkstyle plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>3.1.2</version>
				<executions>
					<execution>
						<id>checkstyle</id>
						<phase>test</phase>
						<configuration>
							<sourceDirectories>${project.compileSourceRoots}</sourceDirectories>
							<testSourceDirectories>${project.testCompileSourceRoots}</testSourceDirectories>
							<includeTestSourceDirectory>true</includeTestSourceDirectory>
							<configLocation>${basedir}/checkstyle.xml</configLocation>
							<propertyExpansion>config_loc=${basedir}</propertyExpansion>
							<encoding>UTF-8</encoding>
							<consoleOutput>true</consoleOutput>
							<failsOnError>true</failsOnError>
							<linkXRef>false</linkXRef>
						</configuration>
						<goals>
							<goal>check</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>com.puppycrawl.tools</groupId>
						<artifactId>checkstyle</artifactId>
						<version>8.29</version>
					</dependency>
				</dependencies>
			</plugin>
			
		</plugins>
	</build>
	<licenses>
		<license>
			<name>GNU General Public License v3.0</name>
		</license>
	</licenses>
	<dependencies>
		
		<!-- CommandHelper -->
		<dependency>
			<groupId>com.sk89q</groupId>
			<artifactId>commandhelper</artifactId>
			<version>3.3.5-SNAPSHOT</version>
			<classifier>full</classifier>
			<type>jar</type>
		</dependency>
		
		<!-- Java Simple Serial Connection library -->
		<dependency>
			<groupId>io.github.java-native</groupId>
			<artifactId>jssc</artifactId>
			<version>2.9.4</version>
		</dependency>
		
		<!-- Required to hide a runtime console warning about a missing logger implementation in JSSC -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-nop</artifactId>
			<version>2.0.6</version>
		</dependency>
		
	</dependencies>
	<repositories>
		
		<!-- CommandHelper repository -->
		<repository>
			<id>enginehub-maven</id>
			<url>https://maven.enginehub.org/repo</url>
		</repository>
		
	</repositories>
</project>