Skip to content

Commit

Permalink
feat: Spring boot extension native support (#87)
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosthe19916 authored Mar 8, 2023
1 parent 9ebea55 commit b6d56c4
Show file tree
Hide file tree
Showing 13 changed files with 1,207 additions and 4 deletions.
69 changes: 65 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,81 @@ jobs:
distribution: "temurin"
java-version: ${{ matrix.java-version }}
cache: maven
- name: Build with Maven
- name: Maven tests
run: mvn verify

quarkus-extension:
needs: [ test ]
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 11, 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
java-version: ${{ matrix.java-version }}
distribution: temurin
cache: maven
- name: Build with Maven
- name: Maven tests
run: mvn -Pnative install
- name: Build with Maven
- name: Maven IT tests
run: mvn -Pnative-image install -f quarkus-extension/integration-tests/

quarkus-supported-v:
needs: [ quarkus-extension ]
runs-on: ubuntu-latest
strategy:
matrix:
quarkus-version: [ 2.14.3.Final, 2.12.3.Final ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: temurin
cache: maven
- name: Maven tests
run: mvn -Pnative install
- name: Maven IT tests
run: mvn -Pnative-image install -f quarkus-extension/integration-tests/ -Dquarkus.version=${{ matrix.quarkus-version }}

springboot-extension:
needs: [ test ]
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 11, 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: ${{ matrix.java-version }}
distribution: temurin
cache: maven
- name: Maven tests
run: mvn install -DskipTests
- name: Maven IT tests
run: mvn install -f spring-boot-extension/integration-tests/

springboot-supported-v:
needs: [ springboot-extension ]
runs-on: ubuntu-latest
strategy:
matrix:
springboot-version: [ 2.7.5, 2.7.0 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: temurin
cache: maven
- name: Maven tests
run: mvn install -DskipTests
- name: Maven IT tests
run: mvn install -f spring-boot-extension/integration-tests/ -Dspringboot.version=${{ matrix.springboot-version }}
2 changes: 2 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
<lombok.version>1.18.26</lombok.version>
<quarkus.version>2.16.3.Final</quarkus.version>
<camel.version>3.20.2</camel.version>
<springboot.version>2.7.9</springboot.version>
</properties>

<url>https://project-openubl.github.io/</url>
Expand Down Expand Up @@ -91,6 +92,7 @@
<modules>
<module>core</module>
<module>quarkus-extension</module>
<module>spring-boot-extension</module>
</modules>

<build>
Expand Down
99 changes: 99 additions & 0 deletions spring-boot-extension/integration-tests/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2019 Project OpenUBL, Inc. and/or its affiliates
and other contributors as indicated by the @author tags.
Licensed under the Apache License - 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.project-openubl</groupId>
<artifactId>spring-boot-xsender-parent</artifactId>
<version>4.1.3-SNAPSHOT</version>
</parent>
<artifactId>spring-boot-xsender-integration-tests</artifactId>
<name>Spring Boot XSender - Integration Tests</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<surefire.plugin.version>3.0.0-M4</surefire.plugin.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

<dependencies>
<dependency>
<groupId>io.github.project-openubl</groupId>
<artifactId>spring-boot-xsender</artifactId>
<version>${project.version}</version>
</dependency>

<!-- Spring minimum libraries -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-test-spring-junit5</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${springboot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<release>11</release>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright 2019 Project OpenUBL, Inc. and/or its affiliates
* and other contributors as indicated by the @author tags.
*
* Licensed under the Apache License - 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.github.project.openubl.springboot.xsender.it;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
@ComponentScan("io.github.project.openubl.spring.xsender.runtime")
@SpringBootApplication
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}
Loading

0 comments on commit b6d56c4

Please sign in to comment.