【问题标题】:scala compiler plugin development best practicescala编译器插件开发最佳实践
【发布时间】:2015-09-22 21:41:33
【问题描述】:

迭代我的编译器插件的代码,我在每次编译后将我的编译器插件发布到我的本地 ivy 存储库(通过publishLocal),然后运行我的另一个项目,其中通过@987654322 定义了对该插件的依赖项@。开发编译器插件有更简洁的做法吗?

当然,我可以将两者聚合成一个多项目构建定义。但是学习更多用于迭代插件代码的轻量级实践可能会很好......

我至少可以依赖编译器插件而不将其变成库吗?从addCompilerPlugin 允许的语法来看,看起来必须(?)创建和添加一个库,而不是仅仅依赖于类文件。

【问题讨论】:

  • sbt 图灵完备,当然可以。我只是不知道如何去做。

标签: scala sbt scala-compiler


【解决方案1】:

看看我在替罪羊插件中做了什么,我在其中创建了一个“测试”编译器。我用它以单元测试的形式编译代码sn-ps。

通过这种方式,您可以像往常一样编写代码和运行测试,而无需外部发布。

https://github.com/sksamuel/scalac-scapegoat-plugin/blob/master/src/test/scala/com/sksamuel/scapegoat/PluginRunner.scala

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 2012-05-23
    • 2010-10-01
    • 2022-01-19
    • 2011-08-26
    相关资源
    最近更新 更多