Mark CouchbaseAnnotationProcessor for auto-discovery. (#1871)

Closes #1870
This commit is contained in:
Tigran Babloyan
2023-11-28 23:00:36 +04:00
committed by GitHub
parent a28dae2724
commit c0feffab42
3 changed files with 78 additions and 27 deletions

57
pom.xml
View File

@@ -247,6 +247,37 @@
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl}</version>
</dependency>
</dependencies>
<configuration>
<proc>none</proc>
</configuration>
<executions>
<execution>
<id>test-annotation-processing</id>
<phase>generate-test-sources</phase>
<goals>
<goal>testCompile</goal>
</goals>
<configuration>
<proc>only</proc>
<annotationProcessors>
<annotationProcessor>org.springframework.data.couchbase.repository.support.CouchbaseAnnotationProcessor</annotationProcessor>
</annotationProcessors>
<generatedTestSourcesDirectory>target/generated-test-sources</generatedTestSourcesDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
@@ -290,32 +321,6 @@
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>${apt}</version>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>${querydsl}</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>generate-test-sources</phase>
<goals>
<goal>test-process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-test-sources</outputDirectory>
<processor>
org.springframework.data.couchbase.repository.support.CouchbaseAnnotationProcessor
</processor>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

View File

@@ -31,6 +31,51 @@ public class Config extends AbstractCouchbaseConfiguration {
An advanced usage is described in <<couchbase.repository.multibucket>>.
[[couchbase.repository.configuration.dsl]]
=== QueryDSL Configuration
Spring Data Couchbase supports QueryDSL for building type-safe queries. To enable code generation you need to set `spring-data-couchbase` as annotation processor on your project.
.Maven Configuration Example
====
[source,xml]
----
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>[compiler-plugin-version]</version>
<configuration>
<annotationProcessorPaths>
<!-- path to the annotation processor -->
<path>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>[version]</version>
</path>
<path>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-couchbase</artifactId>
<version>[version]</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
----
====
.Gradle Configuration Example
====
[source,groovy]
----
annotationProcessor 'com.querydsl:querydsl-apt:${querydslVersion}'
annotationProcessor 'org.springframework.data:spring-data-couchbase:${springDataCouchbaseVersion}'
----
====
[[couchbase.repository.usage]]
== Usage
@@ -361,7 +406,7 @@ public interface AirportRepository extends PagingAndSortingRepository<Airport, S
----
====
[[dto-projections]]
[[couchbase.repository.dto-projections]]
=== DTO Projections
Spring Data Repositories usually return the domain model when using query methods.

View File

@@ -0,0 +1 @@
org.springframework.data.couchbase.repository.support.CouchbaseAnnotationProcessor