bazelbuild / bazelbuild/rules_java

Add better support for generated resources

Aperta
#275 9 commenti 0 reazioni 0 assegnatari Vedi su GitHub
P3
Lingua principale
Starlark
Stelle
103
Fork
102
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

[`java_library.srcs`](https://bazel.build/reference/be/java#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`](https://github.com/bazelbuild/rules_java/blob/8.9.0/java/common/rules/impl/basic_java_library_impl.bzl#L95) 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 :pensive:.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo java/common/rules/impl/basic_java_library_impl.bzl intorno al campo resource_jars e segui come java_library.srcs e java_library.resources gestiscono gli input generati. Confronta gli approcci proposti e definisci il comportamento completato in modo da preservare i sorgenti Java includendo al contempo i file .properties trovati all'interno degli output .srcjar.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
build-system
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.