sbt-aspectj-runner

sbt plugin for running aspectj weaver

  • 所有者: kamon-io/sbt-aspectj-runner
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

sbt-aspectj-runner

Build Status
Download

This project contains two sbt plugins that automatically configure your build to perform Load-time weaving (LTW)
with Aspectj when running your application from within SBT, both for regular applications and Play Framework projects
in development mode and ensure that your aspects will always be woven as expected.

SBT versions 0.13 and 1.0 are supported.

Why this plugin?

First and foremost, simplicity. Although adding the AspectJ Weaver agent is just about adding the -javaagent option
to the JVM, doing so can be challenging when running from SBT. These plugins take care of the corner cases and ensure
that hitting run will just work, regardless your project type or whether you are forking the JVM or not.

Regular Projects (non-Play)

Configuring

Add the sbt-aspectj-runner plugin to your project/plugins.sbt file using the code bellow:

resolvers += Resolver.bintrayRepo("kamon-io", "sbt-plugins")
addSbtPlugin("io.kamon" % "sbt-aspectj-runner" % "1.1.1")

Running

Just run, like you do all the time!

Here is what the plugin will do depending on your fork settings:

  • fork in run := true: The forked process will run with the -javaagent:<jarpath> and that's all.
  • fork in run := false: A custom classloader called WeavingURLClassLoader will be used. This classloader will
    perform the same load-time weaving duties done by the AspectJ Weaver agent.

Play Projects

Configuring

For Play Framework 2.7 projects add the sbt-aspectj-runner-play-2.7 to your project/plugins.sbt file:

resolvers += Resolver.bintrayIvyRepo("kamon-io", "sbt-plugins")
addSbtPlugin("io.kamon" % "sbt-aspectj-runner-play-2.7" % "1.1.2")

For Play Framework 2.6 projects add the sbt-aspectj-runner-play-2.6 to your project/plugins.sbt file:

resolvers += Resolver.bintrayIvyRepo("kamon-io", "sbt-plugins")
addSbtPlugin("io.kamon" % "sbt-aspectj-runner-play-2.6" % "1.1.2")

For Play 2.4 and 2.5 you can use the older sbt-aspectj-play-runner plugin:

resolvers += Resolver.bintrayIvyRepo("kamon-io", "sbt-plugins")
addSbtPlugin("io.kamon" % "sbt-aspectj-play-runner" % "1.0.4")

This plugin has been tested with Play 2.4.8, Play 2.5.10, Play 2.6.11 and Play 2.7.0.

Running

Just run, like you do all the time! A notice will be shown saying that you are running your application with the
AspectJ Weaver.

The Play Framework SBT plugin will not allow the JVM to be forked so this plugin will override the way class loaders are
created to use WeavingURLClassLoader instead, making sure that aspects will be woven when running on Development mode.

Examples

There are full runnable examples.

概覽

名稱與所有者kamon-io/sbt-aspectj-runner
主編程語言Scala
編程語言Scala (語言數: 1)
平台
許可證Other
發布數4
最新版本名稱v1.1.1 (發布於 )
第一版名稱v1.0.0 (發布於 2017-01-20 13:26:58)
創建於2015-08-07 13:01:03
推送於2021-05-04 09:56:55
最后一次提交2019-02-22 17:59:21
星數34
關注者數7
派生數18
提交數76
已啟用問題?
問題數25
打開的問題數12
拉請求數10
打開的拉請求數1
關閉的拉請求數1
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?
去到頂部