Note
BDK version 3.0: Major change !
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.
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).
Please consider migrating your Bots in the coming months to benefit from the latest features and support.
Important
As detailed above, the BDK version 2.0 will stop being supported by Symphony on August 15.
The official Symphony BDK for Java helps you to create production-grade Chat Bots and Extension Applications on top of the Symphony REST APIs.
The reference documentation includes detailed installation instructions as well as a comprehensive getting started guide.
Here is a quick teaser of a complete Symphony BDK application in Java:
public class BotApplication {
public static void main(String[] args) {
final SymphonyBdk bdk = new SymphonyBdk(BdkConfigLoader.loadFromSymphonyDir("config.yaml"));
bdk.activities().register(slash("/hello", context -> {
bdk.messages().send(context.getStreamId(), "<messageML>Hello, World!</messageML>");
}));
bdk.datafeed().start();
}
}
The Symphony BDK uses a Gradle build. The instructions below use the Gradle Wrapper from the root of the source tree. The wrapper script serves as a cross-platform, self-contained bootstrap mechanism for the build system.
To build you will need Git and JDK 8 or later.
Be sure that your JAVA_HOME
environment variable points to the jdk1.8+
folder extracted from the JDK download.
To compile, test and build all BDK2.0 jars, use:
./gradlew
To compile, test and build legacy jars:
git checkout legacy
./gradlew
Legacy modules (SDK and BDK 1.0) have been moved to the legacy branch
To install all Symphony BDK jars in your local Maven repository, use:
./gradlew publishToMavenLocal
In order to get in touch with the project team, please open a GitHub Issue. Alternatively, you can email/subscribe to [email protected].
- Fork it (https://github.com/finos/symphony-bdk-java/fork)
- Create your feature branch (
git checkout -b feature/fooBar
) - Read our contribution guidelines and Community Code of Conduct
- Commit your changes (
git commit -am 'Add some fooBar'
) - Push to the branch (
git push origin feature/fooBar
) - Create a new Pull Request
NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email [email protected]
Copyright 2021 Symphony LLC
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0