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 <ruo...@google.com> 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 <ajam...@google.com> wrote: > >> @Michael, no particular reason. I think Ken's suggestion makes more sense. >> >> On Mon, Feb 25, 2019 at 10:36 AM Udi Meiri <eh...@google.com> 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 <k...@apache.org> >>> 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 <ajam...@google.com> 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 > >