<?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>io.neba</groupId>
	<artifactId>io.neba.neba-parent</artifactId>
	<version>5.2.2</version>
	<name>NEBA parent POM</name>
	<packaging>pom</packaging>
	
	<description>
		NEBA - simple and high performance content to object mapping for Apache Sling.
	</description>
	
	<url>https://neba.io</url>

	<modules>
		<module>api</module>
		<module>core</module>
		<module>spring</module>
		<module>delivery-aem</module>
		<module>delivery-sling</module>
	</modules>

	<licenses>
		<license>
			<name>The Apache Software License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<id>olaf-otto</id>
			<name>Olaf Otto</name>
			<email>olaf.otto@unic.com</email>
			<organization>Unic AG</organization>
			<organizationUrl>http://www.unic.com</organizationUrl>
		</developer>
		<developer>
			<id>DaniRey</id>
			<name>Daniel Rey</name>
			<email>daniel.rey@unic.com</email>
			<organization>Unic AG</organization>
			<organizationUrl>http://www.unic.com</organizationUrl>
		</developer>
		<developer>
			<id>olimination</id>
			<name>Oliver Burkhalter</name>
			<email>oliver.burkhalter@unic.com</email>
			<organization>Unic AG</organization>
			<organizationUrl>http://www.unic.com</organizationUrl>
		</developer>
	</developers>

	<properties>
		<spring.version>5.3.21_1</spring.version>
		<gemini.version>3.0.0.M01</gemini.version>
		<aopalliance.version>1.0_6</aopalliance.version>
		<language.level>1.8</language.level>
		<sling.url>http://localhost:4502/system/console</sling.url>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<jackson.importVersionRange>[2.10,3)</jackson.importVersionRange>
	</properties>

	<scm>
		<url>https://github.com/unic/neba</url>
		<connection>scm:git:git://github.com/unic/neba.git</connection>
		<developerConnection>scm:git:git@github.com:unic/unic.git</developerConnection>
	</scm>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<profiles>
		<profile>
			<!-- from http://repo1.maven.org/maven2/org/sonatype/oss/oss-parent/7/oss-parent-7.pom -->
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<artifactId>maven-gpg-plugin</artifactId>
					</plugin>
					<plugin>
						<artifactId>maven-javadoc-plugin</artifactId>
					</plugin>
					<plugin>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>javax.jcr</groupId>
				<artifactId>jcr</artifactId>
				<version>2.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>3.1.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>2.0</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-beans</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-context</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-webmvc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-web</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-aop</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-context-support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-core</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-expression</artifactId>
				<version>${spring.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>3.2.1</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>3.2.2</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.7</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>commons-logging</groupId>
				<artifactId>commons-logging</artifactId>
				<version>1.1.1</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>1.3.3</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.6</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>1.7.6</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.compendium</artifactId>
				<version>4.2.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.core</artifactId>
				<version>6.0.0</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.aopalliance</artifactId>
				<version>${aopalliance.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.sling</groupId>
				<artifactId>org.apache.sling.scripting.core</artifactId>
				<version>2.0.8</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.sling</groupId>
				<artifactId>org.apache.sling.scripting.jsp</artifactId>
				<version>2.1.4</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.sling</groupId>
				<artifactId>org.apache.sling.scripting.api</artifactId>
				<version>2.1.6</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.sling</groupId>
				<artifactId>org.apache.sling.api</artifactId>
				<version>2.9.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.sling</groupId>
				<artifactId>org.apache.sling.bgservlets</artifactId>
				<version>1.0.0</version>
				<scope>provided</scope>
				<exclusions>
					<exclusion>
						<artifactId>org.apache.sling.commons.json</artifactId>
						<groupId>org.apache.sling</groupId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>org.eclipse.gemini.blueprint</groupId>
				<artifactId>gemini-blueprint-extender</artifactId>
				<version>${gemini.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.gemini.blueprint</groupId>
				<artifactId>gemini-blueprint-extensions</artifactId>
				<version>${gemini.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.gemini.blueprint</groupId>
				<artifactId>gemini-blueprint-core</artifactId>
				<version>${gemini.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.eclipse.gemini.blueprint</groupId>
						<artifactId>gemini-blueprint</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>spring-aop</artifactId>
						<groupId>org.apache.servicemix.bundles</groupId>
					</exclusion>
					<exclusion>
						<artifactId>spring-beans</artifactId>
						<groupId>org.apache.servicemix.bundles</groupId>
					</exclusion>
					<exclusion>
						<artifactId>spring-context</artifactId>
						<groupId>org.apache.servicemix.bundles</groupId>
					</exclusion>
					<exclusion>
						<artifactId>spring-core</artifactId>
						<groupId>org.apache.servicemix.bundles</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.eclipse.gemini.blueprint</groupId>
				<artifactId>gemini-blueprint-io</artifactId>
				<version>${gemini.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.felix</groupId>
				<artifactId>org.apache.felix.webconsole</artifactId>
				<version>4.2.2</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.component.annotations</artifactId>
				<version>1.3.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.annotation</artifactId>
				<version>6.0.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.osgi</groupId>
				<artifactId>org.osgi.service.metatype.annotations</artifactId>
				<version>1.3.0</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.felix</groupId>
				<artifactId>org.apache.felix.http.jetty</artifactId>
				<version>3.4.2</version>
			</dependency>

			<dependency>
				<groupId>com.google.code.tld-generator</groupId>
				<artifactId>tld-generator</artifactId>
				<version>1.1</version>
				<scope>provided</scope>
				<optional>true</optional>
				<exclusions>
					<exclusion>
						<artifactId>javax.servlet-api</artifactId>
						<groupId>javax.servlet</groupId>
					</exclusion>
					<exclusion>
						<artifactId>javax.servlet.jsp-api</artifactId>
						<groupId>javax.servlet.jsp</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>jsr305</artifactId>
				<version>3.0.2</version>
			</dependency>
			<dependency>
				<groupId>net.bytebuddy</groupId>
				<artifactId>byte-buddy</artifactId>
				<version>1.10.4</version>
			</dependency>

			<dependency>
				<groupId>org.apache.geronimo.specs</groupId>
				<artifactId>geronimo-atinject_1.0_spec</artifactId>
				<version>1.0</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>2.10.5.1</version>
				<scope>provided</scope>
			</dependency>

			<!-- Test dependencies -->
			<dependency>
				<groupId>org.apache.servicemix.bundles</groupId>
				<artifactId>org.apache.servicemix.bundles.spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.1</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-core</artifactId>
				<version>3.1.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>3.14.0</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>3.3.0</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.sling</groupId>
					<artifactId>sling-maven-plugin</artifactId>
					<version>2.4.2</version>
					<configuration>
						<slingUrl>${sling.url}</slingUrl>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.jackrabbit</groupId>
					<artifactId>filevault-package-maven-plugin</artifactId>
					<version>1.1.4</version>
				</plugin>
				<plugin>
					<groupId>org.apache.felix</groupId>
					<artifactId>maven-bundle-plugin</artifactId>
					<version>5.1.1</version>
					<extensions>true</extensions>
				</plugin>
				<plugin>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>3.1.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.8.1</version>
					<configuration>
						<source>${language.level}</source>
						<target>${language.level}</target>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.1.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-project-info-reports-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<version>2.5.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.8.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.2.1</version>
					<executions>
						<execution>
							<id>attach-sources</id>
							<phase>package</phase>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>external.atlassian.jgitflow</groupId>
					<artifactId>jgitflow-maven-plugin</artifactId>
					<version>1.0-m5.1</version>
					<configuration>
						<flowInitContext>
							<masterBranchName>main</masterBranchName>
						</flowInitContext>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.22.1</version>
					<configuration>
						<parallel>classes</parallel>
						<threadCount>8</threadCount>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.2.0</version>
					<executions>
						<execution>
							<id>attach-javadocs</id>
							<goals>
								<goal>jar</goal>
							</goals>
							<configuration>
								<quiet>true</quiet>
								<additionalOptions>-Xdoclint:none</additionalOptions>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>1.4.1</version>
					<executions>
						<execution>
							<id>enforce-versions</id>
							<phase>initialize</phase>
							<goals>
								<goal>enforce</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<rules>
							<requireMavenVersion>
								<version>[3.3.0,)</version>
							</requireMavenVersion>
							<requireJavaVersion>
								<version>${language.level}</version>
							</requireJavaVersion>
						</rules>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>1.6</version>
					<executions>
						<execution>
							<id>sign-artifacts</id>
							<configuration>
								<keyname>18E90DD9D9D315A7927F58F8333A3360EBA50244</keyname>
							</configuration>
							<phase>verify</phase>
							<goals>
								<goal>sign</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.eluder.coveralls</groupId>
					<artifactId>coveralls-maven-plugin</artifactId>
					<version>4.3.0</version>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.8.5</version>
					<executions>
						<execution>
							<id>prepare-agent</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>3.0.0</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.sling</groupId>
				<artifactId>sling-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>
