incubator-yoko-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lars K├╝hne <>
Subject Re: Add apache license headers in new files committed
Date Thu, 12 Oct 2006 20:52:22 GMT
Daniel Kulp wrote:
> On Tuesday October 10 2006 12:15 am, Sakala, Adinarayana wrote:
>>> As an alternative to arat, Checkstyle has a header check. It
>>> currently targets only java files, though. I could fix that quite
>>> easily in the checkstyle core, so that all files can be checked.
> Honestly, I'm not sure how well this would work.   Couple of reasons:
> 1) The "format" of the header is different for .properties 
> files, .xml/.wsdl/.xsd files, etc...   Basically, you'd have to abstract 
> out the "how is a comment constructed" thing.   (not too bad)   
> Currently, the "header check" thing is a pretty strick "does the header 
> exactly match what I'm expecting" thing.

You aren't restricted to exact matches. We already have a RegexpHeader 
check implemented in Checkstyle:

However for historical reasons this check is tied to Java files only, 
and I'm making the same functionality available for all text files.

I think that all relevant languages use some non word characters to 
indicate a comment, so my idea is to use something like this as the 
header definition:

^\W*Copyright 2006 ... as applicable\W*$
^\W*Licensed under ... 2.0 \(the License\);\W*$

> 2) Some of the files (at least in CXF) aren't supposed to have the apache 
> header.   For the schema that we download from W3C, it's not supposed to 
> be there.   There are others.   Thus, it needs some exclusion rules or 
> something.

Good point. If Ant filesets aren't available then maybe Checkstyle 
filters will do the trick:

> That said, if it works, great.    I like the idea.    It just may be hard 
> to do and may take a couple iterations to figure out all the little 
> things to get it to work correctly.
> Then there is also the issue of getting the maven checkstyle plugin 
> updated to use it............

The maven people only have to create a new plugin version that depends 
on a different version of the checkstyle core. The new version has to 
pass all src files into checkstyle, not only the java files. Doesn't 
sound like a lot of work, but yes, it might take a bit of time.


View raw message