Skip to content

Commit

Permalink
Add first version of Spring Config Server Client extension
Browse files Browse the repository at this point in the history
  • Loading branch information
geoand committed Feb 13, 2020
1 parent f81ac03 commit 5641c82
Show file tree
Hide file tree
Showing 28 changed files with 1,004 additions and 1 deletion.
2 changes: 2 additions & 0 deletions .github/boring-cyborg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,12 @@ labelPRBasedOnFilePath:
- extensions/smallrye-reactive-messaging-kafka/**/*
- extensions/smallrye-reactive-messaging-mqtt/**/*
area/spring:
- extensions/spring-cloud-config-client/**/*
- extensions/spring-data-jpa/**/*
- extensions/spring-di/**/*
- extensions/spring-security/**/*
- extensions/spring-web/**/*
- integration-tests/spring-cloud-config-client/**/*
- integration-tests/spring-data-jpa/**/*
- integration-tests/spring-di/**/*
- integration-tests/spring-web/**/*
Expand Down
5 changes: 5 additions & 0 deletions bom/deployment/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,11 @@
<artifactId>quarkus-spring-boot-properties-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-spring-cloud-config-client-deployment</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jgit-deployment</artifactId>
Expand Down
5 changes: 5 additions & 0 deletions bom/runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,11 @@
<artifactId>quarkus-spring-boot-properties</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-spring-cloud-config-client</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-swagger-ui</artifactId>
Expand Down
5 changes: 5 additions & 0 deletions build-parent/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,11 @@
<artifactId>antlr4-maven-plugin</artifactId>
<version>${antlr.version}</version><!-- keep it aligned with the runtime bom-->
</plugin>
<plugin>
<groupId>uk.co.automatictester</groupId>
<artifactId>wiremock-maven-plugin</artifactId>
<version>5.0.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
Expand Down
3 changes: 2 additions & 1 deletion ci-templates/stages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -419,12 +419,13 @@ stages:
parameters:
poolSettings: ${{parameters.poolSettings}}
expectUseVMs: ${{parameters.expectUseVMs}}
timeoutInMinutes: 25
timeoutInMinutes: 30
modules:
- spring-di
- spring-web
- spring-data-jpa
- spring-boot-properties
- spring-cloud-config-client
name: spring

- template: native-build-steps.yaml
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ public final class FeatureBuildItem extends MultiBuildItem {
public static final String SPRING_DATA_JPA = "spring-data-jpa";
public static final String SPRING_SECURITY = "spring-security";
public static final String SPRING_BOOT_PROPERTIES = "spring-boot-properties";
public static final String SPRING_CONFIG_SERVER_CLIENT = "spring-cloud-config-client";
public static final String SWAGGER_UI = "swagger-ui";
public static final String TIKA = "tika";
public static final String UNDERTOW_WEBSOCKETS = "undertow-websockets";
Expand Down
1 change: 1 addition & 0 deletions extensions/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@
<module>spring-data-jpa</module>
<module>spring-security</module>
<module>spring-boot-properties</module>
<module>spring-cloud-config-client</module>

<!-- Security -->
<module>security</module>
Expand Down
46 changes: 46 additions & 0 deletions extensions/spring-cloud-config-client/deployment/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?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">
<parent>
<artifactId>quarkus-spring-cloud-config-client-parent</artifactId>
<groupId>io.quarkus</groupId>
<version>999-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>quarkus-spring-cloud-config-client-deployment</artifactId>
<name>Quarkus - Spring Cloud Config Client - Deployment</name>

<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc-deployment</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jackson-deployment</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-spring-cloud-config-client</artifactId>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-extension-processor</artifactId>
<version>${project.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package io.quarkus.spring.cloud.config.client;

import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.annotations.ExecutionTime;
import io.quarkus.deployment.annotations.Record;
import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
import io.quarkus.deployment.builditem.FeatureBuildItem;
import io.quarkus.deployment.builditem.RunTimeConfigurationSourceValueBuildItem;
import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
import io.quarkus.runtime.ApplicationConfig;
import io.quarkus.spring.cloud.config.client.runtime.Response;
import io.quarkus.spring.cloud.config.client.runtime.SpringCloudConfigClientConfig;
import io.quarkus.spring.cloud.config.client.runtime.SpringCloudConfigClientRecorder;

public class SpringCloudConfigProcessor {

@BuildStep
public void feature(BuildProducer<FeatureBuildItem> feature) {
feature.produce(new FeatureBuildItem(FeatureBuildItem.SPRING_CONFIG_SERVER_CLIENT));
}

@BuildStep
public void enableSsl(BuildProducer<ExtensionSslNativeSupportBuildItem> extensionSslNativeSupport) {
extensionSslNativeSupport.produce(new ExtensionSslNativeSupportBuildItem(FeatureBuildItem.SPRING_CONFIG_SERVER_CLIENT));
}

@BuildStep
public void registerForReflection(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, false, Response.class));
reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, false, Response.PropertySource.class));
}

@BuildStep
@Record(ExecutionTime.RUNTIME_INIT)
public RunTimeConfigurationSourceValueBuildItem configure(SpringCloudConfigClientRecorder recorder,
SpringCloudConfigClientConfig springCloudConfigClientConfig,
ApplicationConfig applicationConfig) {
return new RunTimeConfigurationSourceValueBuildItem(
recorder.create(springCloudConfigClientConfig, applicationConfig));
}

}
21 changes: 21 additions & 0 deletions extensions/spring-cloud-config-client/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?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">
<parent>
<artifactId>quarkus-build-parent</artifactId>
<groupId>io.quarkus</groupId>
<version>999-SNAPSHOT</version>
<relativePath>../../build-parent/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>quarkus-spring-cloud-config-client-parent</artifactId>
<name>Quarkus - Spring Config Server - Client</name>
<packaging>pom</packaging>

<modules>
<module>deployment</module>
<module>runtime</module>
</modules>
</project>
110 changes: 110 additions & 0 deletions extensions/spring-cloud-config-client/runtime/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<?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">
<parent>
<artifactId>quarkus-spring-cloud-config-client-parent</artifactId>
<groupId>io.quarkus</groupId>
<version>999-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

<artifactId>quarkus-spring-cloud-config-client</artifactId>
<name>Quarkus - Spring Cloud Config Client - Runtime</name>
<description>Use properties from Spring Cloud Config as bootstrap properties sources</description>

<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>commons-logging-jboss-logging</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-jackson</artifactId>
</dependency>

<!-- test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-junit5</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock-jre8</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-bootstrap-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-extension-processor</artifactId>
<version>${project.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>


</project>
Loading

0 comments on commit 5641c82

Please sign in to comment.