<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) Piotr Morgwai Kotarbinski, Licensed under the Apache License, Version 2.0 -->
<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>pl.morgwai.base</groupId>
	<artifactId>grpc-scopes</artifactId>
	<version>9.2</version>

	<name>gRPC Guice Scopes</name>
	<description>RPC and Listener event Guice Scopes for gRPC server</description>
	<url>https://github.com/morgwai/grpc-scopes</url>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<scm>
		<url>https://github.com/morgwai/grpc-scopes.git</url>
		<connection>scm:git:https://github.com/morgwai/grpc-scopes.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/morgwai/grpc-scopes.git</developerConnection>
	</scm>
	<developers>
		<developer>
			<id>morgwai</id>
			<name>Piotr Morgwai Kotarbinski</name>
			<email>foss@morgwai.pl</email>
			<url>http://morgwai.pl/</url>
		</developer>
	</developers>

	<properties>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>
		<maven.compiler.release>11</maven.compiler.release>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<guice.scopes.version>6.3</guice.scopes.version>
		<utils.version>1.13</utils.version>
		<guice.version>5.1.0</guice.version>
		<grpc.version>1.48.1</grpc.version>
		<protobuf.version>3.19.2</protobuf.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-api</artifactId>
			<version>${grpc.version}</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-stub</artifactId>
			<version>${grpc.version}</version>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>pl.morgwai.base</groupId>
			<artifactId>guice-context-scopes</artifactId>
			<version>${guice.scopes.version}</version>
		</dependency>
		<dependency>
			<groupId>pl.morgwai.base</groupId>
			<artifactId>java-utils</artifactId>
			<version>${utils.version}</version>
		</dependency>
		<dependency>
			<groupId>com.google.inject</groupId>
			<artifactId>guice</artifactId>
			<version>${guice.version}</version>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>[4.13.2,4.999.0]</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.easymock</groupId>
			<artifactId>easymock</artifactId>
			<version>4.3</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-protobuf</artifactId>
			<version>${grpc.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>annotations-api</artifactId>
			<version>6.0.53</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>io.grpc</groupId>
			<artifactId>grpc-netty-shaded</artifactId>
			<version>${grpc.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>pl.morgwai.base</groupId>
			<artifactId>grpc-utils</artifactId>
			<version>4.0</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>[1.7.32,)</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-jdk14</artifactId>
			<version>[1.7.32,)</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-sources</id>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<configuration>
					<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
					<links>
						<link>https://javadoc.io/doc/pl.morgwai.base/guice-context-scopes/${guice.scopes.version}</link>
						<link>https://javadoc.io/doc/pl.morgwai.base/java-utils/${utils.version}</link>
						<link>https://google.github.io/guice/api-docs/${guice.version}/javadoc</link>
						<link>https://javadoc.io/doc/io.grpc/grpc-all/${grpc.version}</link>
					</links>
					<offlineLinks>
						<!-- to setup offline javadoc generation run ./setup-offline-javadocs.sh -->
						<offlineLink>
							<url>https://javadoc.io/doc/pl.morgwai.base/guice-context-scopes/${guice.scopes.version}</url>
							<location>${settings.localRepository}/pl/morgwai/base/guice-context-scopes/${guice.scopes.version}</location>
						</offlineLink>
						<offlineLink>
							<url>https://javadoc.io/doc/pl.morgwai.base/java-utils/${utils.version}</url>
							<location>${settings.localRepository}/pl/morgwai/base/java-utils/${utils.version}</location>
						</offlineLink>
						<offlineLink>
							<url>https://google.github.io/guice/api-docs/${guice.version}/javadoc</url>
							<location>${settings.localRepository}/com/google/inject/guice/${guice.version}</location>
						</offlineLink>
						<offlineLink>
							<url>https://javadoc.io/doc/io.grpc/grpc-all/${grpc.version}</url>
							<location>${settings.localRepository}/io/grpc/grpc-all</location>
						</offlineLink>
					</offlineLinks>
				</configuration>
				<executions>
					<execution>
						<id>attach-javadocs</id>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-gpg-plugin</artifactId>
				<executions>
					<execution>
						<id>sign-artifacts</id>
						<phase>verify</phase>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>kr.motd.maven</groupId>
				<artifactId>os-maven-plugin</artifactId>
				<executions>
					<execution>
						<phase>initialize</phase>
						<goals>
							<goal>detect</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.xolstice.maven.plugins</groupId>
				<artifactId>protobuf-maven-plugin</artifactId>
				<configuration>
					<protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
					<pluginId>grpc-java</pluginId>
					<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>test-compile</goal>
							<goal>test-compile-custom</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireUpperBoundDeps />
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.8.8</version>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
