Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclemma-dev] Let's make EclEmma 3.0.0 free of a legacy not necessarily used APIs

Hi guys,

This weekend we had a discussion with Marc about upcoming first release of EclEmma under Eclipse Foundation umbrella and APIs:
As anyway we break compatibility with previous versions due to renamings of packages, will be safer to do 3.0.0 without providing an APIs. And expose them later with careful design based on the actual needs and requests, rather than blindly keep current ~5 years old APIs that are not necessarily used, and then maintain their compatibility. Not so very nice side effect of this - "org.eclipse.eclemma.ui" will use "org.eclipse.eclemma.core" thru "x-friends" and "x-internal", while currently uses only publicly exported packaged. But we agreed that this is acceptable price.

Today I've met Mickael at AlpesJUG during "Java Code Coverage Mechanics" session, and he confirmed that this is indeed the safest option and actually quite common practice for projects that move to Eclipse Foundation.

So seems that the only remaining question - what is preferred way to do this?
1) Marc proposed to simply keep packages as is and only mark them as "x-internal".
I personally don't like this option. Also https://wiki.eclipse.org/Naming_Conventions#API_Packages clearly states that non-API package should be explicitly be named "internal".
2) Actually do renaming of packages. I might be wrong, but seems that "internal.provisional" is a good fit ( https://wiki.eclipse.org/Provisional_API_Guidelines ). Allowing to keep clean distinction between what "org.eclipse.eclemma.ui" can use and what should not.

So do you have any thoughts/advices about this?

Regards,
Evgeny


Back to the top