nvm. Don't take my previous non-scientific comparison (only ran it once) too seriously. :-)
I tried to repeat each for multiple times and now the difference diminishes. likely there was a transient error in caching. On Mon, Feb 25, 2019 at 3:38 PM Kenneth Knowles <[email protected]> wrote: > Ah, that is likely caused by us having ill-defined tasks that cannot be > cached. Or is it that the configuration time is so significant? > > Kenn > > On Mon, Feb 25, 2019 at 11:05 AM Ruoyun Huang <[email protected]> wrote: > >> 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 >> >> -- ================ Ruoyun Huang
