jfree / jfreesvg

A fast, lightweight Java library for creating Scalable Vector Graphics (SVG) output.
http://www.jfree.org/jfreesvg
GNU General Public License v3.0
319 stars 58 forks source link

Why does the Artifact ID not follow the Apache Maven guidelines (it prepends the Group ID)? #28

Closed mhschmieder closed 3 years ago

mhschmieder commented 3 years ago

This also applies to JFreePDF (Documented tonight as Issue #1 in that repository).

The Artifact ID includes the Group ID, but this is unnecessary and possibly problematic, as the two go together to form the Unique ID, and the latter should not include the former in its direct specification. It should match the JAR name (minus version number or snapshot). At least, according to the Apache Maven guidelines (and most projects I have seen so far).

https://maven.apache.org/guides/mini/guide-naming-conventions.html

This is the convention I am using in my own just-posted projects, and the one that I encounter in most of what I am seeing at the moment. The Group ID often is the reverse domain of one's GitHub account, as group owner of individual projects whose names (as all-lowercase with no special characters) form the artifact ID and also the JAR name.

jfree commented 3 years ago

I did it this way so that the artifact ID 'jfreesvg' refers to the (non-modular) Java 8 version of JFreeSVG, while 'org.jfree.jfreesvg' is the artifact ID for the modular Java 11 and upwards version of JFreeSVG.

mhschmieder commented 3 years ago

David, thanks for taking the time to answer. As the core of my own offerings is centered around my freshly written EPS library (quite different from earlier libraries that cover that format), I am trying to match your style as much as possible, as I also have a tiny umbrella project that allows for a consistent usage of EPS, PDF, and SVG.