| <?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> |