Ouch. This is where it gets messy.  Currently, the javadoc is built 
independently for each module. I’m not sure how to aggregate them all together 
but I’m sure Java 9 must be doing that with all the modules they are supporting.

Ralph

> On Apr 25, 2017, at 7:03 AM, Mikael Ståldal <mikael.stal...@magine.com> wrote:
> 
> When adding new modules to the main repo, does each module need its own
> site directory?
> 
> On Tue, Apr 25, 2017 at 4:02 PM, Mikael Ståldal <mikael.stal...@magine.com>
> wrote:
> 
>> Yes, they should stay in the main repo, at least for the time being.
>> 
>> On Tue, Apr 25, 2017 at 3:56 PM, Gary Gregory <garydgreg...@gmail.com>
>> wrote:
>> 
>>> And all of that should stay in the same repo IMO.
>>> 
>>> Gary
>>> 
>>> On Apr 25, 2017 2:51 AM, "Mikael Ståldal" <mikael.stal...@magine.com>
>>> wrote:
>>> 
>>>> I guess that log4-core will become:
>>>> 
>>>>   - log4j-core (will depend on log4j-spi)
>>>>   - log4j-spi
>>>>   - log4j-csv
>>>>   - log4j-xml (XmlLayout)
>>>>   - log4j-json (JsonLayout)
>>>>   - log4j-yaml (YamlLayout)
>>>>   - log4j-kafka
>>>>   - log4j-smtp
>>>>   - log4j-jms
>>>>   - log4j-jdbc (or can this be kept in log4j-core?)
>>>>   - log4j-jpa
>>>>   - log4j-zeromq
>>>>   - log4j-server (already done, not yet released)
>>>>   - log4j-tools (command line tools)
>>>> 
>>>> 
>>>> Then we should also split log4j-nosql:
>>>> 
>>>>   - log4j-cassandra
>>>>   - log4j-couchdb
>>>>   - log4j-mongodb
>>>>   - log4j-lucene (new, under development)
>>>> 
>>>> 
>>>> 
>>>> On Mon, Apr 24, 2017 at 7:43 PM, Remko Popma <remko.po...@gmail.com>
>>>> wrote:
>>>> 
>>>>> How many new modules are we talking about, concretely?
>>>>> 
>>>>> Matt mentioned the StackOverflow questions about transitive
>>> dependencies
>>>>> etc, but I imagine splitting log4j-core into 5 or more new modules
>>> will
>>>>> also cause confusion... It won't be trivial for users to figure out
>>> which
>>>>> of the many modules they do or don't need. The coarse granularity of
>>> the
>>>>> current modules is a good thing for users.
>>>>> 
>>>>> What problem are we trying to solve? And how can we solve it with the
>>>> least
>>>>> disruption to our users?
>>>>> 
>>>>> Would it be an idea, for example, to provide separate jars for the
>>>> separate
>>>>> modules, but in addition create a combined jar (log4j-core-all) that
>>>>> contains all the classes in log4j-core as well as the classes in the
>>> new
>>>>> modules we split out from core?
>>>>> 
>>>>> 
>>>>> On Tue, Apr 25, 2017 at 2:00 AM, Matt Sicker <boa...@gmail.com>
>>> wrote:
>>>>> 
>>>>>> I agree with Ralph here. I'm sure we'll figure out rather quickly
>>> which
>>>>>> modules are easy to put into rarely updated repositories.
>>>>>> 
>>>>>> On 24 April 2017 at 11:39, Ralph Goers <ralph.go...@dslextreme.com>
>>>>> wrote:
>>>>>> 
>>>>>>> I would prefer a hybrid approach.  First things should be moved to
>>>>>>> separate modules. Then, if they don’t seem to be modified
>>> frequently
>>>>> they
>>>>>>> can be moved to a separate repo. For example, I think it would be
>>> OK
>>>>> for
>>>>>>> the Flume Appender to be in a separate repo. It hasn’t changed in
>>>>> quite a
>>>>>>> while and I can’t remember the last time it was modified due to
>>>> changes
>>>>>> in
>>>>>>> Log4j it has and while continue to change with changes made in
>>> Flume
>>>>>>> releases.  I imagine we have quite a few components that are
>>> similar.
>>>>>>> 
>>>>>>> Ralph
>>>>>>> 
>>>>>>>> On Apr 24, 2017, at 8:39 AM, Gary Gregory <
>>> garydgreg...@gmail.com>
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> On Apr 24, 2017 2:38 AM, "Mikael Ståldal" <
>>>> mikael.stal...@magine.com
>>>>>> 
>>>>>>> wrote:
>>>>>>>> 
>>>>>>>> I fully agree with Matt's both proposals.
>>>>>>>> 
>>>>>>>> I'm skeptic to creating more repositories (than we already have)
>>>>>> though.
>>>>>>> I
>>>>>>>> think that we should start by splitting out modules from
>>> log4j-core
>>>>> and
>>>>>>>> keep those modules in the main repository with synchronized
>>>>> versioning
>>>>>>> and
>>>>>>>> releases, at least for the 2.9 release. We can always move those
>>>>>> modules
>>>>>>> to
>>>>>>>> other repositories later if we want to.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> I do not like more repos either. Since we have already gone down
>>>> the
>>>>>> more
>>>>>>>> modules road, I say we keep going.
>>>>>>>> 
>>>>>>>> Gary
>>>>>>>> 
>>>>>>>> 
>>>>>>>> It is a lot of administrative work to create a new repository
>>> (as
>>>> we
>>>>>> have
>>>>>>>> seen for log4j-scala), I don't want us to do all that work over
>>> and
>>>>>> over
>>>>>>>> again unless really necessary.
>>>>>>>> 
>>>>>>>> We have a JIRA ticket for this:
>>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1650
>>>>>>>> 
>>>>>>>> I have already started by breaking out log4j-server:
>>>>>>>> https://issues.apache.org/jira/browse/LOG4J2-1851
>>>>>>>> 
>>>>>>>> I think the next step is to break out plugins (layouts and
>>>> appenders)
>>>>>>> with
>>>>>>>> optional 3rd party dependencies into their own modules.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sun, Apr 23, 2017 at 7:45 PM, Matt Sicker <boa...@gmail.com>
>>>>> wrote:
>>>>>>>> 
>>>>>>>>> I think I brought this topic up like 3 years ago when I was
>>>> working
>>>>> on
>>>>>>>>> initial OSGi support, but now that we have 3 more years worth
>>> of
>>>>> code
>>>>>>>>> additions and optional features, I think this might be a more
>>>>>>> appropriate
>>>>>>>>> time to discuss it again in light of experience.
>>>>>>>>> 
>>>>>>>>> Building log4j-core itself already takes a long time, and many
>>>>> plugins
>>>>>>>>> aren't updated very often at all. In the past, requiring users
>>> to
>>>>>> simply
>>>>>>>>> add log4j-core plus any transitive dependencies to use optional
>>>>>> features
>>>>>>>>> seemed to work well enough, but I still think that's a
>>> confusing
>>>>>>>>> distribution mechanism as demonstrated by the numerous bug
>>> reports
>>>>> and
>>>>>>>>> Stack Overflow posts regarding missing transitive dependencies
>>> for
>>>>>>> various
>>>>>>>>> features. I spent some time experimenting with Log4j Boot a
>>> little
>>>>>> while
>>>>>>>>> ago to help alleviate this problem, but this may be
>>> unnecessary if
>>>>> we
>>>>>>> can
>>>>>>>>> agree to modularize log4j-core itself.
>>>>>>>>> 
>>>>>>>>> I have two different proposals, both of which can be used at
>>> the
>>>>> same
>>>>>>>> time.
>>>>>>>>> 
>>>>>>>>> 1. Split out everything from log4j-core that requires 3rd party
>>>>>>>>> dependencies (except for AsyncLogger, though perhaps we could
>>>>> consider
>>>>>>>>> shading and renaming those classes like some other low level
>>>>> libraries
>>>>>>> do
>>>>>>>>> with JCTools). Ideally, I'd like to see each module have
>>> required
>>>>>>>>> dependencies instead of optional ones, so that if, for
>>> instance, I
>>>>>>> include
>>>>>>>>> a "log4j-config-yaml" dependency, I know that Log4j will
>>> support
>>>>> YAML
>>>>>>>>> configuration without having to specify the individual Jackson
>>>>>>>>> dependencies.
>>>>>>>>> 
>>>>>>>>> 2. Split out from log4j-core a sort of log4j-spi module which
>>>>> defines
>>>>>>>>> interfaces, abstract classes, and annotations for plugins that
>>>> would
>>>>>> be
>>>>>>>>> promoted to the same level of backwards compatibility
>>> guarantees
>>>> as
>>>>>>>>> log4j-api. This would aid in cementing what we really wish to
>>>>> maintain
>>>>>>>>> compatibility with in the backend while allowing other modules
>>> to
>>>>> have
>>>>>>>> less
>>>>>>>>> strict guarantees.
>>>>>>>>> 
>>>>>>>>> With proposal #1, I'd think that we could more easily start
>>> moving
>>>>>>> modules
>>>>>>>>> into separate repositories and release trains. Without #2,
>>> though,
>>>>>> this
>>>>>>>>> makes version support more annoying to handle, but that's what
>>>> we'll
>>>>>>> face
>>>>>>>>> regardless as we separate more repositories. If we go this
>>> route,
>>>>> then
>>>>>>>>> there will be no need for a Log4j Boot subproject.
>>>>>>>>> 
>>>>>>>>> What do you all think?
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> --
>>>>>>>> [image: MagineTV]
>>>>>>>> 
>>>>>>>> *Mikael Ståldal*
>>>>>>>> Senior software developer
>>>>>>>> 
>>>>>>>> *Magine TV*
>>>>>>>> mikael.stal...@magine.com
>>>>>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |
>>> www.magine.com
>>>>>>>> 
>>>>>>>> Privileged and/or Confidential Information may be contained in
>>> this
>>>>>>>> message. If you are not the addressee indicated in this message
>>>>>>>> (or responsible for delivery of the message to such a person),
>>> you
>>>>> may
>>>>>>> not
>>>>>>>> copy or deliver this message to anyone. In such case,
>>>>>>>> you should destroy this message and kindly notify the sender by
>>>> reply
>>>>>>>> email.
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Matt Sicker <boa...@gmail.com>
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> [image: MagineTV]
>>>> 
>>>> *Mikael Ståldal*
>>>> Senior software developer
>>>> 
>>>> *Magine TV*
>>>> mikael.stal...@magine.com
>>>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>>>> 
>>>> Privileged and/or Confidential Information may be contained in this
>>>> message. If you are not the addressee indicated in this message
>>>> (or responsible for delivery of the message to such a person), you may
>>> not
>>>> copy or deliver this message to anyone. In such case,
>>>> you should destroy this message and kindly notify the sender by reply
>>>> email.
>>>> 
>>> 
>> 
>> 
>> 
>> --
>> [image: MagineTV]
>> 
>> *Mikael Ståldal*
>> Senior software developer
>> 
>> *Magine TV*
>> mikael.stal...@magine.com
>> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
>> 
>> Privileged and/or Confidential Information may be contained in this
>> message. If you are not the addressee indicated in this message
>> (or responsible for delivery of the message to such a person), you may not
>> copy or deliver this message to anyone. In such case,
>> you should destroy this message and kindly notify the sender by reply
>> email.
>> 
> 
> 
> 
> -- 
> [image: MagineTV]
> 
> *Mikael Ståldal*
> Senior software developer
> 
> *Magine TV*
> mikael.stal...@magine.com
> Grev Turegatan 3  | 114 46 Stockholm, Sweden  |   www.magine.com
> 
> Privileged and/or Confidential Information may be contained in this
> message. If you are not the addressee indicated in this message
> (or responsible for delivery of the message to such a person), you may not
> copy or deliver this message to anyone. In such case,
> you should destroy this message and kindly notify the sender by reply
> email.


Reply via email to