This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 72915b0a644 CAMEL-22467 Move EmbeddingStoreFactory to an api module to
slim down potential dependencies on clients
72915b0a644 is described below
commit 72915b0a644d13d20a216a1f26d6730c1f55a896
Author: Tom Cunningham <[email protected]>
AuthorDate: Tue Sep 30 12:06:55 2025 -0400
CAMEL-22467 Move EmbeddingStoreFactory to an api module to slim down
potential dependencies on clients
---
bom/camel-bom/pom.xml | 5 ++
catalog/camel-allcomponents/pom.xml | 5 ++
.../pom.xml | 61 ++++++++++++----------
.../services/org/apache/camel/other.properties | 7 +++
.../resources/langchain4j-embeddingstore-api.json | 13 +++++
.../embeddingstore/EmbeddingStoreFactory.java | 0
.../camel-langchain4j-embeddingstore/pom.xml | 5 ++
components/camel-ai/pom.xml | 1 +
.../json/langchain4j-embeddingstore-api.json | 1 +
parent/pom.xml | 5 ++
10 files changed, 75 insertions(+), 28 deletions(-)
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index fa912d0b1b2..08066b75c83 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1382,6 +1382,11 @@
<artifactId>camel-langchain4j-embeddingstore</artifactId>
<version>4.15.0-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-langchain4j-embeddingstore-api</artifactId>
+ <version>4.15.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-tokenizer</artifactId>
diff --git a/catalog/camel-allcomponents/pom.xml
b/catalog/camel-allcomponents/pom.xml
index 2b96ba6ae96..f79e09a43f4 100644
--- a/catalog/camel-allcomponents/pom.xml
+++ b/catalog/camel-allcomponents/pom.xml
@@ -1206,6 +1206,11 @@
<artifactId>camel-langchain4j-embeddingstore</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-langchain4j-embeddingstore-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-tokenizer</artifactId>
diff --git a/components/camel-ai/pom.xml
b/components/camel-ai/camel-langchain4j-embeddingstore-api/pom.xml
similarity index 52%
copy from components/camel-ai/pom.xml
copy to components/camel-ai/camel-langchain4j-embeddingstore-api/pom.xml
index 76718f92647..858b07f3d25 100644
--- a/components/camel-ai/pom.xml
+++ b/components/camel-ai/camel-langchain4j-embeddingstore-api/pom.xml
@@ -23,37 +23,42 @@
<modelVersion>4.0.0</modelVersion>
<parent>
+ <artifactId>camel-ai-parent</artifactId>
<groupId>org.apache.camel</groupId>
- <artifactId>components</artifactId>
<version>4.15.0-SNAPSHOT</version>
</parent>
- <artifactId>camel-ai-parent</artifactId>
- <packaging>pom</packaging>
- <name>Camel :: AI :: Parent</name>
- <description>Camel AI parent</description>
-
- <modules>
- <module>camel-chatscript</module>
- <module>camel-djl</module>
- <module>camel-docling</module>
- <module>camel-kserve</module>
- <module>camel-langchain4j-agent-api</module>
- <module>camel-langchain4j-agent</module>
- <module>camel-langchain4j-chat</module>
- <module>camel-langchain4j-core</module>
- <module>camel-langchain4j-embeddings</module>
- <module>camel-langchain4j-embeddingstore</module>
- <module>camel-langchain4j-tokenizer</module>
- <module>camel-langchain4j-tools</module>
- <module>camel-langchain4j-web-search</module>
- <module>camel-milvus</module>
- <module>camel-neo4j</module>
- <module>camel-pinecone</module>
- <module>camel-qdrant</module>
- <module>camel-tensorflow-serving</module>
- <module>camel-torchserve</module>
- <module>camel-weaviate</module>
- </modules>
+ <artifactId>camel-langchain4j-embeddingstore-api</artifactId>
+
+ <packaging>jar</packaging>
+ <name>Camel :: AI :: LangChain4j :: Embedding Store :: API</name>
+ <description>LangChain4j Embedding Store API</description>
+
+ <properties>
+ <supportLevel>Preview</supportLevel>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>dev.langchain4j</groupId>
+ <artifactId>langchain4j</artifactId>
+ <version>${langchain4j-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-api</artifactId>
+ </dependency>
+
+ <!-- test dependencies -->
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
diff --git
a/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/META-INF/services/org/apache/camel/other.properties
b/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/META-INF/services/org/apache/camel/other.properties
new file mode 100644
index 00000000000..58d079cae4c
--- /dev/null
+++
b/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/META-INF/services/org/apache/camel/other.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+name=langchain4j-embeddingstore-api
+groupId=org.apache.camel
+artifactId=camel-langchain4j-embeddingstore-api
+version=4.15.0-SNAPSHOT
+projectName=Camel :: AI :: LangChain4j :: Embedding Store :: API
+projectDescription=LangChain4j Embedding Store API
diff --git
a/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/langchain4j-embeddingstore-api.json
b/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/langchain4j-embeddingstore-api.json
new file mode 100644
index 00000000000..288f7214f95
--- /dev/null
+++
b/components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/langchain4j-embeddingstore-api.json
@@ -0,0 +1,13 @@
+{
+ "other": {
+ "kind": "other",
+ "name": "langchain4j-embeddingstore-api",
+ "title": "Langchain4j Embeddingstore Api",
+ "description": "LangChain4j Embedding Store API",
+ "deprecated": false,
+ "supportLevel": "Preview",
+ "groupId": "org.apache.camel",
+ "artifactId": "camel-langchain4j-embeddingstore-api",
+ "version": "4.15.0-SNAPSHOT"
+ }
+}
diff --git
a/components/camel-ai/camel-langchain4j-embeddingstore/src/main/java/org/apache/camel/component/langchain4j/embeddingstore/EmbeddingStoreFactory.java
b/components/camel-ai/camel-langchain4j-embeddingstore-api/src/main/java/org/apache/camel/component/langchain4j/embeddingstore/EmbeddingStoreFactory.java
similarity index 100%
rename from
components/camel-ai/camel-langchain4j-embeddingstore/src/main/java/org/apache/camel/component/langchain4j/embeddingstore/EmbeddingStoreFactory.java
rename to
components/camel-ai/camel-langchain4j-embeddingstore-api/src/main/java/org/apache/camel/component/langchain4j/embeddingstore/EmbeddingStoreFactory.java
diff --git a/components/camel-ai/camel-langchain4j-embeddingstore/pom.xml
b/components/camel-ai/camel-langchain4j-embeddingstore/pom.xml
index 3c277c66dd3..20fcb12fc42 100644
--- a/components/camel-ai/camel-langchain4j-embeddingstore/pom.xml
+++ b/components/camel-ai/camel-langchain4j-embeddingstore/pom.xml
@@ -45,6 +45,11 @@
<artifactId>camel-support</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-langchain4j-embeddingstore-api</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-embeddings</artifactId>
diff --git a/components/camel-ai/pom.xml b/components/camel-ai/pom.xml
index 76718f92647..a7b0c0b6091 100644
--- a/components/camel-ai/pom.xml
+++ b/components/camel-ai/pom.xml
@@ -43,6 +43,7 @@
<module>camel-langchain4j-chat</module>
<module>camel-langchain4j-core</module>
<module>camel-langchain4j-embeddings</module>
+ <module>camel-langchain4j-embeddingstore-api</module>
<module>camel-langchain4j-embeddingstore</module>
<module>camel-langchain4j-tokenizer</module>
<module>camel-langchain4j-tools</module>
diff --git
a/docs/components/modules/others/examples/json/langchain4j-embeddingstore-api.json
b/docs/components/modules/others/examples/json/langchain4j-embeddingstore-api.json
new file mode 120000
index 00000000000..27d7c52362a
--- /dev/null
+++
b/docs/components/modules/others/examples/json/langchain4j-embeddingstore-api.json
@@ -0,0 +1 @@
+../../../../../../components/camel-ai/camel-langchain4j-embeddingstore-api/src/generated/resources/langchain4j-embeddingstore-api.json
\ No newline at end of file
diff --git a/parent/pom.xml b/parent/pom.xml
index 2a14a54308d..f2037160263 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1857,6 +1857,11 @@
<artifactId>camel-langchain4j-embeddingstore</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-langchain4j-embeddingstore-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-langchain4j-tokenizer</artifactId>