2024-02-23 17:35:59 +01:00
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
2024-02-21 11:44:41 +01:00
<modelVersion > 4.0.0</modelVersion>
2024-02-27 12:45:01 +01:00
<parent >
<groupId > org.gcube.tools</groupId>
<artifactId > maven-parent</artifactId>
<version > 1.2.0</version>
</parent>
2024-05-24 14:19:55 +02:00
<groupId > org.gcube.service</groupId>
2024-05-24 14:48:44 +02:00
<artifactId > hello-world-service</artifactId>
2024-05-24 14:19:55 +02:00
<version > 1.0.0-SNAPSHOT</version>
<name > Smartgears 4 HelloWorld Service</name>
2024-05-27 18:10:12 +02:00
<description > Smartgears 4 HelloWorld Service is used as reference project template for Smartgears 4 based services. DO NOT use tabs of new lines here otherwise it corrupts application.yaml file</description>
2024-05-24 14:19:55 +02:00
<packaging > war</packaging>
<organization >
<name > gCube System</name>
<url > https://www.gcube-system.org/</url>
</organization>
<developers >
<developer >
<id > luca.frosini</id>
<name > Luca Frosini</name>
<email > luca.frosini@isti.cnr.it</email>
<url > https://www.isti.cnr.it/en/about/people-detail/141/Frosini_Luca</url>
<organization > ISTI-CNR</organization>
<organizationUrl > https://www.isti.cnr.it/</organizationUrl>
<roles >
<role > researcher</role>
<role > developer</role>
</roles>
<timezone > Europe/Rome</timezone>
</developer>
<developer >
<id > lucio.lelii</id>
<name > Lucio Lelii</name>
<email > lucio.lelii@isti.cnr.it</email>
<url > </url>
<organization > ISTI-CNR</organization>
<organizationUrl > https://www.isti.cnr.it/en/about/people-detail/184/Lelii_Lucio/</organizationUrl>
<roles >
<role > researcher</role>
<role > developer</role>
</roles>
<timezone > Europe/Rome</timezone>
</developer>
<developer >
<id > alfredo.oliviero</id>
<name > Alfredo Oliviero</name>
<email > alfredo.oliviero@isti.cnr.it</email>
<url > </url>
<organization > ISTI-CNR</organization>
<organizationUrl > https://www.isti.cnr.it/en/about/people-detail/1087/Oliviero_Alfredo/</organizationUrl>
<roles >
<role > researcher</role>
<role > developer</role>
</roles>
<timezone > Europe/Rome</timezone>
</developer>
</developers>
2024-02-21 11:44:41 +01:00
<properties >
2024-02-22 09:56:36 +01:00
<java.version > 11</java.version>
<maven.compiler.source > ${java.version}</maven.compiler.source>
<maven.compiler.target > ${java.version}</maven.compiler.target>
2024-05-24 15:13:55 +02:00
<project.build.sourceEncoding > UTF-8</project.build.sourceEncoding>
2024-02-27 12:45:01 +01:00
<!-- OPTIONAL. for authorization - control - library -->
2024-05-27 16:53:26 +02:00
<!-- <aspectj - plugin.version>1.14.0</aspectj - plugin.version> -->
2024-05-24 14:19:55 +02:00
2024-05-22 15:47:21 +02:00
<enunciate.version > 2.16.1</enunciate.version>
2024-05-24 14:19:55 +02:00
2024-05-23 16:59:48 +02:00
<docker.smartgear.version > 4.0.1-SNAPSHOT</docker.smartgear.version>
2024-02-21 11:44:41 +01:00
</properties>
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<scm >
2024-05-24 14:19:55 +02:00
<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>
2024-05-21 16:51:42 +02:00
<url > https://code-repo.d4science.org/gCubeSystem/${project.artifactId}</url>
2024-02-21 11:44:41 +01:00
</scm>
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<dependencyManagement >
<dependencies >
<dependency >
<groupId > org.gcube.distribution</groupId>
<artifactId > gcube-smartgears-bom</artifactId>
<version > 3.0.1-SNAPSHOT</version>
<type > pom</type>
<scope > import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<dependencies >
<!-- smartgears -->
<dependency >
<groupId > org.gcube.core</groupId>
<artifactId > common-smartgears</artifactId>
</dependency>
2024-02-22 09:56:36 +01:00
<dependency >
<groupId > org.gcube.common</groupId>
<artifactId > common-security</artifactId>
</dependency>
<dependency >
<groupId > org.gcube.common</groupId>
<artifactId > authorization-control-library</artifactId>
</dependency>
2024-02-21 11:44:41 +01:00
<dependency >
<groupId > org.gcube.core</groupId>
<artifactId > common-smartgears-app</artifactId>
</dependency>
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<!-- jersey -->
<dependency >
<groupId > org.glassfish.jersey.containers</groupId>
<artifactId > jersey-container-servlet</artifactId>
</dependency>
2024-02-27 12:45:01 +01:00
2024-03-01 18:11:44 +01:00
<!--
https://mvnrepository.com/artifact/org.glassfish.jersey.inject/jersey-cdi2-se -->
2024-02-21 13:50:43 +01:00
<dependency >
<groupId > org.glassfish.jersey.inject</groupId>
<artifactId > jersey-cdi2-se</artifactId>
</dependency>
2024-03-01 18:11:44 +01:00
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<!-- add jackson as json provider -->
<dependency >
<groupId > org.glassfish.jersey.media</groupId>
<artifactId > jersey-media-json-jackson</artifactId>
</dependency>
2024-05-22 15:47:21 +02:00
<!-- logs -->
2024-02-21 11:44:41 +01:00
<dependency >
<groupId > org.slf4j</groupId>
<artifactId > slf4j-api</artifactId>
</dependency>
2024-05-22 15:47:21 +02:00
<dependency >
<groupId > org.aspectj</groupId>
<artifactId > aspectjrt</artifactId>
</dependency>
2024-02-21 11:44:41 +01:00
</dependencies>
2024-02-27 12:45:01 +01:00
2024-02-21 11:44:41 +01:00
<build >
2024-02-22 09:56:36 +01:00
<plugins >
2024-02-27 12:45:01 +01:00
2024-03-01 18:11:44 +01:00
<!-- OPTIONAL. authorization - control - library: add this plugin if you
want to use gcube
2024-02-27 12:45:01 +01:00
authorization control funzionalities -->
2024-05-24 14:19:55 +02:00
<!-- <plugin> -->
<!-- <groupId>org.codehaus.mojo</groupId> -->
<!-- <artifactId>aspectj - maven - plugin</artifactId> -->
<!-- <version>${aspectj - plugin.version}</version> -->
<!-- <configuration> -->
<!-- <complianceLevel>${java.version}</complianceLevel> -->
<!-- <source>${java.version}</source> -->
<!-- <target>${java.version}</target> -->
<!-- <aspectLibraries> -->
<!-- <aspectLibrary> -->
<!-- <groupId>org.gcube.common</groupId> -->
<!-- <artifactId>authorization - control - library</artifactId> -->
<!-- </aspectLibrary> -->
<!-- </aspectLibraries> -->
<!-- </configuration> -->
<!-- <executions> -->
<!-- <execution> -->
<!-- <goals> -->
<!-- <goal>compile</goal> -->
<!-- </goals> -->
<!-- </execution> -->
<!-- </executions> -->
<!-- </plugin> -->
2024-05-22 15:47:21 +02:00
2024-05-22 17:34:19 +02:00
<!-- Sphinx plugin' -->
<plugin >
<groupId > kr.motd.maven</groupId>
<artifactId > sphinx-maven-plugin</artifactId>
<version > 2.10.0</version>
<configuration >
2024-05-24 14:19:55 +02:00
<outputDirectory >
${project.build.directory}${file.separator}${project.build.finalName}${file.separator}docs</outputDirectory>
2024-05-22 17:34:19 +02:00
<builder > html</builder>
2024-05-24 14:19:55 +02:00
<configDirectory > ${project.basedir}${file.separator}documentation${file.separator}sphinx</configDirectory>
<sourceDirectory > ${project.basedir}${file.separator}documentation${file.separator}sphinx</sourceDirectory>
2024-05-23 16:59:48 +02:00
<!-- brew install sphinx - doc -->
2024-05-24 14:19:55 +02:00
<binaryUrl >
file:/opt/homebrew/opt/sphinx-doc/bin/sphinx-build</binaryUrl>
2024-05-22 17:34:19 +02:00
</configuration>
<executions >
<execution >
<phase > process-resources</phase>
<goals >
<goal > generate</goal>
</goals>
</execution>
</executions>
</plugin>
2024-05-22 15:47:21 +02:00
<!-- Enunciate Maven 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>
2024-05-24 14:19:55 +02:00
<configuration >
2024-05-27 16:53:26 +02:00
<!-- This does not works as expected. We need to use the maven - resources - plugin below
<docsDir > ${project.build.directory}${file.separator}${project.artifactId}-${project.version}${file.separator}api-docs</docsDir>
-->
2024-05-24 14:19:55 +02:00
<configFile > ${project.basedir}${file.separator}documentation${file.separator}enunciate.xml</configFile>
</configuration>
2024-05-22 15:47:21 +02:00
</plugin>
2024-05-24 14:19:55 +02:00
<!-- Copy Enunciate Documentation from your - application/api - docs into your war -->
2024-05-22 15:47:21 +02:00
<plugin >
2024-05-24 14:19:55 +02:00
<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>
2024-05-22 15:47:21 +02:00
</plugin>
2024-02-22 09:56:36 +01:00
</plugins>
2024-02-21 11:44:41 +01:00
</build>
</project>