SethTisue / runtime-scaladoc-reader

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

runtime-scaladoc-reader Scala CI Maven Central License

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.

About

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

License:Apache License 2.0


Languages

Language:Scala 97.3%Language:Java 2.7%