CI | Release | Issues | Discord |
---|---|---|---|
Zio-macros has been moved into ZIO Core. This repo will no longer be maintained.
Scrap boilerplate in your ZIO projects. Learn more about ZIO at:
This project is a loose collection of different macro-based solutions to simplify your code. Head to the specific docs to learn more about the ones that interest you.
- accessible - Generate public accessors for ZIO services.
- mockable - Automatically derive mockable implementations for your services.
The macros have been split into two subprojects.
zio-macros-core
has no dependencies other thanzio
, it contains accessible, delegate and mix
"dev.zio" %% "zio-macros-core" % "<version>"
zio-macros-test
depends onzio-test
andzio-macros-core
, it contains mockable
"dev.zio" %% "zio-macros-test" % "<version>"
As this project is heavily using macros you will need to enable them:
- If using a scala version < 2.13 you need to add the macro paradise compiler plugin.
compilerPlugin(("org.scalamacros" % "paradise" % "2.1.1") cross CrossVersion.full)
- If using scala 2.13 you need to add the macro annotation compiler options.
scalacOptions += "-Ymacro-annotations"