From: "Doron Fediuck" <dfediuck(a)redhat.com>
To: "Eyal Edri" <eedri(a)redhat.com>
Cc: "engine-devel" <engine-devel(a)ovirt.org>
Sent: Sunday, January 6, 2013 4:30:23 PM
Subject: Re: [Engine-devel] Java code formatting
----- Original Message -----
> From: "Eyal Edri" <eedri(a)redhat.com>
> To: "engine-devel" <engine-devel(a)ovirt.org>
> Sent: Friday, January 4, 2013 5:39:52 PM
> Subject: Re: [Engine-devel] Java code formatting
>
>
>
> ----- Original Message -----
> > From: "David Jaša" <djasa(a)redhat.com>
> > To: "engine-devel" <engine-devel(a)ovirt.org>
> > Sent: Friday, January 4, 2013 4:37:13 PM
> > Subject: Re: [Engine-devel] Java code formatting
> >
> > Doron Fediuck píše v St 02. 01. 2013 v 03:24 -0500:
> > >
> > > ----- Original Message -----
> > > > From: "Livnat Peer" <lpeer(a)redhat.com>
> > > > To: "Doron Fediuck" <dfediuck(a)redhat.com>
> > > > Cc: "engine-devel" <engine-devel(a)ovirt.org>
> > > > Sent: Tuesday, January 1, 2013 5:58:15 PM
> > > > Subject: Re: [Engine-devel] Java code formatting
> > > >
> > > > On 01/01/2013 05:39 PM, Doron Fediuck wrote:
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > >> From: "Alon Bar-Lev" <alonbl(a)redhat.com>
> > > > >> To: "Doron Fediuck" <dfediuck(a)redhat.com>
> > > > >> Cc: "engine-devel" <engine-devel(a)ovirt.org>
> > > > >> Sent: Tuesday, January 1, 2013 5:05:09 PM
> > > > >> Subject: Re: [Engine-devel] Java code formatting
> > > > >>
> > > > >>
> > > > >>
> > > > >> ----- Original Message -----
> > > > >>> From: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>> To: "Alon Bar-Lev" <alonbl(a)redhat.com>
> > > > >>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>> Sent: Tuesday, January 1, 2013 5:00:20 PM
> > > > >>> Subject: Re: [Engine-devel] Java code formatting
> > > > >>>
> > > > >>>
> > > > >>>
> > > > >>> ----- Original Message -----
> > > > >>>> From: "Alon Bar-Lev"
<alonbl(a)redhat.com>
> > > > >>>> To: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>> Sent: Tuesday, January 1, 2013 4:53:49 PM
> > > > >>>> Subject: Re: [Engine-devel] Java code formatting
> > > > >>>>
> > > > >>>>
> > > > >>>>
> > > > >>>> ----- Original Message -----
> > > > >>>>> From: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>>> To: "Alon Bar-Lev"
<alonbl(a)redhat.com>
> > > > >>>>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>>> Sent: Tuesday, January 1, 2013 4:48:22 PM
> > > > >>>>> Subject: Re: [Engine-devel] Java code
formatting
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> ----- Original Message -----
> > > > >>>>>> From: "Alon Bar-Lev"
<alonbl(a)redhat.com>
> > > > >>>>>> To: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>>>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>>>> Sent: Tuesday, January 1, 2013 4:33:20 PM
> > > > >>>>>> Subject: Re: [Engine-devel] Java code
formatting
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>>
> > > > >>>>>> ----- Original Message -----
> > > > >>>>>>> From: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>>>>> To: "Alon Bar-Lev"
<alonbl(a)redhat.com>
> > > > >>>>>>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>>>>> Sent: Tuesday, January 1, 2013 4:28:15
PM
> > > > >>>>>>> Subject: Re: [Engine-devel] Java code
formatting
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> ----- Original Message -----
> > > > >>>>>>>> From: "Alon Bar-Lev"
<alonbl(a)redhat.com>
> > > > >>>>>>>> To: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>>>>>> Cc: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>>>>>> Sent: Tuesday, January 1, 2013
4:17:18 PM
> > > > >>>>>>>> Subject: Re: [Engine-devel] Java
code formatting
> > > > >>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>>
> > > > >>>>>>>> ----- Original Message -----
> > > > >>>>>>>>> From: "Doron Fediuck"
<dfediuck(a)redhat.com>
> > > > >>>>>>>>> To: "engine-devel"
<engine-devel(a)ovirt.org>
> > > > >>>>>>>>> Sent: Tuesday, January 1, 2013
4:07:53 PM
> > > > >>>>>>>>> Subject: [Engine-devel] Java
code formatting
> > > > >>>>>>>>>
> > > > >>>>>>>>> Hi,
> > > > >>>>>>>>> Recently I saw many patches with
multiple code
> > > > >>>>>>>>> re-formatting.
> > > > >>>>>>>>> When looking into it, we saw
that many people
> > > > >>>>>>>>> didn't
> > > > >>>>>>>>> use
> > > > >>>>>>>>> the
> > > > >>>>>>>>> project
> > > > >>>>>>>>> policy, and now we have many
files with bad
> > > > >>>>>>>>> formatting.
> > > > >>>>>>>>>
> > > > >>>>>>>>> So I just posted a big ugly fix
for this[1], and
> > > > >>>>>>>>> hopefully
> > > > >>>>>>>>> if
> > > > >>>>>>>>> accepted
> > > > >>>>>>>>> people should start using the
right conventions and
> > > > >>>>>>>>> reduce
> > > > >>>>>>>>> the
> > > > >>>>>>>>> amount
> > > > >>>>>>>>> of non-relevant changes we see
in the patches.
> > > > >>>>>>>>>
> > > > >>>>>>>>> I'm aware of the fact that
this may create some
> > > > >>>>>>>>> issues
> > > > >>>>>>>>> when
> > > > >>>>>>>>> porting
> > > > >>>>>>>>> patches, but better sooner than
later.
> > > > >>>>>>>>> Doron.
> > > > >>>>>>>>>
> > > > >>>>>>>>> [1]
http://gerrit.ovirt.org/#/c/10541/1
> > > > >>>>>>>>
> > > > >>>>>>>> Hi,
> > > > >>>>>>>>
> > > > >>>>>>>> These automatic conversions are not
better than
> > > > >>>>>>>> current
> > > > >>>>>>>> state,
> > > > >>>>>>>> also
> > > > >>>>>>>> I
> > > > >>>>>>>> don't think that this is that
important. If you want
> > > > >>>>>>>> machine
> > > > >>>>>>>> written
> > > > >>>>>>>> code, then also provide commit hook
to reformat
> > > > >>>>>>>> anything,
> > > > >>>>>>>> and
> > > > >>>>>>>> probably machines to read it.
> > > > >>>>>>>>
> > > > >>>>>>>> I, personally, think that this
change over the
> > > > >>>>>>>> sources
> > > > >>>>>>>> I
> > > > >>>>>>>> manage
> > > > >>>>>>>> did
> > > > >>>>>>>> not do any good.
> > > > >>>>>>>>
> > > > >>>>>>>> Regards,
> > > > >>>>>>>> Alon
> > > > >>>>>>>
> > > > >>>>>>> Alon,
> > > > >>>>>>> there's a formatting convention for
the project set
> > > > >>>>>>> long
> > > > >>>>>>> ago.
> > > > >>>>>>> If you feel it needs to be fixed, go
ahead and
> > > > >>>>>>> suggest
> > > > >>>>>>> a
> > > > >>>>>>> fix
> > > > >>>>>>> for
> > > > >>>>>>> the xml.
> > > > >>>>>>> Otherwise we end up in the current
chaos, where every
> > > > >>>>>>> 2nd
> > > > >>>>>>> or
> > > > >>>>>>> 3rd
> > > > >>>>>>> patch carries unneeded changes.
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>> What do you mean unneeded changes? how do
you prevent
> > > > >>>>>> this
> > > > >>>>>> in
> > > > >>>>>> future?
> > > > >>>>>>
> > > > >>>>>> Alon
> > > > >>>>>
> > > > >>>>> Unneeded changes is when you get one line of
code fixed
> > > > >>>>> due
> > > > >>>>> to
> > > > >>>>> a
> > > > >>>>> bug,
> > > > >>>>> and many others re-indented.
> > > > >>>>> Best prevention is if people would make sure to
use the
> > > > >>>>> same
> > > > >>>>> conventions.
> > > > >>>>> We also have a checkstyle which monitors
important
> > > > >>>>> issues
> > > > >>>>> such
> > > > >>>>> as
> > > > >>>>> trailing
> > > > >>>>> white spaces, localization, etc.
> > > > >>>>>
> > > > >>>>
> > > > >>>> But how do you prevent this in future, not all
working
> > > > >>>> in
> > > > >>>> same
> > > > >>>> editor
> > > > >>>> nor same styles.
> > > > >>>> You can say that once in a while you perform cross
over
> > > > >>>> auto
> > > > >>>> re-format...
> > > > >>>> I am not native Java programmer but this sounds
very
> > > > >>>> strange
> > > > >>>> thing
> > > > >>>> to
> > > > >>>> do, I don't think I know of any project that
does that.
> > > > >>>>
> > > > >>>> The main problem is that people commit stuff they
don't
> > > > >>>> touch
> > > > >>>> due
> > > > >>>> to
> > > > >>>> their editor behavior, which tread the whole source
as
> > > > >>>> if
> > > > >>>> it
> > > > >>>> was
> > > > >>>> at
> > > > >>>> its disposal, while cation should be taken not to
modify
> > > > >>>> extra
> > > > >>>> stuff.
> > > > >>>>
> > > > >>>> So maybe just to reject patches that touches lines
which
> > > > >>>> are
> > > > >>>> not
> > > > >>>> belong to the patch it-self.
> > > > >>>>
> > > > >>>> Alon
> > > > >>>
> > > > >>> I'm fine with rejecting patches with irrelevant
changes.
> > > > >>> Still sometimes you get new files and this repeats
> > > > >>> itself.
> > > > >>> The whole point of a convention is that people keep it.
> > > > >>> Most major IDEs today can use the same formatting XML
we
> > > > >>> now
> > > > >>> have.
> > > > >>> So it's really a matter of self-discipline.
> > > > >>>
> > > > >>
> > > > >> OK, I suggest we start rejecting patches with irrelevant
> > > > >> changes,
> > > > >> and
> > > > >> placing these irrelevant changes in their own patch to be
> > > > >> relevant.
> > > > >>
> > > > >> I don't think that we can enforce XML formatting for
all
> > > > >> editors
> > > > >> out
> > > > >> there... unless there is a cli utility to reformat before
> > > > >> commit,
> > > > >> or
> > > > >> even do this at gerrit side, we should be somewhat
> > > > >> flexible.
> > > > >>
> > > > >> But these are only my two cents.
> > > > >>
> > > > >> Alon
> > > > >
> > > > > Thanks to Ofri we can now both automate it and monitor it
> > > > > using
> > > > >
http://maven-java-formatter-plugin.googlecode.com/svn/site/0.3.1/examples....
> > > > >
> > > > > We should be able to add it to the root pom and make sure
> > > > > it
> > > > > won't
> > > > > happen again.
> > > >
> > > > From a quick look this plugin looks like formatted and not
> > > > format-validator, if this is the case it is less useful as we
> > > > can't
> > > > add
> > > > a jenkins job to monitor the expected formatting.
> > > >
> > > > I think that we should clean the formatting (once again...)
> > > > in
> > > > our
> > > > code
> > > > base only after we'll have a valid way to enforce it,
> > > > otherwise
> > > > we
> > > > are
> > > > going to have the same thread every few months (we already
> > > > had
> > > > it
> > > > twice
> > > > or more) and we all hate this massive formatting patches that
> > > > comes
> > > > after the thread...
> > > >
> > > > Livnat
> > > >
> > >
> > > Livnat,
> > > it's easy enough to have a Jenkins job running this plugin.
> >
> > Isn't Jenkins too late in the game for checks of incoming code?
> > IIRC
> > there do exist pre-commit hooks for gerrit that run
> > pylint/pyflakes
> > on
> > python files, that should IMO be the very place to check Java
> > coding
> > style, too.
>
> if the jenkins jobs will run per gerrit patch and not per commit,
> (it's possible to run it via jenkins, like run other jobs per
> patch).
> then it's not too late, and less messy than defining specific hooks
> for it.
>
> Eyal.
Sorry for (very) late response - what would be the price (i.e - build time) for running
this plugin while performing "mvn clean install" on ovirt-engine?
I know that sometimes people forget to run tests (which is bad) but I do believe (and hope
;) ) they do compile before send patches to gerrit.
>
Right, we actually had something similar in the past
while .NET was still around...
> >
> > David
> >
> > > Then git status will tell you if something changed, and if so
> > > you email the changes to patch owner (and nack the patch). We
> > > had similar jobs in WPF era and it's quite simple to handle.
> > > So I see no reason why not to start it now. The sooner we
> > > start,
> > > less noise and unneeded code changes will be added.
> > >
> > > better
> > > _______________________________________________
> > > Engine-devel mailing list
> > > Engine-devel(a)ovirt.org
> > >
http://lists.ovirt.org/mailman/listinfo/engine-devel
> >
> > --
> >
> > David Jaša, RHCE
> >
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel