https://github.com/extenda/hiiretail-gcp-storage-java
Support lib for applications relying on GCP Cloud Storage
https://github.com/extenda/hiiretail-gcp-storage-java
java-libs
Last synced: about 1 month ago
JSON representation
Support lib for applications relying on GCP Cloud Storage
- Host: GitHub
- URL: https://github.com/extenda/hiiretail-gcp-storage-java
- Owner: extenda
- License: mit
- Created: 2024-01-23T15:17:56.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-14T06:59:06.000Z (over 1 year ago)
- Last Synced: 2024-06-14T07:55:25.872Z (over 1 year ago)
- Topics: java-libs
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 15
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Extenda Hii Retail GCP Storage client
A Google Cloud Platform Storage client implemented for JDK 21+ (Virtual threads).
[](https://sonarcloud.io/dashboard?id=extenda_hiiretail-gcp-storage-java)
[](https://sonarcloud.io/dashboard?id=extenda_hiiretail-gcp-storage-java)
[](https://sonarcloud.io/dashboard?id=extenda_hiiretail-gcp-storage-java)
## :nut_and_bolt: Configuration
The library supports changing these settings, via environmental variables:
* `SERVICE_PROJECT_ID`
The value of your GCP project id. Using `test-project` if not set.
* `STORAGE_EMULATOR_HOST`
The host url to the emulator. ***Can also be set as system property, e.g. in tests.***
### Docker compose example
```yaml
services:
cloudstorage:
image: oittaa/gcp-storage-emulator
command: >
start
--default-bucket=test-bucket
--host 0.0.0.0
--port 9023
environment:
STORAGE_DIR: cloudstorage
volumes:
- ./cloudstorage:/cloudstorage
ports:
- "9023:9023"
```
## :notebook_with_decorative_cover: Usage
```xml
com.google.cloud
libraries-bom
${version.google-cloud}
pom
import
com.google.cloud
google-cloud-storage
```
The library uses `SLF4J` as logging API, so make sure you have `log4j[2]` or `logback` or other
compatible implementation on the classpath.
## :scroll: Usage
TBD
## :wrench: Local development environment
* JDK 21+
* Python / pre-commit
### Building
```bash
$ mvn clean package
```
```bash
$ mvn verify
```
#### Install and run the pre-commit hooks before you submit code:
```bash
$ pre-commit install -t pre-commit -t commit-msg
```
## :information_desk_person: Contribution
Contributions to the project are welcome, but must adhere to a few guidelines:
* [Conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) should be followed
* Install and use a `editorconfig` plugin to use the project supplied settings