As for the RegexpSingleline issue, this might help: 
http://stackoverflow.com/questions/9100059/checkstyle-trailing-spaces-regexp-issue

As for the NewlineAtEndOfFile issue, I would suggest that files should NEVER be 
committed to SVN with CRLF endings. This is an incorrect ending. This is one 
place Git got it right: CRLF is prohibited everywhere, and Git for Windows 
automatically converts on commit. My suggestion here:

- Find all files in the project with CRLF endings and convert them.
- Add a pre-commit check in SVN that prohibits the commit if any files have 
CRLF in them.

My $0.02.

Nick

On Apr 28, 2013, at 4:00 PM, Remko Popma wrote:

> About CheckStyle:
> I would like to change the "RegexpSingleline" rule to allow spaces in javadoc 
> after a '*'.
> 
> Also, the NewlineAtEndOfFile check seems broken.
> (http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile)
> If I commit something on a PC the file will end with "crlf".
> Then someone on a Mac builds the site with mvn site, that file will be marked 
> as an error (even though it ends in a newline).
> The NewlineAtEndOfFile seems to only allow one kind of new line, which you 
> can hard-code or make system dependent.
> But it won't allow all newlines... System dependent only works if all devs 
> use the same system.
> (Sorry for ranting... :-) Bed time for me.)
> 
> From: Nick Williams <nicho...@nicholaswilliams.net>
> To: Log4J Developers List <log4j-dev@logging.apache.org> 
> Sent: Monday, April 29, 2013 5:48 AM
> Subject: Re: Restrict JPA classes to specific package?
> 
> Using the CheckStyle ImportControl module, I was able to restrict uses of 
> javax.persistence to o.a.l.l.core.appender.db.jpa, uses of org.mongodb to 
> o.a.l.l.core.appender.db.nosql.mongo, etc. It doesn't "break the build" if 
> someone violates this rule, which would be ideal. Currently it's just a nag 
> on the CheckStyle report if someone violates this rule.
> 
> Other projects (Tomcat is the first that comes to mind) run CheckStyle 
> pre-compile and fail if CheckStyle finds errors. Currently, there are too 
> many other errors to do this in Log4j ... it would be weeks before it built 
> again. However, at some point we could consider making this change to enforce 
> the CheckStyle rules, after they have all been cleaned up.
> 
> Nick
> 
> On Apr 27, 2013, at 8:36 PM, Remko Popma wrote:
> 
>> Nick,
>> 
>> I think it is possible to restrict access from package A to package B in 
>> Eclipse,
>> but this would be IDE-dependent. Not sure if that is good enough for you.
>> (I found this link, which may be outdated: 
>> http://www.eclipsezone.com/eclipse/forums/t53736.html )
>> 
>> An alternative would be to use a naming convention like
>> 
>> org.some.package.some.func
>> org.some.package.some.func.internal
>> 
>> where the internal stuff should only be used in the func packages.
>> 
>> 
>> From: Nick Williams <nicho...@nicholaswilliams.net>
>> To: Log4J Developers List <log4j-dev@logging.apache.org> 
>> Sent: Sunday, April 28, 2013 5:56 AM
>> Subject: Re: Restrict JPA classes to specific package?
>> 
>> Ralph nailed it.
>> 
>> Also to an earlier point/question Ralph raised that isn't included below:
>> 
>> > However, note that we have o.a.l.log4j.net which has all the networking 
>> > related managers. Perhaps it should have been under appenders as well, but 
>> > it also supports servers as well as managers, which probably isn't as 
>> > likely with db appenders...?
>> 
>> The SocketAppender, SmtpAppender, JMSQueueAppender, and JMSTopicAppender are 
>> all in o.a.l.log4j.appender. o.a.l.log4j.net appears to mostly be servers 
>> and receivers and a few managers. I think the db package is in the right 
>> place. I would actually argue that some of the net package classes actually 
>> belong in the appender package. But I digress...
>> 
>> Back to the original question :-) how would I achieve restricting access to 
>> javax.persistence so that other parts of the Core aren't polluted with JPA 
>> classes? I know it's possible (re: Tomcat), I just don't know how to do it 
>> in Log4j.
>> 
>> Nick
>> 
>> On Apr 27, 2013, at 3:17 PM, Ralph Goers wrote:
>> 
>> > That would probably be extremely confusing.
>> > 
>> > The managers initialize in the constructor and stop in the release method. 
>> > But AbstractManager takes care of the release method by checking for the 
>> > counter going down to zero and then calling releaseSub (yes - that is a 
>> > horrible name).  Managers actually override that method to perform 
>> > whatever cleanup they need to do.  My guess is that 
>> > AbstractDatabaseManager's releaseSub method will call the disconnect 
>> > method.  So if anything is going to be renamed to stop it would be 
>> > releaseSub.  connect and disconnect sound right to me.
>> > 
>> > Ralph
>> > 
>> > 
>> > On Apr 27, 2013, at 12:58 PM, Gary Gregory wrote:
>> > 
>> >> Should connect/disconnect just be start/stop? 
>> >> 
>> >> Gary
>> >> 
>> >> On Apr 27, 2013, at 11:20, Nick Williams <nicho...@nicholaswilliams.net> 
>> >> wrote:
>> >> 
>> >>> 
>> >>> On Apr 27, 2013, at 9:50 AM, Gary Gregory wrote:
>> >>> 
>> >>>> On Sat, Apr 27, 2013 at 10:43 AM, Nick Williams 
>> >>>> <nicho...@nicholaswilliams.net> wrote:
>> >>>> There already existed an o.a.l.log4j.core.appender.db package that was 
>> >>>> empty. I discovered that I could create a base AbstractDatabaseAppender 
>> >>>> that took care of some operations common to JDBC, JPA /and/ NoSQL 
>> >>>> appenders. That led me to use the existing db package as follows:
>> >>>> 
>> >>>> db/
>> >>>>    common DB appender classes
>> >>>> 
>> >>>> What is in common?
>> >>>> 
>> >>>> Gary
>> >>> 
>> >>> - An AbstractDatabaseManager that defines connect and disconnect methods 
>> >>> for concrete managers to implement, defines an isConnected method, 
>> >>> defines a buffer size property, and controls buffering (which all types 
>> >>> will support).
>> >>> 
>> >>> - An AbstractDatabaseAppender that has a type parameter of LogEvent, 
>> >>> requires an AbstractDatabaseManager implementation in its constructor, 
>> >>> calls the manager's connect and disconnect methods when the appended is 
>> >>> started and stopped (respectively), allows for manager replacement 
>> >>> (configuration reloading) without event loss, and forwards events to the 
>> >>> manager for writing to the database.
>> >>> 
>> >>> This way, each database type will only need to implement 
>> >>> connect/disconnect/write methods in the manager, implement an appender 
>> >>> with a simple factory method to create the correct manager, and create 
>> >>> whatever classes are necessary (if necessary) to support configuration.
>> >>> 
>> >>>>  
>> >>>>    jdbc/
>> >>>>        JDBC appender classes
>> >>>>    jpa/
>> >>>>        JPA appender classes
>> >>>>    nosql/
>> >>>>        NoSQL appender classes
>> >>>> 
>> >>>> I think that package structure makes a lot of sense. I'm open to 
>> >>>> convincing arguments otherwise.
>> >>>> 
>> >>>> Nick
>> >>>> 
>> >>>> On Apr 27, 2013, at 9:37 AM, Gary Gregory wrote:
>> >>>> 
>> >>>> > I think we should keep the packaging simpler: 
>> >>>> > o.a.l.log4j.core.appender.jpa
>> >>>> >
>> >>>> > Gary
>> >>>> >
>> >>>> > On Apr 27, 2013, at 10:15, Nick Williams 
>> >>>> > <nicho...@nicholaswilliams.net> wrote:
>> >>>> >
>> >>>> >> o.a.l.log4j.core.appender.db.jpa
>> >>>> >
>> >>>> > ---------------------------------------------------------------------
>> >>>> > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
>> >>>> > For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>> >>>> >
>> >>>> 
>> >>>> 
>> >>>> 
>> >>>> 
>> >>>> -- 
>> >>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 
>> >>>> Java Persistence with Hibernate, Second Edition
>> >>>> JUnit in Action, Second Edition
>> >>>> Spring Batch in Action
>> >>>> Blog: http://garygregory.wordpress.com 
>> >>>> Home: http://garygregory.com/
>> >>>> Tweet! http://twitter.com/GaryGregory
>> >>> 
>> > 
>> 
>> 
> 
> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to