google / google/google-java-format

How to run google-java-format from Bazel?

Ouverte
#917 9 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
6.2k
Forks
937
Merge moyen
6 min
PR mergées (30 j)
3

Description

I would like to run `google-java-format` in an (open source) project which uses Bazel as build system.

I currently have it set up using https://github.com/dustinsand/pre-commit-jvm (with https://pre-commit.com) but it strikes me as "odd" having to install https://get-coursier.io and relying on `dustinsand/pre-commit-jvm` when it should be possible to "just" have a (Maven) dependency on this in Bazel and "run it" - I'm just not entirely sure HOW one would be run a Java based tool like this one from Bazel...

... I have briefly explored something like what [this post on `bazel-discuss`](https://groups.google.com/g/bazel-discuss/c/eQTAycAqi1g/m/AJIv7uDqBgAJ) may have been after, and started to write my own `GoogleJavaFormatTest` using this project's API, but it doesn't seem to be intended to used like that (`UsageException` is package local only, even though `Main#format(String... args) throws UsageException`) - and integrated this as a `b test //...` is perhaps that's the wrong way to go about this anyway?

How would one best run google-java-format from Bazel? You would want it "run whenever any *.java changed", and one would want it to fail the build if the formatting was wrong - but re-write (correct) the source files. Is this possible with Bazel? How does one even "run a main() method from a dependency" for something like this?

@cushon perhaps you have some wise guidance?

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.