Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ee4j-pmc] implementation module names, groupIds, etc.

While you're thinking about what to do about the standard module names,
there's a similar issue with the names of implementation modules, the
Maven groupIds used for these artifacts, their OSGi bundle names, etc.

My questions to the PMC are at the bottom.


I described the conventions we used for Java EE here:
https://javaee.github.io/glassfish/wiki-archive/Maven%20Versioning%20Rules.html

Here's two examples excerpted from that:

JSF:

	API jar file:			javax.faces-api.jar
	  OSGi Bundle-SymbolicName:	javax.faces-api
	  Maven group ID, artifact ID:	javax.faces:javax.faces-api
	  jar Extension-Name:		javax.faces
          API javadoc jar file:         javax.faces-api-javadoc.jar
          API source jar file:          javax.faces-api-sources.jar

	Implementation jar file:	javax.faces.jar
	  OSGi Bundle-SymbolicName:	org.glassfish.javax.faces
	  Maven group ID, artifact ID:	org.glassfish:javax.faces
	  jar Extension-Name:		javax.faces

JavaMail:

	API jar file:			javax.mail-api.jar
	  OSGi Bundle-SymbolicName:	javax.mail-api
	  Maven group ID, artifact ID:	javax.mail:javax.mail-api
	  jar Extension-Name:		javax.mail
          API javadoc jar file:         javax.mail-api-javadoc.jar
          API source jar file:          javax.mail-api-sources.jar

	Implementation jar file:	javax.mail.jar
	  OSGi Bundle-SymbolicName:	com.sun.mail.javax.mail
	  Maven group ID, artifact ID:	com.sun.mail:javax.mail
	  jar Extension-Name:		javax.mail


What names should we use for the implementation jar files?

Eclipse now owns GlassFish, so continuing to use org.glassfish might be fine.
This would take care of many of the implementation jar files.

What about the components that have used (e.g.) com.sun.*?  Should we switch
to "org.eclipse.ee4j.*" or perhaps just "ee4j.*"?

The above examples might change to:

JSF:

	API jar file:			jakarta.faces-api.jar
	  OSGi Bundle-SymbolicName:	jakarta.faces-api
	  Maven group ID, artifact ID:	jakarta.faces:jakarta.faces-api
	  jar Extension-Name:		jakarta.faces
          API javadoc jar file:         jakarta.faces-api-javadoc.jar
          API source jar file:          jakarta.faces-api-sources.jar

	Implementation jar file:	jakarta.faces.jar
	  OSGi Bundle-SymbolicName:	org.glassfish.jakarta.faces
	  Maven group ID, artifact ID:	org.glassfish:jakarta.faces
	  jar Extension-Name:		jakarta.faces

JavaMail:

	API jar file:			jakarta.mail-api.jar
	  OSGi Bundle-SymbolicName:	jakarta.mail-api
	  Maven group ID, artifact ID:	jakarta.mail:jakarta.mail-api
	  jar Extension-Name:		jakarta.mail
          API javadoc jar file:         jakarta.mail-api-javadoc.jar
          API source jar file:          jakarta.mail-api-sources.jar

	Implementation jar file:	jakarta.mail.jar
	  OSGi Bundle-SymbolicName:	org.eclipse.ee4j.mail.jakarta.mail
	  Maven group ID, artifact ID:	org.eclipse.ee4j.mail:jakarta.mail
	  jar Extension-Name:		jakarta.mail

Likewise, the Java platform module system names might be
org.glassfish.jakarta.faces and org.eclipse.ee4j.mail.jakarta.mail,
or something like that.


Note that none of this is suggesting that we change the Java package names;
doing so would have a significant hit on compatibility for applications
using the EE4J implementations.  Still, these other proposed changes will
disrupt or confuse some users, and we should consider whether such changes
are "worth it".


Finally, my questions for the PMC:

1. Should we change the implementation Maven groupIds and OSGi bundle names
   (and choose corresponding Java platform module system names)?

2. If so, what new naming convention should we use?

3. Should we continue to use org.glassfish, or change it as well?

Thanks.


Back to the top