問題タブ [sbt-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
484 参照

scala - sbt.AutoPlugins を使用してコンパイル依存関係を追加できない

一連のスカラー形式の設定を自動的に設定するプラグインを構築しようとしています。

私のプラグインの build.sbt:

私の最初のプラグイン設計:

このプラグインをプロジェクトに追加すると、スカラフォームの設定が表示されます。

ただし、compileInputs には scalariform-format 依存関係がありません。

scalariformコマンドのオーバーライドをプラグインの値として明示的に追加し、それをプロジェクトに明示的に追加すると、正しい依存関係が得られます。

依存関係:

autoImport を使用してこの依存関係を自分で指定しようとしましたが、エラーが発生します。

エラー:

0 投票する
1 に答える
465 参照

scala - プラグインを追加する SBT プラグイン

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

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

プロジェクト/plugins.sbt

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

0 投票する
1 に答える
184 参照

scala - 「enablePlugins」メソッドで使用される未定義の変数?

build.sbtはこのように見えます:

そして、project/plugins.sbt次のようになります。

の最初の行に、次のbuild.sbtようなコードが表示されました。

私が理解できないのはPlayScala、未定義の変数であるべきです。しかし、sbt を使用してプロジェクトをビルドすると、sbt はこれについて文句を言いませんでした。誰かがこれについてアイデアを持っていますか?

0 投票する
0 に答える
50 参照

scala - すべてのスコープでタスクを拡張する方法 (現在未定義であっても)?

タスクにセットを追加するプラグインを作成していcompileます。

しかし、プロジェクトで使用すると、

Compileこれは、( 、Testなど)でコンパイラが定義されているコンテキストで役立つ可能性があります。

に変更compileする(compile in Compile)と問題が解決します。

ただし、コンテキストを明示的にリストすると、一部が省略さScctTestれます (コード カバレッジ用の SCCT プラグインからのもの)。

コンパイルがあるすべてのコンテキストに対してこの操作を定義できる方法はありますか? それとも、ベスト プラクティスに反することをしようとしていますか?

0 投票する
0 に答える
547 参照

dependencies - sbt プラグインの依存関係を除外するにはどうすればよいですか?

https://github.com/google/guice/issues/846に 1 時間以上頭を悩ませた後、guice-4.0-beta5.jar と sisu-guice という 2 つの異なる jar によって提供される Guice ライブラリがあることに気付きました。 -3.1.3-no_aop.jar。

ガァァァ…

2 つ目は Guava 18 と互換性がなく、読み込まれると、Guava の使用時にアクセス エラーが発生します。

によって暗黙的に追加されたものを除いて、依存関係のない SBT プラグインを作成していますsbtPlugin := true

依存関係ツリー (私のプラグインはcom.github.pauldraper.playclosure:sbt-plugin):

したがって、この恐ろしい依存関係は、 を通じて推移的に発生しsbt-pluginます。

理想的には、プラグインのエンド ユーザーが除外をいじる必要はありません。

この依存関係を除外し、この問題を引き起こさないようにプラグインを作成するにはどうすればよいですか?

0 投票する
1 に答える
95 参照

sbt - SBT サブプロジェクトがプラグイン コマンドを認識しない

プラグインが提供するコマンドを SBT サブプロジェクトに認識させるのに問題があります。次のプラグイン ソースがあります。

次のように構成されたプロジェクトで使用されます。

もちろん、プラグインは にリストされていproject/plugins.sbtます。ただし、プロジェクトで sbt を開くと、次のように表示されます。

さらに奇妙なことに、 を使用すると、プロジェクト内のコマンドが!consoleProjectで定義されたものであることがわかります。DemoPlugin

sub/demoと入力して、コマンドを実行できるようにしたいと考えていますdemo。どんな助けでも大歓迎です!