問題タブ [sbt-native-packager]
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 - Universal のマッピングが tarball に含まれるものに影響を与えないのはなぜですか?
私の概要はbuild.sbt
次のようになります。
実行すると、ファイルが最終的な tarball に表示されるuniversal:packageZipTarball
ことが期待されます。src/main/migrations
彼らはしません。
私が見るものは次のとおりです。
私のビルドの別のプロジェクトの非常によく似たコードは完全に機能します。
sbt - 展開で使用するパッケージの一部として構成ファイルをコピーする方法は?
私は sbt 0.13.5 を使用して、展開後に人間が編集することを意図したいくつかの構成ファイルを含むプロジェクトをビルドします。
sbt-native-packagerのコマンドを使用stage
すると、展開用の基本的な出力ディレクトリ構造が構築されます。これによりbin
、開始スクリプトとフォルダー内のすべての jar を含むlib
フォルダーが作成されます。偉大な。
これにより、フォルダーにコピーする必要があるテキスト構成ファイルがconf
そのまま残されますbin/
とlib/
フォルダー(任意の jar には含まれません)。
sbt を使用して、これらの構成ファイルを (jar ではなく) ファイルシステムの出力ディレクトリにコピーするにはどうすればよいですか?
playframework - Play プロジェクトで 'dist' を実行するときに scaladoc をスキップする
Play プロジェクト (現在 Play 2.3.0 を使用) で 'dist' を実行するときに scaladoc の実行を停止するにはどうすればよいですか? 例として:
そのプロセスの「scaladoc」部分には、20 秒のうち約12秒かかります。scaladocをまったく実行したくありません(この非ライブラリ プロジェクトで作業を行っている人は、実際のソース コードを見ることになります)。
scala - sbt-native-packager が私のリソースを jar ファイルに入れないようにする方法は?
sbt-native-packagerプラグインを使用して、アプリケーションの開始スクリプトを生成しています。このプラグインは、すべてのライブラリ依存関係を含む正しいクラスパス仕様を生成するため、非常に便利です。私はこのアプリケーションを配布していないので、すべてを 1 つの tarball にパッケージ化していません。sbt-native-packager によって生成されたディレクトリを使用します。このlib
ディレクトリには、プロジェクトが依存するすべての jar ファイル (サードパーティ ライブラリと、独自のクラスおよびリソース ファイルを含む jar ファイルの両方) が含まれています。
私のプロジェクトのsrc/main/resources
ディレクトリには、構成ファイルなど、インストール全体を再生成するために sbt-native-packager を使用せずに編集できるようにしたいファイルがあります。これらのファイルはすべてのクラスで jar ファイルに圧縮されているため、これは困難です。
質問: sbt-native-packager にリソース ファイルを jar ファイルに入れないように指示するにはどうすればよいでしょうか。ただし、これらのリソース ファイルの正しいクラスパスを使用して開始スクリプトを生成し、それらのリソース ファイルを現在のアプリケーションで見つけて読み取ることができます。 jarファイル内から?これがすべてのクラス ファイルを jar ファイルから除外することを意味する場合は、src/main/resources
再起動せずに変更できるファイルとして残りsbt stage
、開始スクリプトが機能する限り問題ありません。
scala - sbt-native-packager と ScalaFXML によるマクロ展開中の例外
ScalaFxを探索するために作成した github 上の小さなプロジェクトと、より大きなプロジェクトで使用したい他のいくつかのものがあります。今のところ、ScalaFX と ScalaFXML を使用して作成された単純な計算機である単一のサブプロジェクトが含まれています。
プロジェクトは、SBT コマンドを使用して正常にビルドおよび実行されますcalculator/run
。
現在、sbt-native-packager を使用してパッケージ化しようとしています。「exemple-cli」という単純なプロジェクトを追加しました (sbt-native-packager のドキュメントから)。このプロジェクトは問題なくパッケージ化されますexemple-cli/stage
(exemple-cli/target/universal/stage で期待される結果が得られます)。ただし、コマンドを実行するとcalculator/stage
、次のエラーが発生します。
どうやら、コントローラのプロキシ クラスを生成するために ScalaFXML で使用されるマクロにエラーがあるようですが、これは sbt-native-packager でパッケージ化する場合にのみ発生し、SBT でコンパイルする場合には発生しません。 ?
scala - sbt パッケージの依存関係の外部化
現在、scala プロジェクトの展開可能なビンは約 50MB に達しており、そのうちのほぼ 40MB は、展開 (scala-lang と aws) 間で変更される可能性が低い jar です。すべてのビルドにそれらを含める必要がないように、パッケージからそれらを外部化する方法はありますか?
jenkins - play で build.sbt 内の Jenkins ビルド番号を使用して、sbt-native-packager で RPM をビルドします。
この質問はUsing Jenkins BUILD NUMBER in RPM spec file に何らかの形で関連しています。
環境変数を使用して、Jenkins プロセスでビルド番号にアクセスできます${BUILD_NUMBER}
。しかし、Play 内でこの環境変数を使用するにはどうすればよいでしょうか。実際のビルド番号build.sbt
に設定するファイル?rpmRelease := "..."
RPM は、単純なシェル コマンドを使用して Jenkins 内で構築されますactivator rpm:packageBin
。
scala - sbt ネイティブ パッケージャー rpm インストールの一部としてのユーザー/グループの作成/削除を無効にする
現在、ユーザーとグループの両方を sbt ファイルの一部として定義しています。
これはユーザーを作成しようとし、さらに悪いことに、アンインストール時にユーザーを削除します。ユーザーはシェフ スクリプトによって作成されるため、rpm を使用して作成する必要はありません。ユーザーを削除すると、その後のインストールで間違った uid/gid で再作成されます。daemonUser を定義する方法はありますが、自動作成/削除を無効にしますか?
同じように、サービスの自動有効化を無効にする方法はありますか