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>