Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module names for Jakarta EE implementation projects under EE4J #35

Closed
ivargrimstad opened this issue Oct 17, 2018 · 23 comments
Closed

Module names for Jakarta EE implementation projects under EE4J #35

ivargrimstad opened this issue Oct 17, 2018 · 23 comments

Comments

@ivargrimstad
Copy link
Member

The jakarta namespace must not be used for implementation projects. Eclipse standard practices must be followed.

The PMC suggests org.eclipse.* as module names for the EE4J projects.

Please add comments and/or suggestions to this issue.

@MrinalKanti
Copy link

Shouldn't this be org.eclipse.ee4j.* to differentiate from other eclipse projects/implementations?

@joakime
Copy link
Member

joakime commented Oct 17, 2018

Note: org.eclipse.jetty.* is an implementation of both the eclipse-ee4j/servlet-api and eclipse-ee4j/websocket-api specs (pre-jakarta ATM)

@waynebeaton
Copy link
Contributor

The standard practice is to use the project short name for Java packages e.g. org.eclipse.glassfish.*

We don't generally use the Top-Level Project identity in technical namespaces.

@ggam
Copy link
Member

ggam commented Oct 17, 2018 via email

@bshannon
Copy link

This is only about JPMS module names, not package names.

@ggam
Copy link
Member

ggam commented Oct 17, 2018 via email

@MrinalKanti
Copy link

If its just for JPMS module names then why not just use ee4j.* ? I believe JavaFX uses a similar convention.

@ggam
Copy link
Member

ggam commented Oct 17, 2018 via email

@m-reza-rahman
Copy link

I think this is mostly a no-brainer unless I am missing something. org.eclipse.* is fine.

@rhuan080
Copy link

I think org.eclipse.ee is good to use.

@bshannon
Copy link

One of the things we learned with Java EE is that the association with "EE" can blur over time so just like Wayne says we shouldn't include "ee4j" in the name, I would suggest that we not include "ee" in the name.

@rhuan080
Copy link

Yes @bshannon. You are correct in that. But I think we need refer that this project is about enterprise. With this, I suggest org.eclipse.enterprise. Can we use that?

@bshannon
Copy link

Why does it matter that it's "about enterprise"? Many of these API are used standalone in
a very non-enterprise environment.

@rhuan080
Copy link

Because the main goal is provide solutions to enterprise, although it is used in a non-enterprise environment.

@karianna
Copy link
Contributor

karianna commented Oct 19, 2018 via email

@m0mus
Copy link
Member

m0mus commented Oct 19, 2018

Module names should be derived from Maven groupIds. The recommended Maven groupId for EE4J projects is org.eclipse.<project-name>. So, the module name should be also org.eclipse.<project-name>.

For example:

org.eclipse.jersey
org.eclipse.soteria

@joakime
Copy link
Member

joakime commented Oct 19, 2018

If a project has multiple artifacts, the Maven groupId will turn into a prefix for the Module name.

Most of the artifacts being produced already in the various eclipse-ee4j projects already have an OSGi bundle name declared.
Wouldn't it be nice if we could align the OSGi bundle name and the JPMS Module name?

Note that we cannot rely on using the existing OSGi bundle name as-is.
Unfortunately JPMS Module names have different syntax rules (eg: cannot use hyphens in the name for JPMS)

Eg:

  • org.glassfish.tyrus.bundles.websocket-ri-bundle is OK for OSGi but the hyphens are not allowed on JPMS
  • org.glassfish.tyrus.bundles.websocket.ri.bundle is OK for JPMS and OSGi.

@m0mus
Copy link
Member

m0mus commented Oct 19, 2018

@joakime Yes, you are right. What about this:

It should be groupId.artifactId if artifactId doesn't contain the groupId as prefix and artifactId if it does contain groupId as prefix.

@jodastephen
Copy link

Modules are not artifacts. So it is important to not let maven group/artifact names drive module names. (Yes there is a link, but module naming should start from the package name, not the artifactId).

The idea of using org.eclipse.* for Eclipse hosted implementations is good. As is the idea of omitting ee and ee4j.

The module names should really match the root package name as per my naming recommendations. So, IMO this issue should focus on package naming for implementations, with the module name dropping out by virtue of being the root package name.

@smillidge
Copy link

smillidge commented Nov 2, 2018

Given the Eclipse Foundation also owns the GlassFish trademark what is wrong with retaining org.glassfish for those that already have that group id?

@bshannon
Copy link

bshannon commented Nov 2, 2018

I agree. It seems fine to use org.glassfish.

@smillidge
Copy link

Are we agreed on org.glassfish for implementation projects under EE4J that currently have those package names? I will close in 7 days if no more comments?

@smillidge
Copy link

OK org.glassfish should be used for implementation projects that currently have those package names.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests