Out of curiosity as a light gradle user, I did a side by side comparison, and the readings confirm what Ken and Michael suggests.
In the same repository, do gradle clean then followed by either of the two commands. Measure their runtime respectively. The latter one takes *1/3* running time. time ./gradlew spotlessApply && ./gradlew checkstyleMain && ./gradlew checkstyleTest && ./gradlew javadoc && ./gradlew findbugsMain && ./gradlew compileTestJava && ./gradlew compileJava real 9m29.330s user 0m11.330s sys 0m1.239s time ./gradlew spotlessApply checkstyleMain checkstyleTest javadoc findbugsMain compileJava compileTestJava real 3m35.573s user 0m2.701s sys 0m0.327s On Mon, Feb 25, 2019 at 10:47 AM Alex Amato <[email protected]> wrote: > @Michael, no particular reason. I think Ken's suggestion makes more sense. > > On Mon, Feb 25, 2019 at 10:36 AM Udi Meiri <[email protected]> wrote: > >> Talking about Python: >> I only know of "./gradlew lint", which include style and some py3 >> compliance checking. >> There is no auto-fix like spotlessApply AFAIK. >> >> As a side-note, I really dislike our python line continuation indent >> rule, since pycharm can't be configured to adhere to it and I find myself >> manually adjusting whitespace all the time. >> >> >> On Mon, Feb 25, 2019 at 10:22 AM Kenneth Knowles <[email protected]> wrote: >> >>> FWIW gradle is a depgraph-based build system. You can gain a few seconds >>> by putting all but spotlessApply in one command. >>> >>> ./gradlew spotlessApply && ./gradlew checkstyleMain checkstyleTest >>> javadoc findbugsMain compileTestJava compileJava >>> >>> It might be clever to define a meta-task. Gradle "base plugin" has the >>> notable check (build and run tests), assemble (make artifacts), and build >>> (assemble + check, badly named!) >>> >>> I think something like "everything except running tests and building >>> artifacts" might be helpful. >>> >>> Kenn >>> >>> On Mon, Feb 25, 2019 at 10:13 AM Alex Amato <[email protected]> wrote: >>> >>>> I made a thread about this a while back for java, but I don't think the >>>> same commands like sptoless work for python. >>>> >>>> auto fixing lint issues >>>> running and quick checks which would fail the PR (without running the >>>> whole precommit?) >>>> Something like findbugs to detect common issues (i.e. py3 compliance) >>>> >>>> FWIW, this is what I have been using for java. It will catch pretty >>>> much everything except presubmit test failures. >>>> >>>> ./gradlew spotlessApply && ./gradlew checkstyleMain && ./gradlew >>>> checkstyleTest && ./gradlew javadoc && ./gradlew findbugsMain && ./gradlew >>>> compileTestJava && ./gradlew compileJava >>>> >>> -- ================ Ruoyun Huang
