> On 12 Nov 2018, at 14:36, Thomas Mortagne <[email protected]> wrote:
>
> On Sat, Nov 10, 2018 at 11:52 AM Vincent Massol <[email protected]> wrote:
>>
>> Hi devs,
>>
>> I’d like to start/revisit a brainstorming on the idea of merging the 3 xwiki
>> repos: commons, rendering & platform.
>>
>> Pros:
>> * Nicer to have XWiki Standard be contained in a single repo
>> * More logical since we release the 3 at the same time with the same versions
>> * Simpler to commit. Right now if you make changes that affect more than 1
>> repo we get failures in the CI + we need several jira issues ideally +
>> developers need to rebuild locally the changes from the other repo or wait
>> for the CI to finish building the changes (takes long).
>> * Simpler for users to report issues. One jira project is simpler to know
>> where to report.
>> * Less CI jobs
>> * Simpler for running tools like jacoco, clover, etc since they can run in a
>> singe maven reactor.
>> * Simpler for releases (e.g. to find the list of committers for the RN, you
>> need to run the command only once instead of 3 times, etc)
>> * Simpler to understand the xwiki code base and for onboarding
>>
>> Cons:
>> * We need to find a solution for Maven plugins that need to be build before
>> they’re used (XAR plugin, Package plugin, etc). One solution for those is to
>> have them in a separate repo and using the last released version for their
>> XWiki dependencies. Unless it now works with Maven to build plugins in the
>> same reactor as where they’re used (need to try it).
>
> It's not really related to plugins but to lifecycle handlers (xar,
> webjar and xip artifact types right now). There is no problem with the
> package plugin, it would not be located in platform if there was. Also
> what you propose would not really work IMO: you introduce a new
> extension when you need it but here you would have to introduce it and
> wait for next release.
The way I see it working:
* Those plugins are not changed every day (that’s an important aspect since if
they were it would be a problem)
* When we need to make changes to them, we make the changes in their separate
repos, and release them (same as what we do for CKEditor now)
* Then in the XWiki repo, we update the version of the maven extension
dependency (same as what we do for CKEditor now)
I don’t understand what wouldn’t work with this process?
[snip]
Thanks
-Vincent