Add better support for generated resources

Offen
#275 9 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Anfängerfreundlichkeit
35/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
java
Bereich
build-system

Rechercherichtung

Beginne damit, java/common/rules/impl/basic_java_library_impl.bzl rund um das Feld resource_jars zu lesen, und verfolge, wie java_library.srcs und java_library.resources mit generierten Eingaben umgehen. Vergleiche die vorgeschlagenen Ansätze und definiere das abgeschlossene Verhalten so, dass Java-Quellen erhalten bleiben und .properties-Dateien eingeschlossen werden, die sich innerhalb von .srcjar-Ausgaben befinden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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 😔.

Vorherrschende Sprache
Starlark
Sterne
103
Forks
102
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus bazelbuild/rules_java

Alle Issues in bazelbuild/rules_java

Ähnliche Issues

Weitere Issues zu Build System

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.