The CLM Book - Optimized Component Lifecycle Management with Sonatype CLM

20.5. Supported Component Identifiers

In the v1 API a Maven coordinate structure (GAV) is used when referring to a component and as input to search. A breaking change was introduced in v2 to use an agnostic structure when referring to a component’s coordinates as well as the format. This new structure (component identifier) provides flexibility across different packaging systems and how a component is referenced in those systems.

Support for component identifiers includes the following packaging systems:

  • Maven
  • NuGet

As an example, the skeleton of this agnostic structure is:

{
   "componentIdentifier":{
      "format":"supported-format",
      "coordinates":{

      }
   }
}

Maven Component Identifier

Maven components are indicated with the format of maven and specify attributes for the complete Maven GAVEC:

{
   "componentIdentifier":{
      "format":"maven",
      "coordinates":{
         "artifactId":"tomcat-util",
         "classifier":"",
         "extension":"jar",
         "groupId":"tomcat",
         "version":"5.5.23"
      }
   }
}

NuGet Component Identifier

NuGet components are indicated with the format of nuget:

{
   "componentIdentifier":{
      "format":"nuget",
      "coordinates":{
         "packageId":"Newtonsoft.Json",
         "version":"6.0.8"
      }
   }
}