Skip to content

Commit 2fc51fb

Browse files
Merge pull request #791 from finos/release/v3.0
Update reference doc for BDK release 3.0
2 parents 9048466 + 1dc3078 commit 2fc51fb

File tree

4 files changed

+146
-11
lines changed

4 files changed

+146
-11
lines changed

.github/workflows/build.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ jobs:
2222
java-version: '17'
2323

2424
- name: Build with Gradle
25-
uses: gradle/gradle-build-action@v2
25+
uses: gradle/gradle-build-action@v2.4.2
2626
with:
2727
arguments: build jacocoTestReport jacocoTestCoverageVerification

docs/_config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
title: BDK 2.0 for Java
1+
title: BDK 3.0 for Java
22
description: Reference documentation for using the Symphony BDK to build bots
33
theme: just-the-docs
44
plugins:
55
- jemoji
66
url: https://symphony-bdk-java.finos.org
77
color_scheme: symphony
88
aux_links:
9-
"BDK 2.0 on GitHub":
9+
"BDK 3.0 on GitHub":
1010
- "//github.com/finos/symphony-bdk-java"

docs/index.md

+12
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,18 @@ nav_order: 1
66

77
# Symphony BDK Reference Documentation
88

9+
> [!NOTE]
10+
> BDK version 3.0: Major change !
11+
>
12+
> The newly introduced BDK version 3.0 relies on Java 17 and SpringBoot 3. This is a major change that allows Symphony to continue to propose the latest security fixes following the end of support of Spring Boot 2 and also to keep up with the latest evolutions of Java.
13+
>
14+
> For the next 6 months Symphony will provide critical security fixes for BDK 2.0 where possible (since Spring gives no guarantees for their packages).
15+
>
16+
> Please consider migrating your Bots in the coming months to benefit from the latest features and support.
17+
18+
> [!IMPORTANT]
19+
> As detailed above, the BDK version 2.0 will stop being supported by Symphony on August 15.
20+
921
This reference guide provides detailed information about the Symphony BDK. It provides a comprehensive documentation
1022
for all features and abstractions made on top of the [Symphony REST API](https://developers.symphony.com/restapi/reference/introduction).
1123

docs/migration.md

+131-8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,129 @@ title: Migration Guide
44
nav_order: 3
55
---
66

7+
# Migration guide to Symphony BDK 3.0 from 2.0
8+
9+
This guide provides information about how to migrate from Symphony BDK 2.0 to BDK 3.0. Migration for the following topics will be detailed here:
10+
- JDK17
11+
- Dependencies
12+
13+
## JDK17
14+
The major change in BDK 3.0 is the migration from JDK8 to JDK17, this migration requires
15+
- IDE update
16+
- Package naming change
17+
- New compiler argument in build tool
18+
19+
### IDE update
20+
BDK Bot developers needs install JDK17 in their development environment, and configure IDE to used JDK17 instead of JDK8.
21+
22+
23+
### Package naming change
24+
Replace all `javax.xxx` package imports to `jakarta.xxx`.
25+
26+
Java BDK 2.0
27+
28+
```java
29+
import javax.ws.rs.ProcessingException;
30+
```
31+
Java BDK 3.0
32+
33+
```java
34+
import jakarta.ws.rs.ProcessingException;
35+
```
36+
37+
### New compiler argument in build tool
38+
39+
A new `-parameters` argument must be passed to the compiler, so that `@Slash` commands and/or other java annotations continue to work
40+
with JDK17.
41+
42+
#### Maven
43+
44+
```xml
45+
<plugin>
46+
<groupId>org.apache.maven.plugins</groupId>
47+
<artifactId>maven-compiler-plugin</artifactId>
48+
<version>${maven.compiler.version}</version>
49+
<configuration>
50+
<compilerArgs>
51+
<arg>-parameters</arg>
52+
</compilerArgs>
53+
</configuration>
54+
</plugin>
55+
```
56+
57+
#### Gradle
58+
```groovy
59+
tasks.withType(JavaCompile) {
60+
options.encoding = 'UTF-8'
61+
options.compilerArgs << '-parameters'
62+
}
63+
```
64+
65+
## Dependencies
66+
67+
Simply update BDK dependency version to `3.0.0`
68+
69+
### Spring Boot based project
70+
71+
```xml
72+
<dependencyManagement>
73+
<dependencies>
74+
<dependency>
75+
<groupId>org.finos.symphony.bdk</groupId>
76+
<artifactId>symphony-bdk-bom</artifactId>
77+
<version>3.0.0</version>
78+
<type>pom</type>
79+
<scope>import</scope>
80+
</dependency>
81+
</dependencies>
82+
</dependencyManagement>
83+
84+
<dependencies>
85+
<dependency>
86+
<groupId>org.finos.symphony.bdk</groupId>
87+
<artifactId>symphony-bdk-core-spring-boot-starter</artifactId>
88+
</dependency>
89+
<dependency>
90+
<groupId>org.springframework.boot</groupId>
91+
<artifactId>spring-boot-starter</artifactId>
92+
</dependency>
93+
</dependencies>
94+
```
95+
96+
### Non framework based project
97+
98+
#### Java BDK 3.0
99+
```xml
100+
<dependencyManagement>
101+
<dependencies>
102+
<dependency>
103+
<groupId>org.finos.symphony.bdk</groupId>
104+
<artifactId>symphony-bdk-bom</artifactId>
105+
<version>3.0.0</version>
106+
<type>pom</type>
107+
<scope>import</scope>
108+
</dependency>
109+
</dependencies>
110+
</dependencyManagement>
111+
112+
<dependencies>
113+
<dependency>
114+
<groupId>org.finos.symphony.bdk</groupId>
115+
<artifactId>symphony-bdk-core</artifactId>
116+
</dependency>
117+
<dependency>
118+
<groupId>org.finos.symphony.bdk</groupId>
119+
<artifactId>symphony-bdk-http-jersey2</artifactId> <!-- or symphony-bdk-http-webclient -->
120+
<scope>runtime</scope>
121+
</dependency>
122+
<dependency>
123+
<groupId>org.finos.symphony.bdk</groupId>
124+
<artifactId>symphony-bdk-template-freemarker</artifactId> <!-- or symphony-bdk-http-handlebars -->
125+
<scope>runtime</scope>
126+
</dependency>
127+
</dependencies>
128+
```
129+
7130
# Migration guide to Symphony BDK 2.0
8131

9132
This guide provides information about how to migrate from Symphony SDK 1.0 to BDK 2.0. Migration for the following topics will be detailed here:
@@ -51,14 +174,14 @@ If your project is not framework based, dependencies such as *jersey* and *freem
51174
</dependencyManagement>
52175

53176
<dependencies>
54-
<dependency>
55-
<groupId>org.finos.symphony.bdk</groupId>
56-
<artifactId>symphony-bdk-core-spring-boot-starter</artifactId>
57-
</dependency>
58-
<dependency>
59-
<groupId>org.springframework.boot</groupId>
60-
<artifactId>spring-boot-starter</artifactId>
61-
</dependency>
177+
<dependency>
178+
<groupId>org.finos.symphony.bdk</groupId>
179+
<artifactId>symphony-bdk-core-spring-boot-starter</artifactId>
180+
</dependency>
181+
<dependency>
182+
<groupId>org.springframework.boot</groupId>
183+
<artifactId>spring-boot-starter</artifactId>
184+
</dependency>
62185
</dependencies>
63186
```
64187

0 commit comments

Comments
 (0)