[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [jakartaee-spec-project-leads] [jakartaee-platform-dev] Automatic Module Names in Jakarta EE 9
|
- From: Mark Thomas <markt@xxxxxxxxxx>
- Date: Wed, 22 Jul 2020 09:33:24 +0100
- Autocrypt: addr=markt@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
- Delivered-to: jakartaee-spec-project-leads@xxxxxxxxxxx
- List-archive: <https://www.eclipse.org/mailman/private/jakartaee-spec-project-leads>
- List-help: <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=help>
- List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads>, <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=subscribe>
- List-unsubscribe: <https://www.eclipse.org/mailman/options/jakartaee-spec-project-leads>, <mailto:jakartaee-spec-project-leads-request@eclipse.org?subject=unsubscribe>
- User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
On 22/07/2020 01:51, Werner Keil wrote:
> Note, the ".api" is rarely used, if that really was desired to be
> commonly used, then e.g. DI, CDI and Bean Validation all should use it
> and not just one of them.
>
> Same for Servlet where only JSP uses it, but (leaving the wrong
> namespace aside) the Servlet Spec doesn’t.
Servlet doesn't use it because I hadn't got to looking at the JPMS name
(I've only just finished cleaning up the Servlet spec doc). POM clean-up
(including JPMS name) was next on my TODO list.
Given a completely free choice I prefer the names without ".api" on the end.
However, the current versioning policy [1] uses api consistently for all
API related artefacts: JAR names, Maven co-ordinates and OSGi
Bundle-SymbolicName. Given that, it seems inconsistent not to use it for
JPMS names. Hence my proposal from January [2]:
"Take the OSGi Bundle-SymbolicName, replace any "-" with "." and use the
result as the JPMS name.". In terms of [1] this would be:
${API_PACKAGE}.api
I understand from Kevin that there was pushback on the Platform call to
including ".api" as it was superfluous. I agree it is superfluous but
come back to the fact that [1] uses api for all API related artefacts.
In terms of [1], a possible JPMS name that doesn't include "api" is:
${API_PACKAGE}
I don't think this decision has to open a can of worms. We already have
agreed, consistent naming for OSGi. Extending [1] to include JPMS names
looks to be a small, logical step. I think there are two clear options:
A: ${API_PACKAGE}.api
B: ${API_PACKAGE}
Given a free choice, I would prefer B. Given the naming conventions we
have in place, I think A is a better choice for consistency reasons. I
could live happily with either.
Unless we are too far down the Jakarta EE 9 release process to implement
a JPMS naming policy I think there are benefits to picking one of A or B
and applying it sooner rather than later.
If we are too far down the Jakarta EE 9 release process to implement a
JPMS naming policy now then Kevin's proposal below looks reasonable to
me with one additional point that any name currently using "java..."
must be changed to use "jakarta..."
Mark
[1] https://wiki.eclipse.org/JakartaEE_Maven_Versioning_Rules
[2] https://www.eclipse.org/lists/servlet-dev/msg00233.html
>
>
>
> Werner
>
>
>
> Sent from Mail <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Scott Stark <mailto:starksm64@xxxxxxxxx>
> *Sent: *Tuesday, July 21, 2020 23:47
> *To: *JakartaEE Spec Project Leadership discussions
> <mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>
> *Cc: *jakartaee-platform developer discussions
> <mailto:jakartaee-platform-dev@xxxxxxxxxxx>
> *Subject: *Re: [jakartaee-platform-dev]
> [jakartaee-spec-project-leads]Automatic Module Names in Jakarta EE 9
>
>
>
> It has to be addressed in at least 9.1 when requiring Java 11 as at that
> point you do have modules, even if they are automatic, and we should not
> be allowing implicit automatic module names in API jars. I think the api
> in the module name is probably a good thing, but we have some artifact
> names that seemingly should be shortened to make the module name. For
> example, the CDI api artifact is jakarta.enterprise.cdi-api-*.jar. The
> enterprise seems unnecessary and the module name could just
> be jakarta.cdi.api for example.
>
>
>
> We should start updating the naming conventions in preparation for 9.1.
>
>
>
>
>
> On Tue, Jul 21, 2020 at 3:40 PM Kevin Sutter <sutter@xxxxxxxxxx
> <mailto:sutter@xxxxxxxxxx>> wrote:
>
> On this morning's Platform call, Werner communicated the
> inconsistency which we have across the Jakarta EE Projects relating
> to the Automatic (and defined) Module Names.
> Agenda/Minutes:
> https://docs.google.com/document/d/1EJ2ilaPhMnQqa3aw6AmwjRbBPGL3_np4uuwklgfqPZI/edit#heading=h.ncofh797vcpf
>
> In Werner's spreadsheet, he showed how most of the Projects have
> avoided this exercise altogether. We have some Projects have left
> over defined Module Names from Java EE 8, which have been carried
> forward. And, some Projects that have attempted to define Automatic
> Module Names, but we're not consistent.
> https://docs.google.com/spreadsheets/d/1g8jYG0JixO3wzZkpeyU1LMIQRhbnZ76kGtdMFE8mieE/edit#gid=0
>
> So far, there have been four Projects that, on the surface, have
> defined "incorrect" module names because they used the "java."
> prefix -- authentication, authorization, servlet, and transaction.
> These four at a minimum should have the "jakarta." prefix instead
> (or, so was stated on the call this morning).
>
> But, as I was talking with the Servlet team about making this type
> of change to define an Automatic Module Name as "jakarta.servlet",
> they proposed that the name should be "jakarta.servlet.api"
> (consistent with the other web component modules of "jakarta.el.api"
> and "jakarta.servlet.jsp.api"). Since we as a Platform haven't
> defined a naming convention for Modules, I couldn't really argue
> against their proposed naming convention.
> https://www.eclipse.org/lists/servlet-dev/msg00233.html
>
> Just for reference, we have also avoided the Module Naming
> convention in our official Jakarta EE Naming Conventions:
> https://wiki.eclipse.org/JakartaEE_Maven_Versioning_Rules
>
> On this morning's call, we indicated that maybe this is something
> that needs to be discussed with the Spec Committee. We can still do
> that (I have added it to our agenda for tomorrow). But, given that
> we would be opening a can of worms with entertaining a Module Naming
> Convention, my proposal for Jakarta EE 9 is to stick with our
> original plan and *not* address this for Jakarta EE 9. If we rush a
> decision, it will be wrong. If we have a full-blown discussion on
> this topic, we're just throwing another wrench into the Jakarta EE 9
> plans. And, since Jakarta EE 9's priority is Java SE 8 defining
> Module Names is really a moot point.
>
> In a nutshell, here's my proposal. Please throw eggs asap so that
> we can move on... Thanks!
>
> * If you have a defined Module Name (module-info.class), then
> leave it as-is. These were carry overs from Java EE 8 and we'll
> just live with them as-is.
> * If you have an Automatic Module Name (MANIFEST) defined, you can
> remove it, or leave it as-is, or you can rename it as you think
> the naming convention might be in the future.
> * If you have Nothing related to Module Names in your API, then
> leave it as-is. I would not recommend adding an Automatic
> Module Name at this point since we don't know what the
> convention will be in the future.
> *
>
> Basically, don't do anything for Jakarta EE 9. Leave everything as-is.
> And, we'll address it later in either Jakarta EE 9.1 or 10.
>
> (We will still need some type of disclaimer in the Platform Spec that
> indicates not to count on the Module Names for Jakarta EE 9 -- they will
> be changing in the future when we properly support JPMS Modules.)
>
> ---------------------------------------------------
> Kevin Sutter
> STSM, MicroProfile and Jakarta EE architect @ IBM
> e-mail: sutter@xxxxxxxxxx <mailto:sutter@xxxxxxxxxx> Twitter:
> @kwsutter
> phone: tl-553-3620 (office), 507-253-3620 (office)
> LinkedIn: https://www.linkedin.com/in/kevinwsutter
> _______________________________________________
> jakartaee-spec-project-leads mailing list
> jakartaee-spec-project-leads@xxxxxxxxxxx
> <mailto:jakartaee-spec-project-leads@xxxxxxxxxxx>
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jakartaee-spec-project-leads
>
>
>
>
> _______________________________________________
> jakartaee-platform-dev mailing list
> jakartaee-platform-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
>