kotlin-client
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.couchbase.client</groupId> <artifactId>kotlin-client</artifactId> <version>1.4.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.couchbase.client</groupId> <artifactId>couchbase-jvm-clients</artifactId> <version>1.16.0</version><!--REL--> </parent> <artifactId>kotlin-client</artifactId> <version>1.4.0</version><!--REL--> <name>Couchbase Kotlin SDK</name> <description>The official Couchbase Kotlin SDK</description> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <kotlin.version>1.6.20</kotlin.version> <kotlin.coroutines.version>1.6.0</kotlin.coroutines.version> <kotlin.serialization.version>1.3.3</kotlin.serialization.version> <kotlin.code.style>official</kotlin.code.style> <dokka.version>1.6.10</dokka.version> <moshi.version>1.13.0</moshi.version> </properties> <dependencies> <!-- External, Required Dependencies --> <!-- Kotlin --> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-jdk8</artifactId> <version>${kotlin.coroutines.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-reflect</artifactId> <version>${kotlin.version}</version> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-reactive</artifactId> <version>${kotlin.coroutines.version}</version> </dependency> <!-- Jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jdk8</artifactId> <version>${jackson.version}</version> </dependency> <!-- Optional, used by KotlinxSerializationJsonSerializer --> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-serialization-json</artifactId> <version>${kotlin.serialization.version}</version> <optional>true</optional> </dependency> <!-- Optional, used by MoshiJsonSerializer --> <dependency> <groupId>com.squareup.moshi</groupId> <artifactId>moshi-kotlin</artifactId> <version>${moshi.version}</version> <optional>true</optional> </dependency> <!-- Couchbase --> <dependency> <groupId>com.couchbase.client</groupId> <artifactId>core-io</artifactId> </dependency> <!-- Test Dependencies --> <dependency> <groupId>com.couchbase.client</groupId> <artifactId>test-utils</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j-slf4j-impl.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.github.microutils</groupId> <artifactId>kotlin-logging-jvm</artifactId> <version>2.1.21</version> <scope>test</scope> <exclusions> <!-- prevent stdlib version mismatch --> <exclusion> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-common</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory> <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory> <plugins> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <configuration> <jvmTarget>1.8</jvmTarget> <args> <!-- Require explicit visibility modifiers so we don't accidentally leak stuff into the public API --> <arg>-Xexplicit-api=strict</arg> </args> <!-- For KotlinxSerializationJsonSerializer tests --> <compilerPlugins> <plugin>kotlinx-serialization</plugin> </compilerPlugins> </configuration> <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-serialization</artifactId> <version>${kotlin.version}</version> </dependency> </dependencies> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>test-compile</phase> <goals> <goal>test-compile</goal> </goals> </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> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>${build-helper-maven-plugin.version}</version> <executions> <execution> <id>add-integration-test-source-as-test-sources</id> <phase>generate-test-sources</phase> <goals> <goal>add-test-source</goal> </goals> <configuration> <sources> <!-- add the following sources in addition to the unit tests --> <source>${test-source-directory}</source> </sources> </configuration> </execution> <execution> <id>add-integration-test-resource-as-test-resource</id> <phase>generate-test-resources</phase> <goals> <goal>add-test-resource</goal> </goals> <configuration> <resources> <resource> <directory>${test-resource-directory}</directory> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <getRevisionOnlyOnce>true</getRevisionOnlyOnce> <shortRevisionLength>8</shortRevisionLength> <attach>true</attach> <addOutputDirectoryToResources>true</addOutputDirectoryToResources> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>${maven-javadoc-plugin.version}</version> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> <configuration> <show>private</show> <source>8</source> <doclint>none</doclint> <quiet>true</quiet> <stylesheetfile>${project.basedir}/../config/javadoc/style.css</stylesheetfile> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.jetbrains.dokka</groupId> <artifactId>dokka-maven-plugin</artifactId> <version>${dokka.version}</version> <executions> <execution> <phase>prepare-package</phase> <goals> <goal>dokka</goal> </goals> </execution> </executions> <configuration> <sourceDirectories> <dir>${project.basedir}/src/main/kotlin</dir> </sourceDirectories> <samples> <dir>${project.basedir}/src/main/kotlin</dir> </samples> <externalDocumentationLinks> <link> <!-- Root URL of the generated documentation to link with. The trailing slash is required! --> <url>https://docs.couchbase.com/sdk-api/couchbase-core-io/</url> </link> </externalDocumentationLinks> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifestEntries> <Build-Time>${maven.build.timestamp}</Build-Time> <Automatic-Module-Name>com.couchbase.client.kotlin</Automatic-Module-Name> </manifestEntries> <manifestSections> <manifestSection> <!-- the part after couchbase- needs to match with the agent title in the env --> <name>couchbase-kotlin</name> <manifestEntries> <Impl-Version>${project.version}</Impl-Version> <Impl-Git-Revision>${buildNumber}</Impl-Git-Revision> </manifestEntries> </manifestSection> </manifestSections> </archive> </configuration> </plugin> </plugins> </build> <profiles> <profile> <id>default</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- by default, add also the int tests --> <test-source-directory>src/integrationTest/kotlin</test-source-directory> <test-resource-directory>src/integrationTest/resources</test-resource-directory> </properties> </profile> <profile> <id>unit</id> <activation> <property> <name>unit</name> <value>true</value> </property> </activation> <properties> <!-- just adding the unit tests again, noop. --> <test-source-directory>src/test/kotlin</test-source-directory> <test-resource-directory>src/test/resources</test-resource-directory> </properties> </profile> </profiles> </project>