ocaps
ocaps is a library for working with object capabilities in Scala.
- Revoker / Revocable classes for revoking capabilities.
- Brand for sealing and unsealing capabilities
- RevocableMembrane for revocation as an effect.
- Macros for composition, attenuation, revocable and modulating capabilities.
- No libraries dependencies (other than
scala-reflect)
Documentation can be found at https://wsargent.github.io/ocaps/
Examples can be found at http://wsargent.github.io/ocaps/examples/
A guide to object capabilities can be found at http://wsargent.github.io/ocaps/guide/
The ocaps library was presented as part of the Security in Scala presentation at Scaladays NYC 2018. Slides and video are available.
Usage
Add the following to build.sbt
resolvers += Resolver.bintrayRepo("wsargent","maven")
// where latestVersion is defined up top
libraryDependencies += "ocaps" %% "ocaps-core" % latestVersion
Releasing
To release a new version of ocaps:
sbt release
Updating Website
To update the website, change version.sbt so it's the release version and not snapshot (there should be a way to do this automatically) and then do the following:
sbt
> clean
> makeSite
> previewSite
> ghpagesPushSite