首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >添加插件的SBT插件

添加插件的SBT插件
EN

Stack Overflow用户
提问于 2014-12-09 17:04:46
回答 1查看 483关注 0票数 2

我正在为我的组织创建一个插件,它提供了一个框架来快速创建新的服务。作为其中的一部分,有几个插件是所有项目都应该拥有的。虽然我可以为此创建一个模板,并从中创建每个新的应用程序,但我更愿意创建一个插件。这个插件将提供一套基本的功能,以及包括一堆其他插件。

以这种方式,最终用户只需更新一个插件时,他们想升级他们的堆栈。它不那么灵活,但它也更容易管理。我开始写我的插件,我想做的第一件事是将Play插件绑定到项目中。然而,我似乎无法使它发挥作用。我尝试通过插件将Play sbt-plugin添加到我的plugins.sbt中,但它不允许我访问插件应用程序代码中的play.Play.autoLoader._命名空间。例如:

project/plugins.sbt

代码语言:javascript
复制
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.6")

src/main/scala/com/example/sbt/plugin/Plugin.scala

代码语言:javascript
复制
package com.example.sbt.plugin

import sbt._                     // works just fine
import play.Play.autoImport._    // error, path doesn't exist

object Plugin {

  def project(settings: Seq[Def.Setting[_] /* other params */) : Project = {
    Project(settings).enablePlugins(play.PlayScala)
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-10 18:35:48

您可以使用自动插件:http://www.scala-sbt.org/release/api/index.html#sbt.AutoPlugin将项目设置和配置导入SBT。

这是在SBT 0.13.5中引入的。

在生产中使用自动插件的例子:http://github.com/allenai/sbt-plugins --几周前他们在PNWScala上做了一次关于它的介绍。它至少需要0.13.5 SBT

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27384627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档