Allows to read Scaladoc at runtime by embedding as annotation by the compiler plugin.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

runtime-scaladoc-reader

Allows to read Scaladoc at runtime by embedding as annotation by the compiler plugin.

Setup

Add following configuration to your build.sbt:

libraryDependencies += "com.github.takezoe" %% "runtime-scaladoc-reader" % "1.0.1"

addCompilerPlugin("com.github.takezoe" %% "runtime-scaladoc-reader" % "1.0.1")

Usage

Assuming you have a below class which has Scaladoc:

package com.github.takezoe

/**
 * Hello, World!
 */
class HelloWorld {
  ...
}

You can get Scaladoc at runtime as follows:

import com.github.takezoe.HelloWorld
import com.github.takezoe.scaladoc.Scaladoc

val clazz = classOf[HelloWorld]
val scaladoc = clazz.getAnnotation(classOf[Scaladoc])

if(scaladoc != null){
  val comment: String = scaladoc.value()
  println(comment)
}

You can also get Scaladoc from Method and Field as same as Class.