java-client
Used in
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.couchbase.client</groupId> <artifactId>java-client</artifactId> <version>3.7.3</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 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.couchbase.client</groupId> <artifactId>couchbase-jvm-clients</artifactId> <version>1.16.3</version><!--REL--> </parent> <artifactId>java-client</artifactId> <version>3.7.3</version><!--REL--> <!-- Does not need packaging bundle as the felix plugin does this <packaging>bundle</packaging> --> <name>Couchbase Java SDK</name> <description>The official Couchbase Java SDK</description> <dependencies> <!-- External, Required Dependencies --> <dependency> <groupId>com.couchbase.client</groupId> <artifactId>core-io</artifactId> <version>${core-io.version}</version> </dependency> <!-- External, Optional Dependencies --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> <optional>true</optional> </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.projectreactor</groupId> <artifactId>reactor-test</artifactId> <version>${reactor.version}</version> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <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.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> <source>8</source> <doclint>none</doclint> <quiet>true</quiet> </configuration> </execution> </executions> <configuration> <source>8</source> <links> <link>https://projectreactor.io/docs/core/release/api/</link> <link>https://docs.couchbase.com/sdk-api/couchbase-core-io/</link> </links> <tags> <tag> <name>implNote</name> <placement>a</placement> <head>Implementation Note:</head> </tag> </tags> </configuration> </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.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <!-- Attributes like `Automatic-Module-Name` and `Implementation-Version` that would normally be set here are instead set by `maven-bundle-plugin`. See the comment in that plugin config for details. --> <archive> <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> </archive> </configuration> </plugin> <!-- Fetch core-io sources and javadoc for inclusion in the release-archive assembly --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>get-dependency-sources</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <includeArtifactIds>core-io</includeArtifactIds> <outputDirectory>${project.build.directory}/dependency-attachments</outputDirectory> <classifier>sources</classifier> </configuration> </execution> <execution> <id>get-dependency-javadoc</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <includeArtifactIds>core-io</includeArtifactIds> <outputDirectory>${project.build.directory}/dependency-attachments</outputDirectory> <classifier>javadoc</classifier> </configuration> </execution> </executions> </plugin> <!-- Build the release-archive assembly. Must be defined *after* maven-dependency-plugin, since the assembly uses files fetched by that plugin. --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <descriptors> <descriptor>src/assembly/release-archive.xml</descriptor> </descriptors> <finalName>Couchbase-Java-Client-${project.version}</finalName> <appendAssemblyId>false</appendAssemblyId> <attach>false</attach> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>5.1.2</version> <extensions>true</extensions> <configuration> <instructions> <!-- The `maven-bundle-plugin` interferes with property placeholder resolution in `maven-jar-plugin`. Specifically, using ${buildNumber} with `maven-jar-plugin` doesn't work when the bundle plugin is present. See https://stackoverflow.com/questions/12604161/error-while-adding-svn-revision-in-jar-manifest-with-maven-and-maven-bundle-plug As a workaround, declare the manifest attributes here instead, even though they are not related to bundles. --> <Implementation-Version>${project.version}+${buildNumber}</Implementation-Version> <Build-Time>${maven.build.timestamp}</Build-Time> <Automatic-Module-Name>com.couchbase.client.java</Automatic-Module-Name> <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> <Bundle-Version>${project.version}</Bundle-Version> <Export-Package> com.couchbase.client.java.*, </Export-Package> <Import-Package> javax.naming, javax.security.cert, javax.security.sasl, javax.security.auth.*, javax.crypto, javax.crypto.spec, reactor.core, reactor.core.*, reactor.util.*, org.reactivestreams.*, org.slf4j, org.slf4j.*, com.couchbase.client.core.*, </Import-Package> <_exportcontents>*</_exportcontents> </instructions> </configuration> <executions> <execution> <id>bundle-manifest</id> <phase>process-classes</phase> <goals> <goal>manifest</goal> </goals> </execution> </executions> </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/java</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/java</test-source-directory> <test-resource-directory>src/test/resources</test-resource-directory> </properties> </profile> </profiles> </project>