Skip to content

Commit

Permalink
Provided dependencies (#61)
Browse files Browse the repository at this point in the history
* Set scope to provided

* Add readme

* Update docs

* Fix format

* Update docs

(cherry picked from commit de8adb2)
  • Loading branch information
fh-ms authored and zdenek-jonas committed Nov 16, 2023
1 parent 5f175db commit 1506f9d
Show file tree
Hide file tree
Showing 24 changed files with 204 additions and 9 deletions.
11 changes: 11 additions & 0 deletions afs/aws/aws/README.md
@@ -0,0 +1,11 @@
# AFS adapter for AWS

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `software.amazon.awssdk:auth`
> - `software.amazon.awssdk:aws-core`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
8 changes: 3 additions & 5 deletions afs/aws/aws/pom.xml
Expand Up @@ -33,14 +33,12 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>auth</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
<artifactId>aws-core</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/aws/dynamodb/README.md
@@ -0,0 +1,10 @@
# AFS adapter for AWS DynamoDB

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `software.amazon.awssdk:dynamodb`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/aws/dynamodb/pom.xml
Expand Up @@ -28,6 +28,7 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/aws/s3/README.md
@@ -0,0 +1,10 @@
# AFS adapter for AWS S3

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `software.amazon.awssdk:s3`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/aws/s3/pom.xml
Expand Up @@ -28,6 +28,7 @@
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/azure/storage/README.md
@@ -0,0 +1,10 @@
# AFS adapter for Azure Storage

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `com.azure:azure-storage-blob`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/azure/storage/pom.xml
Expand Up @@ -31,6 +31,7 @@
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/googlecloud/firestore/README.md
@@ -0,0 +1,10 @@
# AFS adapter for Google Cloud FireStore

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `com.google.cloud:google-cloud-firestore`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/googlecloud/firestore/pom.xml
Expand Up @@ -23,6 +23,7 @@
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-firestore</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/kafka/README.md
@@ -0,0 +1,10 @@
# AFS adapter for Apache Kafka

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `org.apache.kafka:kafka-clients`
>
> Please refer to the [pom](./pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
9 changes: 5 additions & 4 deletions afs/kafka/pom.xml
Expand Up @@ -29,10 +29,11 @@
<version>${eclipse.serializer.version}</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.1.2</version>
</dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>

</project>
10 changes: 10 additions & 0 deletions afs/oraclecloud/objectstorage/README.md
@@ -0,0 +1,10 @@
# AFS adapter for Oracle Cloud Object Storage

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `com.oracle.oci.sdk:oci-java-sdk-objectstorage`
>
> Please refer to the [pom](../pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/oraclecloud/objectstorage/pom.xml
Expand Up @@ -33,6 +33,7 @@
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-objectstorage</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
10 changes: 10 additions & 0 deletions afs/redis/README.md
@@ -0,0 +1,10 @@
# AFS adapter for Redis

> **_NOTE:_**
>
> This module makes use of external libraries, which have to be provided by the user:
> - `io.lettuce:lettuce-core`
>
> Please refer to the [pom](./pom.xml) file for the used versions.
>
> This is done because they might bring licenses potentially incompatible with the EPL. It is the responsibility of the adaptor to acquire them.
1 change: 1 addition & 0 deletions afs/redis/pom.xml
Expand Up @@ -34,6 +34,7 @@
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>6.2.6.RELEASE</version>
<scope>provided</scope>
</dependency>
</dependencies>

Expand Down
1 change: 1 addition & 0 deletions docs/modules/ROOT/nav.adoc
Expand Up @@ -26,6 +26,7 @@
***** xref:storage:storage-targets/blob-stores/aws-dynamodb.adoc[DynamoDB]
***** xref:storage:storage-targets/blob-stores/aws-s3.adoc[S3]
**** xref:storage:storage-targets/blob-stores/azure-storage.adoc[Azure Storage]
**** xref:storage:storage-targets/blob-stores/google-cloud-firestore.adoc[Google Cloud Firestore]
**** xref:storage:storage-targets/blob-stores/kafka.adoc[Kafka]
**** xref:storage:storage-targets/blob-stores/oracle-cloud-object-storage.adoc[Oracle Cloud Object Storage]
**** xref:storage:storage-targets/blob-stores/redis.adoc[Redis]
Expand Down
Expand Up @@ -7,6 +7,11 @@
<artifactId>afs-aws-dynamodb</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>dynamodb</artifactId>
<version>2.17.272</version>
</dependency>
----

[source, java]
Expand Down
Expand Up @@ -7,6 +7,11 @@
<artifactId>afs-aws-s3</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.17.272</version>
</dependency>
----

[source, java]
Expand Down
Expand Up @@ -7,6 +7,12 @@
<artifactId>afs-azure-storage</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<version>1.0.2</version>
</dependency>
----

[source, java]
Expand Down
@@ -0,0 +1,77 @@
= Google Cloud Firestore

[source, xml, subs=attributes+]
----
<dependency>
<groupId>org.eclipse.store</groupId>
<artifactId>afs-googlecloud-firestore</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-firestore</artifactId>
<version>25.0.0</version>
</dependency>
----

[source, java]
----
Firestore firestore = ...
BlobStoreFileSystem fileSystem = BlobStoreFileSystem.New(
GoogleCloudFirestoreConnector.Caching(client)
);
EmbeddedStorage.start(fileSystem.ensureDirectoryPath("storage"));
----

== Configuration

When using xref:configuration/index.adoc#external-configuration[external configuration] Google Cloud Firestore can be set as follows.

[source, text, title="eclipsestore.properties"]
----
storage-filesystem.googlecloud.firestore.credentials.type=default
storage-filesystem.googlecloud.firestore.database-id=my-database-id
storage-filesystem.googlecloud.firestore.project-id=my-project-id
----

== Supported properties
[options="header", cols="1,2a"]
|===
|Property
|Description
//-------------
|database-id
|The database ID to use with this Firestore client.
|emulator-host
|The emulator host to use with this Firestore client.
|host
|The service host.
|project-id
|The project ID. If no project ID is set, the project ID from the environment will be used.
|quota-project-id
|The project ID that specifies the project used for quota and billing purposes.
|credentials.type
|The type of the credentials provider. Supported values are:
* "none" +
No credentials are used.
* "input-stream" +
Path of a JSON file stream. The stream can contain a Service Account key file in JSON format from the Google DevelopersConsole or a stored user credential using the format supported by the Cloud SDK.
* "default" +
Returns the Application Default Credentials which are used to identify and authorize thewhole application. The following are searched (in order) to find the Application DefaultCredentials:
. Credentials file pointed to by the GOOGLE_APPLICATION_CREDENTIALS environment variable
. Credentials provided by the Google Cloud SDK.
.. gcloud auth application-default login for user account credentials.
.. gcloud auth application-default login --impersonate-service-account forimpersonated service account credentials.
. Google App Engine built-in credentials
. Google Cloud Shell built-in credentials
. Google Compute Engine built-in credentials
|===
CAUTION: Depending on the amount of data and transactions, charges may apply depending on service usage. Please check with your service provider for details.
Expand Up @@ -7,6 +7,11 @@
<artifactId>afs-kafka</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>3.1.2</version>
</dependency>
----

[source, java]
Expand Down
Expand Up @@ -7,6 +7,11 @@
<artifactId>afs-oraclecloud-objectstorage</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>com.oracle.oci.sdk</groupId>
<artifactId>oci-java-sdk-objectstorage</artifactId>
<version>2.21.0</version>
</dependency>
----

[source, java]
Expand Down
Expand Up @@ -7,6 +7,11 @@
<artifactId>afs-redis</artifactId>
<version>{maven-version}</version>
</dependency>
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>6.2.6.RELEASE</version>
</dependency>
----

[source, java]
Expand Down

0 comments on commit 1506f9d

Please sign in to comment.