.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright (C) 2022 Nordix Foundation

Delivery
========

..
   * This section is used to describe the delivery of a software component.
     For a run-time component, this might be executable images, containers, etc.
     For an SDK, this might be libraries.

   * This section is typically provided for a platform-component and sdk;
     and referenced in developer and user guides.

Deliverables
------------

SDC distribution client is delivered as a jar library and hosted on https://nexus.onap.org/

To include it as a dependency in your project, see `SDC Distribution Client mvn`_.

.. _SDC Distribution Client mvn: https://mvnrepository.com/artifact/org.onap.sdc.sdc-distribution-client/sdc-distribution-client
