einstein-bot-sdk-java
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.salesforce.einsteinbot</groupId>
<artifactId>einstein-bot-sdk-java</artifactId>
<version>3.0.2</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2022, salesforce.com, inc.
~ All rights reserved.
~ SPDX-License-Identifier: BSD-3-Clause
~ For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/BSD-3-Clause
-->
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.salesforce.einsteinbot</groupId>
<artifactId>einstein-bot-sdk-java</artifactId>
<version>3.0.2</version>
<packaging>jar</packaging>
<name>einstein-bot-sdk-java</name>
<description>Java SDK to interact with Einstein Bots Runtime.
This SDK is a wrapper around the Einstein Bots Runtime API that provides a few added features out of the box like Auth support, Session management
</description>
<url>https://github.com/forcedotcom/einstein-bot-sdk-java</url>
<properties>
<base-sdk-package>com.salesforce.einsteinbot.sdk</base-sdk-package>
<java.version>17</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
<maven-release-plugin.version>3.0.0</maven-release-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<jackson-databind-nullable-version>0.2.1</jackson-databind-nullable-version>
<swagger-core-version>2.1.7</swagger-core-version>
<jackson-version>2.15.0</jackson-version>
<jackson-annotations-version>2.15.0</jackson-annotations-version>
<javax-annotation-version>1.3.2</javax-annotation-version>
<spring-boot-starter-webflux-version>3.3.8</spring-boot-starter-webflux-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<einstein-bot-openapi-codegen-version>7.10.4</einstein-bot-openapi-codegen-version>
<junit-jupiter-version>5.5.2</junit-jupiter-version>
<spring-reactor-test-version>3.7.2</spring-reactor-test-version>
<spring-reactor-core-version>3.7.2</spring-reactor-core-version>
<openapi-generator-version>7.10.0</openapi-generator-version>
<!-- Runtime follows a fixed naming convention for all API versions
and this property decides on which API version will be used in the SDK. -->
<api-spec-version>5_3_0</api-spec-version>
<api-spec-yaml-file>v${api-spec-version}_api_specs.yml</api-spec-yaml-file>
<runtime-api-spec-url>https://runtime-api-na-west.prod.chatbots.sfdc.sh/docs/specs/${api-spec-yaml-file}</runtime-api-spec-url>
</properties>
<licenses>
<license>
<name>BSD 3-Clause</name>
<url>file://${basedir}/LICENSE.txt</url>
</license>
</licenses>
<organization>
<name>Salesforce</name>
<url>http://www.salesforce.com</url>
</organization>
<developers>
<developer>
<name>Salesforce</name>
<roles>
<role>Developer</role>
</roles>
<email>osscore@salesforce.com</email>
<organization>Salesforce</organization>
</developer>
<developer>
<name>Rajasekar Elango</name>
<roles>
<role>Developer</role>
</roles>
<email>einstein-bots-platform@salesforce.com</email>
<organization>Salesforce</organization>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/forcedotcom/einstein-bot-sdk-java.git</connection>
<developerConnection>scm:git:https://github.com/forcedotcom/einstein-bot-sdk-java.git</developerConnection>
<url>https://github.com/forcedotcom/einstein-bot-sdk-java</url>
<tag>v3.0.2</tag>
</scm>
<distributionManagement>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<plugins>
<!-- The Runtime Spec uses additionalProperties: true to be able to use schema between internal and public,
But open api code generator uses HashMap if additionalProperties is true and uses statically declared getters & setters doesn't work
So during validate phase we download spec and replace 'additionalProperties: true' with 'additionalProperties: false' -->
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.8</version>
<executions>
<execution>
<id>download-runtime-schema</id>
<phase>none</phase>
<goals>
<goal>wget</goal>
</goals>
</execution>
</executions>
<configuration>
<url>${runtime-api-spec-url}</url>
<outputDirectory>src/main/resources/</outputDirectory>
<skipCache>true</skipCache>
<outputFileName>${api-spec-yaml-file}</outputFileName>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>io.github.floverfelt</groupId>
<artifactId>find-and-replace-maven-plugin</artifactId>
<executions>
<execution>
<id>update-runtime-schema</id>
<phase>validate</phase>
<goals>
<goal>find-and-replace</goal>
</goals>
<configuration>
<replacementType>file-contents</replacementType>
<baseDir>src/main/resources</baseDir>
<findRegex>additionalProperties: true</findRegex>
<replaceValue>additionalProperties: false</replaceValue>
<recursive>false</recursive>
<fileMask>${api-spec-yaml-file}</fileMask>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi-generator-version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/${api-spec-yaml-file}</inputSpec>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
<useSpringBoot3>true</useSpringBoot3>
<useJakartaEe>true</useJakartaEe>
<dateLibrary>java8</dateLibrary>
</configOptions>
<modelPackage>${base-sdk-package}.model</modelPackage>
<apiPackage>${base-sdk-package}.api</apiPackage>
<invokerPackage>${base-sdk-package}.handler</invokerPackage>
<generateApiDocumentation>false</generateApiDocumentation>
<generateModelDocumentation>false</generateModelDocumentation>
<generatorName>einsteinbot</generatorName>
<generateApiTests>false</generateApiTests>
<generateModelTests>false</generateModelTests>
<typeMappings>
AnyOfBooleanVariableDateVariableDateTimeVariableMoneyVariableNumberVariableTextVariableObjectVariableRefVariableListVariable=AnyVariable,OneOfChoiceMessageTextMessageTransferSucceededRequestMessageTransferFailedRequestMessageRedirectMessageSetVariablesMessage=AnyRequestMessage,OneOfSessionEndedResponseMessageTextResponseMessageChoicesResponseMessageEscalateResponseMessageStaticContentMessage=AnyResponseMessage,AnyOfStaticContentAttachmentsStaticContentRichLinkStaticContentText=AnyStaticContentMessage,OneOfTextResponseMessageChoicesResponseMessageEscalateResponseMessageSessionEndedResponseMessage=AnyResponseMessage,ChatMessageEnvelopeMessage=AnyRequestMessage,ResponseEnvelopeMessagesInner=AnyResponseMessage,VariablesInner=AnyVariable
</typeMappings>
<languageSpecificPrimitives>
AnyOfBooleanVariableDateVariableDateTimeVariableMoneyVariableNumberVariableTextVariableObjectVariableRefVariableListVariable,OneOfChoiceMessageTextMessageTransferSucceededRequestMessageTransferFailedRequestMessageRedirectMessageSetVariablesMessage,OneOfSessionEndedResponseMessageTextResponseMessageChoicesResponseMessageEscalateResponseMessageStaticContentMessage,AnyOfStaticContentAttachmentsStaticContentRichLinkStaticContentText,OneOfTextResponseMessageChoicesResponseMessageEscalateResponseMessageSessionEndedResponseMessage,VariablesInner,ChatMessageEnvelopeMessage,ResponseEnvelopeMessagesInner
</languageSpecificPrimitives>
<library>webclient</library>
<additionalProperties>
ExcludeModelsImplementsPolymorphicInterface=Attachment
</additionalProperties>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.salesforce.einsteinbot</groupId>
<artifactId>einstein-bot-openapi-codegen-maven-plugin</artifactId>
<version>${einstein-bot-openapi-codegen-version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/gen/java</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<parameters>true</parameters>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>testCompile</id>
<phase>test-compile</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin.version}</version>
<configuration>
<tagNameFormat>v@{project.version}</tagNameFormat>
<autoVersionSubmodules>true</autoVersionSubmodules>
<releaseProfiles>releases</releaseProfiles>
<scmCommentPrefix>release: </scmCommentPrefix>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>write-project-properties</goal>
</goals>
<configuration>
<outputFile>${project.build.directory}/classes/properties-from-pom.properties</outputFile>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax-annotation-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations-jakarta</artifactId>
<version>${swagger-core-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-annotations-version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-version}</version>
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId>
<version>4.0.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>${jackson-databind-nullable-version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>4.1.115.Final</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec</artifactId>
<version>4.1.115.Final</version>
</dependency>
<dependency>
<groupId>org.wiremock</groupId>
<artifactId>wiremock</artifactId>
<version>3.9.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>3.9.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>de.mkammerer.wiremock-junit5</groupId>
<artifactId>wiremock-junit5</artifactId>
<version>1.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<scope>test</scope>
<groupId>net.javacrumbs.json-unit</groupId>
<artifactId>json-unit-fluent</artifactId>
<version>1.9.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>${spring-boot-starter-webflux-version}</version>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator</artifactId>
<version>${openapi-generator-version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator</artifactId>
<version>${openapi-generator-version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit-jupiter-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter-version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
<version>${spring-reactor-test-version}</version>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>${spring-reactor-core-version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.6.0</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>sign-artifacts</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<bottom>Copyright (c) 2004-2021, Salesforce.com, Inc. All
rights
reserved. Licensed under
the BSD 3-Clause license. For full license
text, see the LICENSE.txt
file in the
repository.
</bottom>
<doclint>none</doclint>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Sign the artifacts -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6</version>
<configuration>
<!-- Prevent gpg from using pinentry programs -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
<keyname>0x0CACA983</keyname>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>releases</id>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<executions>
<execution>
<id>default-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>