You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.5KB

  1. The Local Package Repository
  2. ############################
  3. ``dds`` maintains a local repository of packages that it has obtained at the
  4. request of a user. The packages themselves are stored as
  5. :doc:`source distributions <source-dists>` (``dds`` does not store the binaries
  6. that it builds within the repository).
  7. Reading Repository Contents
  8. ***************************
  9. Most times, ``dds`` will manage the repository content silently, but it may be
  10. useful to see what ``dds`` is currently storing away.
  11. The content of the repostiory can be seen with the ``repo`` subcommand::
  12. > dds repo ls
  13. This will print the names of packages that ``dds`` has downloaded, as well as
  14. the versions of each.
  15. Obtaining Packages
  16. ******************
  17. When ``dds`` builds a package, it will also build the dependency libraries of
  18. that package. In order for the dependency build to succeed, it must have a
  19. local copy of the source distribution of that dependency.
  20. When ``dds`` performs dependency resolution, it will consider both existing
  21. packages in the local repository, as well as packages that are available from
  22. the :doc:`package catalog <catalog>`. If the dependency solution requires any
  23. packages that are not in the local repository, it will use the information in
  24. the catalog to obtain a source distribution for each missing package. The
  25. source distributions will automatically be added to the local repository, and
  26. later dependency resolutions will not need to download that package again.
  27. .. _repo.export-local:
  28. Exporting a Project into the Repository
  29. ***************************************
  30. ``dds`` can only use packages that are available in the local repository. For
  31. packages that have a listing in the catalog, this is not a problem. If one is
  32. developing a local package and wants to allow it to be used in another local
  33. package, that can be done by exporting a source distribution from the package
  34. root::
  35. > dds sdist export
  36. This command will create a source distribution and put it into the local
  37. repository. The package available to other projects on the local system.
  38. .. note::
  39. This doesn't export in "editable" mode: A snapshot of the package root
  40. will be taken and exported to the local repository.
  41. If one tries to export a package root into a repository that already contains
  42. a package with a matching identifier, ``dds`` will issue an error. If the
  43. ``--replace`` flag is specified with ``sdist export``, then ``dds`` will
  44. forcibly replace the package in the local repository with a new copy.