問題タブ [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.
sbt - SBT - 特定のタスク (「パッケージ」など) のプラグインを無効にする方法
特定のタスクで SBT プラグイン (AutoPlugin) を無効にする方法はありますか。
たとえば、パッケージ化中にプラグイン SCoverage を無効にしたいと考えています。
私が試した:
しかし、それはうまくいきません。そこで、プラグインを完全に無効にする方法を探します。
scala - sbt プラグインで定義されたタスクを実行する方法
私のプロジェクトでは、タスクgenExportを公開するプラグインを使用しています。次のコマンドを使用して、コンソールからgenExportタスクを実行できます。
私の問題は、プロジェクトのコンパイル後に genExport を実行するように sbt プロジェクトを構成できないことです。
sbt のドキュメントから、名前でプラグインからタスクを呼び出す方法を取得できませんでした。私は実験しました:
成功せずに。私は何が欠けていますか?
sbt - sbt - 望ましくない依存関係があるとビルドが失敗する
不要な依存関係が存在する場合、sbt ビルドが失敗する必要があるという要件があります。具体的な使用例: log4j2 をロギング フレームワークとして使用し、依存関係に logback、commons-logging などを推移的に含めることを望まない。アル。
Maven ではエンフォーサ プラグインを使用しますが、sbt での方法がわかりません。
これまでの調査結果: 依存関係をグローバルに除外できます ( https://github.com/sbt/sbt/pull/1748 )。ビルドの失敗が必要なので、最初に導入されたときに依存関係に気づきます。
https://github.com/CSUG/sbt-one-logも見つけましたが、要件に完全に適合しておらず、積極的にメンテナンスされていないようです。
独自のプラグインの作成を開始する前に、これを実現するための既存のメカニズムはありますか?
scala - sbt-buildinfo を (再) ロード時のみ実行し、コンパイル時は実行しないようにするにはどうすればよいですか?
私はsbt-buildinfo
SBT プラグインを使用しています。
次の点を改善したいと思います。現在、生成されたファイルのすべての値は、sbt プロジェクト全体が再ロードされた場合にのみ変更でき、したがってcompile
実行ごとに変更されるわけではありません。したがってBuildInfo
、コンパイル時に再生成されるのを防ぎたいと思います。代わりに、プロジェクトのロード時にのみ直接生成します。
これは可能ですか?
maven - scala バージョンのない addSbtPlugin
基本的にプロジェクトをビルドするために実行される playframework 2.5 でビルドされたプロジェクトで、babel webjar プラグインを使用しようとしていますsbt
。
私が置くとき
project/plugins.sbt で、次のエラーが発生します。
pom ファイルはhttp://repo1.maven.org/maven2/org/webjars/babel/6.3.26-1/babel-6.3.26-1.pomにあります。これはほとんど sbt が試したアドレスですが、sbt は scala バージョンを追加しました。
scala バージョンを追加しないように sbt に指示する方法はありますか? このバージョンと 1 つのパーセント記号を試してみたところ、どちらも scala バージョンが追加されました。
私はsbt 0.13.9を使用しています。
scala - SBT マルチ プロジェクト ビルドでの scalastyle の実行
マルチプロジェクトビルドセットアップで SBT プロジェクトを作成しました。
- 根
- sub-projectA (ルートはそれに依存します)
- sub-projectB (ルートはそれに依存します)
プロジェクト内のいくつかのファイルに対してのみ scalastyle を実行したいと思います。これらのファイルは、3 つのプロジェクトのいずれかに配置できます。これらのファイルを選択するために、scalastyleSources
実行する前にコマンドラインから次のscalastyle
ように変更しています。
これは、root
指定したファイルに対して正しく実行されますが、sub-projectA と sub-projectB に対してさらに 2 回実行され、以前に に割り当てたファイルは完全に無視されますscalastyleSources
。
SBT に、変更された構成でscalastyleを 1 回だけ実行したいことを知らせる方法、またはコマンドを実行するときに特定のプロジェクトを完全に無視する機能が必要です。
これはまったく可能ですか?
sbt - build.sbt にない sbt プラグインを実行する
ソース パスなどの情報を照会する IDE 用の SBT プラグインを作成しようとしています。Mavenを使用して、次のようなことをします
pom.xml
がプラグインを参照していなくても、これは機能します。でこれを行う同様の方法はありsbt
ますか?
ソース パスの取得は一例です。でそれができることはわかっていますがsbt show sourceDirectories
、それは次の 2 つの理由から適切な答えではありません。
mvn
とに同じインターフェイスを使用できるようにしたいと考えています。sbt
また、将来サポートされる追加のビルド ツールも使用できるようにしたいと考えています。これには、クエリに応答するプロセスの開始が含まれます。- ソース パス以上のものを探している
ユーザーが build.sbt にプラグインを追加 (またはグローバルにインストール) せずにプラグインを開始することは可能ですか? それとも、リモート リポジトリから jar を実行するより良い方法はありますか (build.sbt には記載されていません)。