Artifact dependencies
Draft
This document is in the rpocess of creation following DEV-2
Project and Product Names
We make a distinction between projects and products. A project corresponds to a single maven artifact while a product may comprise several artifacts. Project are usually referenced by their artifact-id.
The group id for all project excepts bundelizations of external code is org.trialox for projects to create bundles of third-party projects the group-is is org.trialox.ext.
The artifact-id for all project with org.trialox as group-id, the artifact-id starts with "org.trialox".
TODO: Define for ext group.
- triaxrs
- triamodel
- commons
- incubating
- sandbox
- ext
This main levels also specify the Trialox artifact group ids.
| Group | Artifact GroupId | Description |
|---|---|---|
| triaxrs | org.trialox.triaxrs | The Triax-RS Project |
| triamodel | org.trialox.triamodel | The Tria-Model Project |
| commons | org.trialox.commons | Utility projects |
| incubating | As it would like to have | Upcoming projects |
| sandbox | org.trialox.sandbox | Artifacts to play around with |
| ext | org.trialox.ext | Mavenized and/or OSGified artifacts (Version should reflect the version of its original) |
Project renaming
All projects should change their identifies to match the new project structure.
| Old | New | Comment | |
|---|---|---|---|
| |
org.trialox.cms:cms | org.trialox.cms:cms | |
| |
org.trialox.cms:activator | org.trialox.cms:activator | |
| |
org.trialox.cms:usermanager | org.trialox.cms:usermanager | |
| |
org.trialox.ext.javax.ws:rs | org.trialox.ext:javax.ws.rs | |
| |
org.trialox.ext.org.openrdf:model | org.trialox.ext:org.openrdf.model | obsolete? |
| |
org.trialox.ext.org.openrdf:sesame | org.trialox.ext:org.openrdf.sesame | |
| |
org.trialox:launcher | org.trialox.commons:launcher | |
| |
org.trialox.main.felix | org.trialox.commons:main.felix | |
| |
org.trialox.rdf.facade.jena | org.trialox.triamodel:facade.jena | |
| |
org.trialox.rdf.model | org.trialox.triamodel:rdf.model | |
| |
org.trialox.rdf.model.test | org.trialox.triamodel:rdf.model.test | |
| |
org.trialox.rdf.spi.sesame | org.trialox.triamodel:spi.sesame | |
| |
org.trialox.trialox | org.trialox:pom | Name more meaningful |
| |
org.trialox.web.wads | ? | obsolete? |
| |
org.trialox.scb.sesame | ? | obsolete? |
Probably it would be nice to use a _ (underscore) in the full-qualified artifact name to better distinguish groupId and artifactId.
IMHO it's best to add a POM project to each main group:
- org.trialox.cms:pom
- org.trialox.ext:pom
- org.trialox.triamodel:pom
- org.trialox.triaxrs:pom
- etc.
Comments (8)
Aug 21, 2008
Michael Szalay says:
org.trialox.web.wads und org.trialox.scb.sesame sind sicher obsolete. org.trial...org.trialox.web.wads und org.trialox.scb.sesame sind sicher obsolete.
org.trialox.ext.org.openrdf:model ist bis jetzt nicht obsolete, könnte aber mit dem anderen ext.org.openrdf-Package zusammengefasst werden.
Aug 21, 2008
Michael Szalay says:
wo sind mavenisierte Sachen enthalten? Auch in org.trialox.ext?wo sind mavenisierte Sachen enthalten? Auch in org.trialox.ext?
Aug 21, 2008
Tobias Hofer says:
Yes, all 3thparty artifacts get into org.trialox.ext. I'll correct the descripti...Yes, all 3th-party artifacts get into org.trialox.ext. I'll correct the description.
Aug 21, 2008
Reto Bachmann says:
till now we has a separation of packagename which are more technically oriented ...till now we has a separation of package-name which are more technically oriented like org.trialox.jaxrs and the product names like triaxrs, not sure about your motivation to change this.
Aug 21, 2008
Tobias Hofer says:
IMHO it's confusing to use different names for the same thing. If an artifact be...IMHO it's confusing to use different names for the same thing. If an artifact belongs to a specific product, why not to let the java package reflect that fact. Otherwise the time will come when technician and non-techniciantalk at cross-purposes.
Aug 21, 2008
Reto Bachmann says:
Dont understand Probably it would be nice to use a {} (underscore) in the fullq...Dont understand
Its not clear where you want to add an underscore, and isn't the convention not to use dots (".") in artifactId enough?
Aug 21, 2008
Tobias Hofer says:
It's not a very good convention to simply use the last part of the package name ...It's not a very good convention to simply use the last part of the package name as artifactId. The groupId must be something more meaningful like the recently introduced product groups.
Have a look at the following imaginary projects:
What would be the most appropriate and meaningful grouping? Your convention says
But that makes no sense because the api project and its implementation should belong together. The following grouping is more natural:
Aug 21, 2008
Tobias Hofer says:
The underscore should visually separate groupId and artifactId as it did before ...The underscore should visually separate groupId and artifactId as it did before you changed it.