Yes, I am using that expression to allow spaces in javadoc after a '*' locally and it works fine. Would love to commit if nobody objects.
About NewlineAtEndOfFile, I was wrong. The files I committed end in 0x0A (unix newline). Same with the files Ralph committed (and I think he works on a Mac). So perhaps we should add parameter lineSeparator="lf" to that rule and that will make the problem go away... ________________________________ From: Nick Williams <nicho...@nicholaswilliams.net> To: Log4J Developers List <log4j-dev@logging.apache.org> Sent: Monday, April 29, 2013 6:12 AM Subject: Re: Restrict JPA classes to specific package? 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 >>>>> >>> >> >> >> > > >