|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
|
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
|
|
|
|
<parent>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-gateway</artifactId>
|
|
|
|
<version>4.1.0-SNAPSHOT</version>
|
|
|
|
<relativePath>..</relativePath> <!-- lookup parent from repository -->
|
|
|
|
</parent>
|
|
|
|
<artifactId>spring-cloud-gateway-server</artifactId>
|
|
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Spring Cloud Gateway Server</name>
|
|
|
|
<description>Spring Cloud Gateway Server</description>
|
|
|
|
<properties>
|
|
|
|
<main.basedir>${basedir}/..</main.basedir>
|
|
|
|
<grpc.version>1.59.0</grpc.version>
|
|
|
|
<context-propagation.version>1.0.0</context-propagation.version>
|
|
|
|
</properties>
|
|
|
|
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter</artifactId>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-oauth2-client</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-tracing</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-loadbalancer</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-devtools</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
|
|
<artifactId>kotlin-stdlib</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
|
|
<artifactId>kotlin-reflect</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor.addons</groupId>
|
|
|
|
<artifactId>reactor-extra</artifactId>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor.kotlin</groupId>
|
|
|
|
<artifactId>reactor-kotlin-extensions</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
|
|
<artifactId>jackson-dataformat-protobuf</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
|
|
<artifactId>jackson-databind</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.grpc</groupId>
|
|
|
|
<artifactId>grpc-netty</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
<version>${grpc.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.grpc</groupId>
|
|
|
|
<artifactId>grpc-protobuf</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
<version>${grpc.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.grpc</groupId>
|
|
|
|
<artifactId>grpc-stub</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
<version>${grpc.version}</version>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-autoconfigure-processor</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
|
|
<artifactId>caffeine</artifactId>
|
|
|
|
<optional>true</optional>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>context-propagation</artifactId>
|
|
|
|
<version>${context-propagation.version}</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-observation-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-tracing-integration-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
<exclusions>
|
|
|
|
<!-- We exclude this cause otherwise we'll have 2 tracers on the classpath for Boot -->
|
|
|
|
<exclusion>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-tracing-bridge-otel</artifactId>
|
|
|
|
</exclusion>
|
|
|
|
<!-- We exclude this cause otherwise we'll have zipkin and wavefront on the classpath for Boot -->
|
|
|
|
<exclusion>
|
|
|
|
<groupId>io.micrometer</groupId>
|
|
|
|
<artifactId>micrometer-tracing-reporter-wavefront</artifactId>
|
|
|
|
</exclusion>
|
|
|
|
<exclusion>
|
|
|
|
<groupId>com.wavefront</groupId>
|
|
|
|
<artifactId>*</artifactId>
|
|
|
|
</exclusion>
|
|
|
|
</exclusions>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.boot</groupId>
|
|
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit.vintage</groupId>
|
|
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.junit-pioneer</groupId>
|
|
|
|
<artifactId>junit-pioneer</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework.cloud</groupId>
|
|
|
|
<artifactId>spring-cloud-test-support</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor</groupId>
|
|
|
|
<artifactId>reactor-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor.tools</groupId>
|
|
|
|
<artifactId>blockhound</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.assertj</groupId>
|
|
|
|
<artifactId>assertj-core</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>com.fasterxml.jackson.module</groupId>
|
|
|
|
<artifactId>jackson-module-kotlin</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.testcontainers</groupId>
|
|
|
|
<artifactId>junit-jupiter</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-core</artifactId>
|
|
|
|
<version>1.20</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.openjdk.jmh</groupId>
|
|
|
|
<artifactId>jmh-generator-annprocess</artifactId>
|
|
|
|
<version>1.20</version>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
<dependency>
|
|
|
|
<groupId>org.springframework</groupId>
|
|
|
|
<artifactId>spring-core-test</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
|
|
<plugins>
|
|
|
|
<plugin>
|
|
|
|
<!-- Based on instructions here - https://kotlinlang.org/docs/reference/using-maven.html -->
|
|
|
|
<artifactId>kotlin-maven-plugin</artifactId>
|
|
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
|
|
<configuration>
|
|
|
|
<jvmTarget>17</jvmTarget>
|
|
|
|
</configuration>
|
|
|
|
<executions>
|
|
|
|
<execution>
|
|
|
|
<id>compile</id>
|
|
|
|
<goals>
|
|
|
|
<goal>compile</goal>
|
|
|
|
</goals>
|
|
|
|
<configuration>
|
|
|
|
<sourceDirs>
|
|
|
|
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
|
|
|
<sourceDir>${project.basedir}/src/main/java</sourceDir>
|
|
|
|
</sourceDirs>
|
|
|
|
</configuration>
|
|
|
|
</execution>
|
|
|
|
<execution>
|
|
|
|
<id>test-compile</id>
|
|
|
|
<goals>
|
|
|
|
<goal>test-compile</goal>
|
|
|
|
</goals>
|
|
|
|
<configuration>
|
|
|
|
<sourceDirs>
|
|
|
|
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
|
|
|
|
<sourceDir>${project.basedir}/src/test/java</sourceDir>
|
|
|
|
</sourceDirs>
|
|
|
|
</configuration>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
|
|
<configuration>
|
|
|
|
<compilerArgs>
|
|
|
|
<arg>-parameters</arg>
|
|
|
|
</compilerArgs>
|
|
|
|
</configuration>
|
|
|
|
<executions>
|
|
|
|
<!-- Replacing default-compile as it is treated specially by maven -->
|
|
|
|
<execution>
|
|
|
|
<id>default-compile</id>
|
|
|
|
<phase>none</phase>
|
|
|
|
</execution>
|
|
|
|
<!-- Replacing default-testCompile as it is treated specially by maven -->
|
|
|
|
<execution>
|
|
|
|
<id>default-testCompile</id>
|
|
|
|
<phase>none</phase>
|
|
|
|
</execution>
|
|
|
|
<execution>
|
|
|
|
<id>java-compile</id>
|
|
|
|
<phase>compile</phase>
|
|
|
|
<goals>
|
|
|
|
<goal>compile</goal>
|
|
|
|
</goals>
|
|
|
|
</execution>
|
|
|
|
<execution>
|
|
|
|
<id>java-test-compile</id>
|
|
|
|
<phase>test-compile</phase>
|
|
|
|
<goals>
|
|
|
|
<goal>testCompile</goal>
|
|
|
|
</goals>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
</plugin>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
|
|
<version>3.3.0</version>
|
|
|
|
<executions>
|
|
|
|
<execution>
|
|
|
|
<goals>
|
|
|
|
<goal>test-jar</goal>
|
|
|
|
</goals>
|
|
|
|
</execution>
|
|
|
|
</executions>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
<profiles>
|
|
|
|
<profile>
|
|
|
|
<id>java17</id>
|
|
|
|
<activation>
|
|
|
|
<jdk>[17,18)</jdk>
|
|
|
|
</activation>
|
|
|
|
<dependencies>
|
|
|
|
<dependency>
|
|
|
|
<groupId>io.projectreactor.tools</groupId>
|
|
|
|
<artifactId>blockhound-junit-platform</artifactId>
|
|
|
|
<scope>test</scope>
|
|
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
</profile>
|
|
|
|
<profile>
|
|
|
|
<id>java13plus</id>
|
|
|
|
<activation>
|
|
|
|
<jdk>[13,)</jdk>
|
|
|
|
</activation>
|
|
|
|
<build>
|
|
|
|
<plugins>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
|
|
<version>${maven-surefire-plugin.version}</version>
|
|
|
|
<configuration>
|
|
|
|
<includes>
|
|
|
|
<include>**/*Tests.java</include>
|
|
|
|
<include>**/*Test.java</include>
|
|
|
|
</includes>
|
|
|
|
<excludes>
|
|
|
|
<exclude>**/Abstract*.java</exclude>
|
|
|
|
</excludes>
|
|
|
|
<!-- https://github.com/reactor/BlockHound/issues/33 -->
|
|
|
|
<argLine>-XX:+AllowRedefinitionToAddDeleteMethods</argLine>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
</profile>
|
|
|
|
<profile>
|
|
|
|
<id>java8plus</id>
|
|
|
|
<activation>
|
|
|
|
<jdk>[1.8,2.0)</jdk>
|
|
|
|
</activation>
|
|
|
|
<build>
|
|
|
|
<plugins>
|
|
|
|
<plugin>
|
|
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
|
|
<configuration>
|
|
|
|
<compilerArgs>
|
|
|
|
<arg>-parameters</arg>
|
|
|
|
</compilerArgs>
|
|
|
|
</configuration>
|
|
|
|
</plugin>
|
|
|
|
</plugins>
|
|
|
|
</build>
|
|
|
|
</profile>
|
|
|
|
</profiles>
|
|
|
|
</project>
|