Compiler plugins are not distributed by default, but in fact they will be required by subordinates as a dependency, and you will not be able to circumvent this requirement.
The reason is simple, their code will be compiled in another compilation unit, so as long as you have functions that depend on the compiler plug-in that are found in the end code base, you will also need to write a note on this plug-in to explicitly add the dependency.
Hope this helps, and take, for example, the really popular Monocle lib here . Annotations will not expand without paradise, for example, so this is all a question of what the end user needs.
Quote
, @Lenses, :
addCompilerPlugin("org.scalamacros" %% "paradise" % "2.1.0" cross CrossVersion.full)