<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>{{groupId}}</groupId>
	<artifactId>{{artifactId}}</artifactId>
	<packaging>jar</packaging>
	<name>{{artifactId}}</name>
	<version>{{version}}</version>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>{{lookup maven.versions 'java' '1.8'}}</java.version>
		<swagger.version>{{lookup maven.versions 'swagger' '2.1.10'}}</swagger.version>
		{{#if useJakarta}}
		<jakarta.ws.version>{{lookup maven.versions 'jakarta_ws' '3.1.0'}}</jakarta.ws.version>
		{{/if}}
		<jaxrs.version>{{lookup maven.versions 'jaxrs' '2.1.1'}}</jaxrs.version>
		<jackson.version>{{lookup maven.versions 'jackson' '2.14.2'}}</jackson.version>
		{{#if useJakarta}}
		<jakarta.annotation.version>{{lookup maven.versions 'jakarta_annotation' '2.1.0'}}</jakarta.annotation.version>
		<jakarta.xml.bind.version>{{lookup maven.versions 'jakarta_xml_bind' '3.0.1'}}</jakarta.xml.bind.version>
		{{/if}}
		{{#if useBeanValidation}}
		{{#if useJakarta}}
		<jakarta.validation.version>{{lookup maven.versions 'jakarta_validation' '3.0.1'}}</jakarta.validation.version> 
		{{else}}
		<javax.validation.version>{{lookup maven.versions 'javax_validation' '2.0.0.Final'}}</javax.validation.version>
		{{/if}}
		{{/if}}
		{{#if useLombok}}
		<lombok.version>{{lookup maven.versions 'lombok' '1.18.34'}}</lombok.version>
		{{/if}}
		{{>hooks/pomProperties}}
	</properties>

	<dependencies>
		{{#if useJakarta}}
		<dependency>
			<groupId>jakarta.annotation</groupId>
			<artifactId>jakarta.annotation-api</artifactId>
			<version>${jakarta.annotation.version}</version>
		</dependency>
		<dependency>
			<groupId>jakarta.xml.bind</groupId>
			<artifactId>jakarta.xml.bind-api</artifactId>
			<version>${jakarta.xml.bind.version}</version>
		</dependency>
		{{/if}}
		{{#if useJakarta}}
		<dependency>
			<groupId>jakarta.ws.rs</groupId>
			<artifactId>jakarta.ws.rs-api</artifactId>
			<version>${jakarta.ws.version}</version>
		</dependency>
		{{/if}}
		<!-- Include javax.ws.rs-api as CXF requires it -->
		<dependency>
			<groupId>javax.ws.rs</groupId>
			<artifactId>javax.ws.rs-api</artifactId>
			<version>${jaxrs.version}</version>
		</dependency>

		{{#if useJakarta}}
		<dependency>
			<groupId>com.fasterxml.jackson.jakarta.rs</groupId>
			<artifactId>jackson-jakarta-rs-json-provider</artifactId>
		</dependency>
		{{else}}
		<dependency>
			<groupId>com.fasterxml.jackson.jaxrs</groupId>
			<artifactId>jackson-jaxrs-json-provider</artifactId>
		</dependency>
		{{/if}}
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-jsr310</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-jdk8</artifactId>
		</dependency>
		{{#if useBeanValidation}}

		{{#if useJakarta}}
		<dependency>
			<groupId>jakarta.validation</groupId>
			<artifactId>jakarta.validation-api</artifactId>
			<version>${jakarta.validation.version}</version>
		</dependency>
		{{else}}
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>${javax.validation.version}</version>
		</dependency>
		{{/if}}
		{{/if}}
		
		<dependency>
			<groupId>io.swagger.core.v3</groupId>
			<artifactId>swagger-annotations</artifactId>
			<version>${swagger.version}</version>
		</dependency>
		{{#if useLombok}}

		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>${lombok.version}</version>
			<scope>provided</scope>
		</dependency>
		{{/if}}
		{{>hooks/pomDependencies}}
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.fasterxml.jackson</groupId>
				<artifactId>jackson-bom</artifactId>
				<version>${jackson.version}</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>
			{{>hooks/pomDependencyManagement}}
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>{{lookup maven.versions 'maven-compiler-plugin' '3.8.1'}}</version>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>
		</plugins>
		{{>hooks/pomBuild}}
	</build>

</project>
