2

新しいサービスをすばやく作成するためのフレームワークを提供する組織用のプラグインを作成しています。その一環として、すべてのプロジェクトに必要なプラグインがいくつかあります。このためのテンプレートを作成し、そこから新しいアプリケーションを作成することもできますが、プラグインを作成したいと思います。このプラグインは、機能の基本セットを提供するだけでなく、他のプラグインも多数含みます。

このように、エンドユーザーはスタックをアップグレードしたいときに 1 つのプラグインを更新するだけで済みます。柔軟性は低くなりますが、管理もはるかに簡単です。プラグインの作成を開始しました。最初にやりたいことは、Play プラグインをプロジェクトに結び付けることです。しかし、私はそれを機能させることができないようです。sbt-pluginプラグインを使用して Playを追加しようとしましたが、プラグイン アプリケーション コード内の名前空間plugins.sbtにアクセスできません。play.Play.autoLoader._例えば:

プロジェクト/plugins.sbt

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

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)
  }
}
4

1 に答える 1