Restrikt – A Kotlin/JVM compiler plugin to easily control symbols visibility

Hello guys, I recently published a new version of my Kotlin compiler plugin, so I thought I’d share it with you.

Restrikt is a compiler plugin for kotlin compiler. For people who don’t necessarily know what a compiler plugin is, it’s simply a program called by the compiler when sources are built to add extra specificities to the target.

This plugin currently offers two features:

  • Automatically prevent all internal symbols to be used from Java sources (no more need to use JvmSynthetic or JvmName) ;
  • Manually hide symbols either from Java or Kotlin with the usage of two annotations HideFromJava and HideFromKotlin (more control on their API for Kotlin/Jvm library developers).

Restrikt works with the command line (with kotlinc command) but the most common way to use it is through its Gradle plugin that features a configuration DSL.

For more details, check the Restrikt GitHub repository.

I’m open to any advice or suggestions.

submitted by /u/ZwenDo
[link] [comments]