<?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>servlet-scopes</artifactId>
	<version>7.1-javax</version><!--jakarta-->

	<name>Servlet and Websocket Guice Scopes</name>
	<description>Servlet and websocket Guice scopes, that are automatically transferred when dispatching work to other threads</description>
	<url>https://github.com/morgwai/servlet-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/servlet-scopes.git</url>
		<connection>scm:git:https://github.com/morgwai/servlet-scopes.git</connection>
		<developerConnection>scm:git:ssh://git@github.com/morgwai/servlet-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>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<guice.scopes.version>5.2</guice.scopes.version>
		<utils.version>1.9</utils.version>
		<servlet.utils.version>1.3</servlet.utils.version>
		<guice.version>5.0.1</guice.version>
	</properties>

	<dependencies>
		<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>net.bytebuddy</groupId>
			<artifactId>byte-buddy</artifactId>
			<version>[1.12.2,)</version>
			<optional>true</optional>
		</dependency>

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

	<profiles>
		<profile>
			<id>javax</id>
			<activation>
				<activeByDefault>true</activeByDefault><!--jakarta:<activeByDefault>false</activeByDefault>-->
			</activation>
			<dependencies>
				<dependency>
					<groupId>pl.morgwai.base</groupId>
					<artifactId>servlet-utils</artifactId>
					<version>${servlet.utils.version}-javax</version>
				</dependency>
				<dependency>
					<groupId>com.google.inject</groupId>
					<artifactId>guice</artifactId>
					<version>${guice.version}</version>
					<optional>true</optional>
				</dependency>
				<dependency>
					<groupId>javax.servlet</groupId>
					<artifactId>javax.servlet-api</artifactId>
					<version>4.0.1</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>javax.websocket</groupId>
					<artifactId>javax.websocket-api</artifactId>
					<version>1.1</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>jetty-servlet</artifactId>
					<version>[10.0.7,10.999.0]</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.eclipse.jetty.websocket</groupId>
					<artifactId>websocket-javax-server</artifactId>
					<version>[10.0.7,10.999.0]</version>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>
		<profile>
			<id>jakarta</id>
			<activation>
				<activeByDefault>false</activeByDefault><!--jakarta:<activeByDefault>true</activeByDefault>-->
			</activation>
			<dependencies>
				<dependency>
					<groupId>pl.morgwai.base</groupId>
					<artifactId>servlet-utils</artifactId>
					<version>${servlet.utils.version}-jakarta</version>
				</dependency>
				<dependency>
					<groupId>com.guicedee.services</groupId>
					<artifactId>guice</artifactId>
					<version>1.1.1.7</version>
					<optional>true</optional>
				</dependency>
				<dependency>
					<groupId>jakarta.servlet</groupId>
					<artifactId>jakarta.servlet-api</artifactId>
					<version>5.0.0</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>jakarta.websocket</groupId>
					<artifactId>jakarta.websocket-api</artifactId>
					<version>2.0.0</version>
					<scope>provided</scope>
				</dependency>
				<dependency>
					<groupId>org.eclipse.jetty</groupId>
					<artifactId>jetty-servlet</artifactId>
					<version>[11.0.7,11.999.0]</version>
					<scope>test</scope>
				</dependency>
				<dependency>
					<groupId>org.eclipse.jetty.websocket</groupId>
					<artifactId>websocket-jakarta-server</artifactId>
					<version>[11.0.7,11.999.0]</version>
					<scope>test</scope>
				</dependency>
			</dependencies>
		</profile>
	</profiles>

	<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-shade-plugin</artifactId>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
						<configuration>
							<artifactSet>
								<includes>
									<include>net.bytebuddy:byte-buddy</include>
								</includes>
							</artifactSet>
							<relocations>
								<relocation>
									<pattern>net.bytebuddy</pattern>
									<shadedPattern>pl.morgwai.base.servlet.scopes.net.bytebuddy</shadedPattern>
								</relocation>
							</relocations>
							<shadedArtifactAttached>true</shadedArtifactAttached>
							<shadedClassifierName>shadedbytebuddy</shadedClassifierName>
							<minimizeJar>true</minimizeJar>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<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>
					<overview>${basedir}/src/main/java/overview.html</overview>
					<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://javadoc.io/doc/pl.morgwai.base/servlet-utils/${servlet.utils.version}-javax</link><!--jakarta-->
						<link>https://google.github.io/guice/api-docs/${guice.version}/javadoc</link>
						<link>https://javadoc.io/doc/javax.websocket/javax.websocket-api/1.1</link>
						<link>https://javadoc.io/doc/jakarta.websocket/jakarta.websocket-api/2.0.0</link>
						<link>https://javadoc.io/doc/javax.servlet/javax.servlet-api/4.0.1</link>
						<link>https://javadoc.io/doc/jakarta.servlet/jakarta.servlet-api/5.0.0</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://javadoc.io/doc/pl.morgwai.base/servlet-utils/${servlet.utils.version}-javax</url><!--jakarta-->
							<location>${settings.localRepository}/pl/morgwai/base/servlet-utils/${servlet.utils.version}-javax</location><!--jakarta-->
						</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/javax.websocket/javax.websocket-api/1.1</url>
							<location>${settings.localRepository}/javax/websocket/javax.websocket-api/1.1</location>
						</offlineLink>
						<offlineLink>
							<url>https://javadoc.io/doc/javax.servlet/javax.servlet-api/4.0.1</url>
							<location>${settings.localRepository}/javax/servlet/javax.servlet-api/4.0.1</location>
						</offlineLink>
						<offlineLink>
							<url>https://javadoc.io/doc/jakarta.websocket/jakarta.websocket-api/2.0.0</url>
							<location>${settings.localRepository}/jakarta/websocket/jakarta.websocket-api/2.0.0</location>
						</offlineLink>
						<offlineLink>
							<url>https://javadoc.io/doc/jakarta.servlet/jakarta.servlet-api/5.0.0</url>
							<location>${settings.localRepository}/jakarta/servlet/jakarta.servlet-api/5.0.0</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>
		</plugins>
	</build>
</project>
