> The context is that we currently have 3 checks in the build:
>
> - Checkstyle,
> - Eclipse-Warnings,
> - RAT


And dependency-check (owasp).



> I want to discuss whether you are ok with extracting all checks to their 
> distinct target and not running it automatically with the targets which devs 
> usually run locally. In particular:
>
>
> "build", "jar", and all "test" targets would not trigger CheckStyle, RAT or 
> Eclipse-Warnings
> A new target "check" would trigger all CheckStyle, RAT, and Eclipse-Warnings
> The new "check" target would be run along with the "artifacts" target on 
> Jenkins-CI, and it as a separate build step in CircleCI


+0 I prefer this opt-in over an opt-out approach.

It should be separated from `artifacts` too.
We would need to encourage engineers to run `ant check` before
starting CI and/or requesting review.

I'm in favour of the opt-in approach because it keeps it visible.
Folks configure flags and it "disappears" forever.  Also it's a
headache in all the other ant targets where we actually don't want it,
e.g. tests.

If we go with opt-out i'd like to see one flag that can disable all
checks: `-Dchecks.skip`


> That could be fixed by running checks in a pre-push Git hook. There are some 
> benefits of this compared to the current behavior:


-1
committing and pushing to a personal branch is often done to save work
or for cross-machine or collaboration. We should not gate on checks or
compilation here.

PRs should fail if checks fail, to give newcomers clear feedback (and
to take this nit-picking out of the review process).

Reply via email to