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

Reply via email to