Skip to content

zengularity/benji

Repository files navigation

Benji

A Scala framework for unified object storage access, supporting Amazon S3, Google Cloud Storage, and local/remote filesystems via Apache VFS.

⚠️ Maintenance status

The original maintainer, cchantep, is no longer actively maintaining this project.

See the continuation at Jinbe.

Build

The project is using SBT, so to build it from sources the following command can be used.

./project/build.sh

CircleCI Maven Javadocs

The environment variable PLAY_VERSION can be set to build the play module appropriately.

Getting Started

The simplest way to get started is with the QuickStart guide. Core concepts:

  • All storage operations work through an ObjectStorage interface
  • Buckets are accessed via BucketRef (for modification)
  • Objects are accessed via ObjectRef (for read/write/delete)
  • Operations are async with Akka Streams

Available backends:

Documentation

Release

To prepare a new release the following command must be used.

sbt release

Publish release

To publish a release on Maven Central, use the following steps.

  • Build artifacts: ./project/build.sh
  • Publish all modules: ./project/deploy.sh <version> <pgp-key>
  • Publish only play modules:
export SCALA_MODULES="play:benji-play"
./project/deploy.sh <version> <pgp-key>

Publish snapshot

Execute ./project/snapshot.sh

About

📁 This library is a Scala reactive DSL for object storage (e.g. S3/Amazon, S3/CEPH, Google Cloud Storage).

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages