blob: 46e7037637823104f6806697f41790fe126f1aaa [file]
<?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">
<modelVersion>4.0.0</modelVersion>
<artifactId>shopping-cart-service</artifactId>
<groupId>com.lightbend.akka.samples</groupId>
<version>1.0</version>
<licenses>
<license>
<name>Public Domain (CC0)</name>
<url>http://creativecommons.org/publicdomain/zero/1.0/</url>
</license>
</licenses>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<akka-grpc-maven-plugin.version>2.1.3</akka-grpc-maven-plugin.version>
<scala.binary.version>2.13</scala.binary.version>
<!-- needs to be defined to allow for overriding through mvn exec:exec -DAPP_CONFIG=local1.conf -->
<APP_CONFIG>application.conf</APP_CONFIG>
<!-- Version of the Docker image is derived from git commit.
It can be defined with -Dversion.number=0.1-SNAPSHOT if git is not used -->
<version.number>${git.commit.time}-${git.commit.id.abbrev}</version.number>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.lightbend.akka</groupId>
<artifactId>akka-platform-dependencies_${scala.binary.version}</artifactId>
<version>0.2.5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-bom</artifactId>
<version>2020.0.1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-cluster-typed_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-cluster-sharding-typed_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-persistence-typed_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-persistence-query_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-serialization-jackson_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-cluster-tools_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka</groupId>
<artifactId>akka-persistence-jdbc_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka</groupId>
<artifactId>akka-projection-eventsourced_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka</groupId>
<artifactId>akka-projection-jdbc_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-stream-kafka_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka.management</groupId>
<artifactId>akka-management-cluster-http_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka.management</groupId>
<artifactId>akka-management-cluster-bootstrap_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka.discovery</groupId>
<artifactId>akka-discovery-kubernetes-api_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>com.lightbend.akka.grpc</groupId>
<artifactId>akka-grpc-runtime_${scala.binary.version}</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.4.13.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.18</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.9</version>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor-testkit-typed_${scala.binary.version}</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-persistence-testkit_${scala.binary.version}</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.lightbend.akka</groupId>
<artifactId>akka-projection-testkit_${scala.binary.version}</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-stream-testkit_${scala.binary.version}</artifactId>
<scope>test</scope>
</dependency>
<!-- tag::akka-sbr-kubernetes-lease[] -->
<dependency>
<groupId>com.lightbend.akka.management</groupId>
<artifactId>akka-lease-kubernetes_${scala.binary.version}</artifactId>
</dependency>
<!-- end::akka-sbr-kubernetes-lease[] -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
<arg>-Xlint:deprecation</arg>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-Djava.library.path=target/lib</argument>
<argument>-Dconfig.resource=${APP_CONFIG}</argument>
<argument>-classpath</argument>
<classpath />
<argument>shopping.cart.Main</argument>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>com.lightbend.akka.grpc</groupId>
<artifactId>akka-grpc-maven-plugin</artifactId>
<version>${akka-grpc-maven-plugin.version}</version>
<configuration>
<language>Java</language>
</configuration>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<java>
<googleJavaFormat>
<version>1.8</version>
<style>GOOGLE</style>
</googleJavaFormat>
</java>
</configuration>
</plugin>
<plugin>
<groupId>pl.project13.maven</groupId>
<artifactId>git-commit-id-plugin</artifactId>
<version>4.0.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>revision</goal>
</goals>
</execution>
</executions>
<configuration>
<dateFormat>yyyyMMdd-HHmmss</dateFormat>
<!-- Version can be defined with -Dversion.number=0.1-SNAPSHOT if git is not used -->
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
<failOnNoGitDirectory>false</failOnNoGitDirectory>
<generateGitPropertiesFile>false</generateGitPropertiesFile>
</configuration>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.35.0</version>
<configuration>
<images>
<image>
<name>%a</name>
<build>
<from>docker.io/library/adoptopenjdk:11-jre-hotspot</from>
<tags>
<tag>${version.number}</tag>
</tags>
<entryPoint>
<exec>
<arg>java</arg>
<arg>-cp</arg>
<arg>/maven/*</arg>
<arg>shopping.cart.Main</arg>
</exec>
</entryPoint>
<assembly>
<descriptorRef>artifact-with-dependencies</descriptorRef>
</assembly>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>build-docker-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>