Maven Artifacts

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.

Labels

 
(None)
  1. 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.

  2. 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?

    1. 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.

  3. 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.

    1. 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.

  4. Aug 21, 2008

    Reto Bachmann says:

    Dont understand Probably it would be nice to use a {} (underscore) in the fullq...

    Dont understand

    Probably it would be nice to use a {_} (underscore) in the full-qualified artifact name to better distinguish groupId and artifactId.

    Its not clear where you want to add an underscore, and isn't the convention not to use dots (".") in artifactId enough?

    1. 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:

      • org.trialox.myapi
      • org.trialox.myapi.impl

      What would be the most appropriate and meaningful grouping? Your convention says

      • org.trialox:myapi
      • org.trialox.myapi:impl

      But that makes no sense because the api project and its implementation should belong together. The following grouping is more natural:

      • org.trialox:myapi
      • org.trialox:myapi.impl
    2. 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.