In order to support LOG4J-595, technically, I think it could all be done as part of the core package and would still work. As a matter of design, however, I'd like to propose the following split:
log4j-core-api: - Contains the main interfaces used in the core module but not specified by the api module - Would also contain the annotations - Optionally, we could also include some abstract classes here, too log4j-core: - Contains the rest of log4j-core that wasn't removed (some classes may need to be updated or moved around to avoid splitting packages across more than one module). log4j-plugin-processor: - Contains the PluginManager along with the annotation processor code. Going this route would allow 3rd party plugin writers to depend on less code in order to implement their own plugins. It would also help our own code by allowing more fine-grained modules if we want to go that route eventually. Like I said, though, this isn't entirely necessary. I just like the idea, but I would need buy-in from the rest of us to go forward with this idea. I'm not sure which type of vote would be appropriate here, but I'd imagine it would be one of the member-or-higher level votes. -- Matt Sicker <[email protected]>
