enonic / xp

Enonic XP
https://enonic.com
GNU General Public License v3.0
200 stars 34 forks source link

Move libs to own repo #8124

Open rymsha opened 4 years ago

rymsha commented 4 years ago

This is a mono/multi repo discussion

Libs are now part of XP repo But they

During debugging their code can be slightly different from what is included into app - confusing line numbers.

alansemenov commented 4 years ago

Is this about libs that are a part of XP distro, like lib-content etc.? If so, then how can they have a different license and not follow XP versioning?

Or is this about "external" libs, like lib-cron and lib-http-client? Then they are not a part of XP repo. In this case I'm all for joining them in a mono-repo.

Didn't get a point about "are included into apps" though. Both types of libs can be used as dependencies in apps.

rymsha commented 4 years ago

Is this about libs that are a part of XP distro, like lib-content etc.? yes

If so, then how can they have a different license

From the docs

The vast majority of these libraries are licensed under Apache 2.0.

and not follow XP versioning

They do now, but this is just a side effect of them being in the same repo. In reality their old versions (7.0) are included in users apps and still can run on latest XP (7.3 i.e.)

sigdestad commented 4 years ago

These libs are essentially wrappers of the XP core Java Api's and should be closely related to them. Regarding licensing, the important issue is to provide linking exception for developers building on our documented apis and plattform, not where we place the code.

sigdestad commented 4 years ago

Linking exception also applies to running the Java api

rymsha commented 4 years ago

Moving to own repo

So everyday's work is correctly less convenient due to single repo.

If we change to multi repo we would have to release lib almost the same way we release system apps with one exception: we don't put them in final distro (they are not part of distro now either)

So release process will be slightly more complicated.

rymsha commented 4 years ago

It should be done. But it affects build process, so should be carefully planned.