<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>broadleaf-microservices-gateways-parent</artifactId>
<version>1.4.12-GA</version>
<packaging>pom</packaging>
<name>Broadleaf Microservices Gateways Parent</name>
<description>
Parent project that holds Spring Cloud Gateway implementations that hold links to
the other backend services (and to communicate to the backend portion of a frontend app).
Allows a centralized point for requests to start to avoid implementing CORS.
</description>
<repositories>
<repository>
<id>broadleaf-microservices</id>
<url>https://repository.broadleafcommerce.com/repository/microservices/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>broadleaf-microservices</id>
<url>https://repository.broadleafcommerce.com/repository/microservices/</url>
</pluginRepository>
</pluginRepositories>
<scm>
<connection>scm:git:git@github.com:BroadleafCommerce/MicroservicesGateways.git</connection>
<developerConnection>scm:git:git@github.com:BroadleafCommerce/MicroservicesGateways.git
</developerConnection>
<url>https://github.com/BroadleafCommerce/MicroservicesGateways</url>
<tag>broadleaf-microservices-gateways-parent-1.4.12-GA</tag>
</scm>
<properties>
<broadleaf.common.dependencies.version>2.0.0-GA</broadleaf.common.dependencies.version>
<broadleaf.base.dependencies.version>2.0.0-GA</broadleaf.base.dependencies.version>
<!--
<broadleaf.base.dependencies.version>1.9999.0-SNAPSHOT</broadleaf.base.dependencies.version>
<broadleaf.common.dependencies.version>1.9999.0-SNAPSHOT</broadleaf.common.dependencies.version>
-->
<blc.config.client.version>2.0.0-GA</blc.config.client.version>
<blc.starter.version>1.1.0-GA</blc.starter.version>
<skipAssembly>false</skipAssembly>
<maven.compiler.release>17</maven.compiler.release>
<resource.delimiter>@</resource.delimiter>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<spring.boot.maven.plugin.version>3.1.2</spring.boot.maven.plugin.version>
<maven.surefire.version>2.22.2</maven.surefire.version>
<maven.flatten.plugin.version>1.2.7</maven.flatten.plugin.version>
<maven.spotless.plugin.version>1.31.3</maven.spotless.plugin.version>
<maven.spotless.java.formatter.version>4.13.0</maven.spotless.java.formatter.version>
<broadleaf.codestyle.version>1.0.1-GA</broadleaf.codestyle.version>
<shared.codestyle.directory>${project.build.directory}/shared-codestyle-resources</shared.codestyle.directory>
<maven.cyclonedx.version>2.0.3</maven.cyclonedx.version>
<maven.lombok.plugin.version>1.18.20.0</maven.lombok.plugin.version>
<lombok.version>1.18.24</lombok.version>
<maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
<exec.maven.plugin.version>1.6.0</exec.maven.plugin.version>
<dockerDeploymentRepository>repository.broadleafcommerce.com:5001</dockerDeploymentRepository>
<dockerBuildBootLayerImageRegistry>repository.broadleafcommerce.com:5001</dockerBuildBootLayerImageRegistry>
<buildLocalDockerOnly>false</buildLocalDockerOnly>
<java.17.options>--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED
--add-opens=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.time=ALL-UNNAMED
--add-opens=java.base/java.time.format=ALL-UNNAMED</java.17.options>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-shared-codestyle-resources</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>initialize</phase>
<configuration>
<artifactItems>
<artifact>
<groupId>com.broadleafcommerce</groupId>
<artifactId>broadleaf-codestyle-resources</artifactId>
<version>${broadleaf.codestyle.version}</version>
<outputDirectory>${shared.codestyle.directory}</outputDirectory>
</artifact>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${maven.spotless.plugin.version}</version>
<executions>
<execution>
<id>check</id>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<java>
<eclipse>
<version>${maven.spotless.java.formatter.version}</version>
<file>${shared.codestyle.directory}/eclipse-formatter.xml</file>
</eclipse>
<importOrder>
<file>${shared.codestyle.directory}/broadleaf-java.importorder</file>
</importOrder>
<removeUnusedImports/>
</java>
<formats>
<format>
<!-- XML files -->
<includes>
<include>src/main/**/*.xml</include>
<include>pom.xml</include>
</includes>
<excludes>
<exclude>src/main/resources/rebel-remote.xml</exclude>
<exclude>src/main/resources/rebel.xml</exclude>
<exclude>**/target/**/pom.xml</exclude>
<exclude>**/node_modules/**</exclude>
</excludes>
<eclipseWtp>
<type>XML</type>
<files>${shared.codestyle.directory}/xml.prefs</files>
</eclipseWtp>
<indent>
<spaces>true</spaces>
<spacesPerTab>4</spacesPerTab>
</indent>
<trimTrailingWhitespace/>
</format>
<format>
<includes>
<!-- YAML -->
<include>src/main/**/*.yml</include>
<include>src/main/**/*.yaml</include>
<!-- JS within Java projects -->
<include>src/main/**/*.js</include>
<!-- SQL imports -->
<include>src/main/**/*.sql</include>
</includes>
<excludes>
<exclude>**/node_modules/**</exclude>
</excludes>
<indent>
<spaces>true</spaces>
<spacesPerTab>2</spacesPerTab>
</indent>
<trimTrailingWhitespace/>
</format>
</formats>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<parameters>true</parameters>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.maven.plugin.version}</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
</plugin>
<plugin>
<!-- IMPORTANT: once this updates to the 3.0 line, we can remove the disableClassPathURLCheck
arg line settings -->
<!-- See https://stackoverflow.com/questions/53010200/maven-surefire-could-not-find-forkedbooter-class/53016532 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}</version>
<configuration>
<argLine>
${java.17.options}
-Djdk.net.URLClassPath.disableClassPathURLCheck=true
-Xmx1g
</argLine>
<!-- Workaround to ensure @Nested classes are executed see https://github.com/junit-team/junit5/issues/1377#issuecomment-381964988 -->
<excludes>
<exclude/>
</excludes>
<skip>false</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.maven.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>keytool-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>generateKeyPair</goal>
</goals>
<phase>generate-resources</phase>
</execution>
</executions>
<configuration>
<keystore>${project.basedir}/src/main/resources/local.keystore
</keystore>
<storetype>pkcs12</storetype>
<storepass>storepass</storepass>
<alias>foo_alias</alias>
<dname>cn=localhost, ou=None, L=Dallas, ST=Texas, o=LocalCom, c=US
</dname>
<sigalg>SHA256withRSA</sigalg>
<ext/>
<validity>100</validity>
<keyalg>RSA</keyalg>
<keysize>2048</keysize>
<skipIfExist>true</skipIfExist>
</configuration>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>${maven.cyclonedx.version}</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>makeAggregateBom</goal>
</goals>
</execution>
</executions>
<configuration>
<projectType>library</projectType>
<schemaVersion>1.2</schemaVersion>
<includeBomSerialNumber>true</includeBomSerialNumber>
<includeCompileScope>true</includeCompileScope>
<includeProvidedScope>true</includeProvidedScope>
<includeRuntimeScope>true</includeRuntimeScope>
<includeSystemScope>true</includeSystemScope>
<includeTestScope>false</includeTestScope>
<includeLicenseText>false</includeLicenseText>
<outputFormat>all</outputFormat>
</configuration>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>${maven.lombok.plugin.version}</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
<configuration>
<addOutputDirectory>false</addOutputDirectory>
<outputDirectory>${project.build.directory}/delombok</outputDirectory>
<sourceDirectory>src/main/java</sourceDirectory>
</configuration>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<defaultVersion>${project.version}</defaultVersion>
<stylesheetfile>${shared.codestyle.directory}/blc-javadoc.css</stylesheetfile>
<sourcepath>${project.build.directory}/delombok</sourcepath>
<aggregate>true</aggregate>
<minmemory>128m</minmemory>
<maxmemory>1g</maxmemory>
<doclint>none</doclint>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-shared-codestyle-resources</id>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>ms-upgrade-maven-plugin</artifactId>
<groupId>com.broadleafcommerce.microservices</groupId>
<version>2.0.1-SNAPSHOT</version>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>deptrack</id>
<build>
<plugins>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<inherited>false</inherited>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>javadocs</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>broadleaf-config-server-client</artifactId>
<version>2.0.0-GA</version>
</dependency>
<dependency>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>broadleaf-microservices-dependencies</artifactId>
<version>2.0.0-GA</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.broadleafcommerce.microservices</groupId>
<artifactId>broadleaf-microservices-common-dependencies</artifactId>
<version>2.0.0-GA</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>admin</module>
<module>commerce</module>
</modules>
</project>