問題タブ [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.
scala - sbt.AutoPlugins を使用してコンパイル依存関係を追加できない
一連のスカラー形式の設定を自動的に設定するプラグインを構築しようとしています。
私のプラグインの build.sbt:
私の最初のプラグイン設計:
このプラグインをプロジェクトに追加すると、スカラフォームの設定が表示されます。
ただし、compileInputs には scalariform-format 依存関係がありません。
scalariformコマンドのオーバーライドをプラグインの値として明示的に追加し、それをプロジェクトに明示的に追加すると、正しい依存関係が得られます。
依存関係:
autoImport を使用してこの依存関係を自分で指定しようとしましたが、エラーが発生します。
エラー:
scala - プラグインを追加する SBT プラグイン
新しいサービスをすばやく作成するためのフレームワークを提供する組織用のプラグインを作成しています。その一環として、すべてのプロジェクトに必要なプラグインがいくつかあります。このためのテンプレートを作成し、そこから新しいアプリケーションを作成することもできますが、プラグインを作成したいと思います。このプラグインは、機能の基本セットを提供するだけでなく、他のプラグインも多数含みます。
このように、エンドユーザーはスタックをアップグレードしたいときに 1 つのプラグインを更新するだけで済みます。柔軟性は低くなりますが、管理もはるかに簡単です。プラグインの作成を開始しました。最初にやりたいことは、Play プラグインをプロジェクトに結び付けることです。しかし、私はそれを機能させることができないようです。sbt-plugin
プラグインを使用して Playを追加しようとしましたが、プラグイン アプリケーション コード内の名前空間plugins.sbt
にアクセスできません。play.Play.autoLoader._
例えば:
プロジェクト/plugins.sbt
src/main/scala/com/example/sbt/plugin/Plugin.scala
scala - 「enablePlugins」メソッドで使用される未定義の変数?
私build.sbt
はこのように見えます:
そして、project/plugins.sbt
次のようになります。
の最初の行に、次のbuild.sbt
ようなコードが表示されました。
私が理解できないのはPlayScala
、未定義の変数であるべきです。しかし、sbt を使用してプロジェクトをビルドすると、sbt はこれについて文句を言いませんでした。誰かがこれについてアイデアを持っていますか?
scala - すべてのスコープでタスクを拡張する方法 (現在未定義であっても)?
タスクにセットを追加するプラグインを作成していcompile
ます。
しかし、プロジェクトで使用すると、
Compile
これは、( 、Test
など)でコンパイラが定義されているコンテキストで役立つ可能性があります。
に変更compile
する(compile in Compile)
と問題が解決します。
ただし、コンテキストを明示的にリストすると、一部が省略さScctTest
れます (コード カバレッジ用の SCCT プラグインからのもの)。
コンパイルがあるすべてのコンテキストに対してこの操作を定義できる方法はありますか? それとも、ベスト プラクティスに反することをしようとしていますか?
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
ます。
理想的には、プラグインのエンド ユーザーが除外をいじる必要はありません。
この依存関係を除外し、この問題を引き起こさないようにプラグインを作成するにはどうすればよいですか?
sbt - SBT サブプロジェクトがプラグイン コマンドを認識しない
プラグインが提供するコマンドを SBT サブプロジェクトに認識させるのに問題があります。次のプラグイン ソースがあります。
次のように構成されたプロジェクトで使用されます。
もちろん、プラグインは にリストされていproject/plugins.sbt
ます。ただし、プロジェクトで sbt を開くと、次のように表示されます。
さらに奇妙なことに、 を使用すると、プロジェクト内のコマンドが!consoleProject
で定義されたものであることがわかります。DemoPlugin
sub/demo
と入力して、コマンドを実行できるようにしたいと考えていますdemo
。どんな助けでも大歓迎です!