Add better support for generated resources

オープン
#275 コメント 9 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
java
領域
build-system

調査の方向性

まず、resource_jars フィールド付近の java/common/rules/impl/basic_java_library_impl.bzl を読み、java_library.srcs と java_library.resources が生成された入力をどのように処理するかを追跡します。提案されているアプローチを比較し、Java ソースを保持しながら .srcjar 出力内にある .properties ファイルを含めることを、完了時の動作として定義します。

索引モデルが issue の本文から書いたものです。

説明

P3

java_library.srcs supports .srcjar files to facilitate including generated sources. .properties files included in java_library.srcs are filtered and included in java_library.resources. Consider extending the current behaviour so that .properties files included in .srcjar files are also included in java_library.resources. This will facilitate the usage of generated resources.

For example, I have a genrule that generates .java and .properties files and I don't necessarily know all of them during the analysis phase for declaration purposes. For this reason, my rule instead generates a .srcjar file. However, the .properties files inside that .srcjar file are being skipped.

There are other alternative ways of going about it:

  • There's already an internal resource_jars field that could perhaps be reused for this effect (at the moment it seems to always be forced as empty)? However, straight including .srcjar files in this field won't achieve the desired outcome as this can result in .java files appearing inside the final .jar file. Maybe somehow expose this field to users?

  • Support something like .resourcejar files in java_library.resources. This would be a breaking change 😔.

主要言語
Starlark
スター
103
フォーク
102
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

bazelbuild/rules_java のほかの issue

bazelbuild/rules_java の issue をすべて見る

似ている issue

Build System の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。