<?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/xsd/maven-4.0.0.xsd">
	<parent>
		<groupId>org.gcube.tools</groupId>
		<artifactId>maven-parent</artifactId>
		<version>1.3.0</version>
	</parent>
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.gcube.accounting</groupId>
	<artifactId>accounting-service</artifactId>
	<packaging>war</packaging>
	<version>3.0.2-SNAPSHOT</version>
	<name>Accounting Service</name>
	<description>This service allows any client to publish Accounting data</description>
	<properties>
		<java.version>17</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<enunciate.version>2.18.1</enunciate.version>
		<webappDirectory>${project.basedir}${file.separator}src${file.separator}main${file.separator}webapp${file.separator}WEB-INF</webappDirectory>
		<wiki>https://wiki.gcube-system.org/gcube/Accounting</wiki>
	</properties>
	<scm>
		<connection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</connection>
		<developerConnection>scm:git:https://code-repo.d4science.org/gCubeSystem/${project.artifactId}.git</developerConnection>
		<url>https://code-repo.d4science.org/gCubeSystem/${project.artifactId}</url>
	</scm>

	<developers>
		<developer>
			<id>luca.frosini</id>
			<name>Luca Frosini</name>
			<email>luca.frosini@isti.cnr.it</email>
			<url>https://orcid.org/0000-0003-3183-2291</url>
			<organization>D4Science Infrastructure, Pisa, Italy</organization>
			<organizationUrl>https://www.d4science.org/</organizationUrl>
			<roles>
			<role>researcher</role>
			<role>architect</role>
			<role>developer</role>
			</roles>
			<timezone>Europe/Rome</timezone>
		</developer>
		<developer>
			<id>biagio.peccerillo</id>
			<name>Biagio Peccerillo</name>
			<email>biagio.peccerillo@isti.cnr.it</email>
			<url>https://orcid.org/0000-0002-4998-0092</url>
			<organization>D4Science Infrastructure, Pisa, Italy</organization>
			<organizationUrl>https://www.d4science.org/</organizationUrl>
			<roles>
			<role>researcher</role>
			<role>maintainer</role>
			<role>developer</role>
			</roles>
			<timezone>Europe/Rome</timezone>
		</developer>
</developers>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.gcube.distribution</groupId>
				<artifactId>gcube-smartgears-bom</artifactId>
				<version>4.0.3-SNAPSHOT</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.gcube.core</groupId>
			<artifactId>common-smartgears</artifactId>
		</dependency>
		<dependency>
			<groupId>org.gcube.core</groupId>
			<artifactId>common-smartgears-app</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>

		<dependency>
			<groupId>org.gcube.accounting</groupId>
			<artifactId>accounting-lib</artifactId>
		</dependency>
		<!-- Used for service query -->
		<!--
		<dependency>
			<groupId>org.gcube.accounting</groupId>
			<artifactId>accounting-analytics</artifactId>
			<version>[3.0.0,4.0.0-SNAPSHOT)</version>
		</dependency>
		<dependency>
			<groupId>org.gcube.accounting</groupId>
			<artifactId>accounting-analytics-persistence-postgresql</artifactId>
			<version>[1.0.0,2.0.0-SNAPSHOT)</version>
		</dependency>
		<dependency>
			<groupId>org.gcube.accounting</groupId>
			<artifactId>accounting-postgresql-utilities</artifactId>
			<version>[1.0.0,2.0.0-SNAPSHOT)</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.postgresql</groupId>
			<artifactId>postgresql</artifactId>
			<version>42.2.19</version>
			<scope>provided</scope>
		</dependency>
		-->
		<!-- END Used for service query -->
		
		<dependency>
			<groupId>org.gcube.common</groupId>
			<artifactId>gcube-jackson-core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.gcube.common</groupId>
			<artifactId>gcube-jackson-annotations</artifactId>
		</dependency>
		<dependency>
			<groupId>org.gcube.common</groupId>
			<artifactId>gcube-jackson-databind</artifactId>
		</dependency>
		
		
		<!-- Required for Enunciate plugin -->
		<dependency>
			<groupId>com.webcohesion.enunciate</groupId>
			<artifactId>enunciate-core-annotations</artifactId>
			<version>${enunciate.version}</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>com.webcohesion.enunciate</groupId>
			<artifactId>enunciate-rt-util</artifactId>
			<version>${enunciate.version}</version>
			<scope>provided</scope>
		</dependency>
		<!-- END Required for Enunciate plugin -->


		<dependency>
			<groupId>jakarta.servlet</groupId>
			<artifactId>jakarta.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>jakarta.ws.rs</groupId>
			<artifactId>jakarta.ws.rs-api</artifactId>
		</dependency>

		<dependency>
			<groupId>org.glassfish.jersey.containers</groupId>
			<artifactId>jersey-container-servlet</artifactId>
		</dependency>
		
		<!-- One of jersey-hk2 or jersey-cdi2-se is needed to allow ResourceIntializer working -->
		<!-- jersey-hk2 is preferred over jersey-cdi2-se on Tomcat: jersey-cdi2-se starts a Weld SE
		     container with its own JVM shutdown hook which races with Tomcat's shutdown sequence and
		     causes an IllegalStateException in CdiSeInjectionManager.preDestroy() at undeploy time. -->
		<dependency>
			<groupId>org.glassfish.jersey.inject</groupId>
			<artifactId>jersey-hk2</artifactId>
		</dependency>
		<!-- 
		<dependency>
			<groupId>org.glassfish.jersey.inject</groupId>
			<artifactId>jersey-cdi2-se</artifactId>
		</dependency>
		-->

		<!-- Test Dependencies -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>kr.motd.maven</groupId>
				<artifactId>sphinx-maven-plugin</artifactId>
				<version>2.10.0</version>
				<configuration>
					<outputDirectory>${project.build.directory}${file.separator}${project.build.finalName}${file.separator}docs</outputDirectory>
					<builder>html</builder>
					<configDirectory>${project.basedir}${file.separator}documentation${file.separator}sphinx</configDirectory>
					<sourceDirectory>${project.basedir}${file.separator}documentation${file.separator}sphinx</sourceDirectory>
				</configuration>
				<executions>
					<execution>
						<phase>process-resources</phase>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.webcohesion.enunciate</groupId>
				<artifactId>enunciate-maven-plugin</artifactId>
				<version>${enunciate.version}</version>
				<executions>
					<execution>
						<id>assemble</id>
						<goals>
							<goal>assemble</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<configFile>${project.basedir}${file.separator}documentation${file.separator}enunciate${file.separator}enunciate.xml</configFile>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<executions>
					<execution>
						<id>copy-enunciate-docs</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<outputDirectory>target</outputDirectory>
							<resources>
								<resource>
									<targetPath>${project.build.directory}${file.separator}${project.artifactId}-${project.version}${file.separator}api-docs</targetPath>
									<directory>${project.build.directory}/api-docs</directory>
									<filtering>true</filtering>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>
</project>
