diff --git a/docs/.gitignore b/docs/.gitignore index 25643c45cd2255557299732bc9fa0ef4dd2d8e74..6188ceb0eb9a47536ec46ddeb7a43fce0c07eb95 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -3,3 +3,5 @@ _build/ devel/swh-* !/swh-loader.rst sources/ +user/listers/table.inc +user/loaders/table.inc diff --git a/docs/Makefile b/docs/Makefile index f034553458ebc4b8802db7b690d5862626679f88..8b5e2a771a900e98fb880da770c82b31ee6e4ab8 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -14,13 +14,16 @@ INSTALL_DIR = /srv/softwareheritage/docs/webroot INSTALL_GROUP = swhdev INSTALL_PERMS = g+rwX -.PHONY: help images apidoc html clean install +.PHONY: help images apidoc dynamic-rst html clean install all: html +dynamic-rst: + make -C user dynamic-rst + # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -sphinx/%: Makefile images apidoc +sphinx/%: Makefile images apidoc dynamic-rst @$(SPHINXBUILD) -M $* "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) sphinx/clean: diff --git a/docs/forge-support.yml b/docs/forge-support.yml new file mode 100644 index 0000000000000000000000000000000000000000..09f410469d6f12ee69aac7652c43ca319ea1f299 --- /dev/null +++ b/docs/forge-support.yml @@ -0,0 +1,388 @@ +forges: + arch: + name: Archlinux + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4233 + grant: sloan-hashbang-2022 + developer: hashbang + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4233 + grant: sloan-hashbang-2022 + developer: hashbang + + archive: + name: Archive + lister: + status: N/A + loader: + status: prod + + aur: + name: AUR + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4466 + grant: sloan-hashbang-2022 + developer: hashbang + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4466 + grant: sloan-hashbang-2022 + developer: hashbang + + bzr: + name: Bazaar + lister: + status: N/A + loader: + status: prod + source: https://forge.softwareheritage.org/source/swh-loader-bzr/ + grant: sloan-octobus-2021 + developer: octobus + + bitbucket: + name: Bitbucket + lister: + status: prod + loader: + status: N/A + + bower: + name: Bower + lister: + status: staging + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: N/A + + cgit: + name: CGit + lister: + status: prod + loader: + status: N/A + + conda: + name: Conda + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/4547 + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-loader-core/-/issues/4579 + grant: nlnet-octobus-2022 + developer: octobus + + cpan: + name: CPAN + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/2833 + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: N/A + + cran: + name: CRAN + lister: + status: prod + loader: + status: prod + + crates: + name: Crates + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/1424 + grant: sloan-hashbang-2022 + developer: hashbang + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4104 + grant: sloan-hashbang-2022 + developer: hashbang + + cvs: + name: CVS + lister: + status: N/A + loader: + status: prod + source: https://gitlab.softwareheritage.org/swh/devel/swh-loader-cvs/ + grant: sloan-stsp-cvs + developer: stsp + + debian: + name: Debian + lister: + status: prod + loader: + status: prod + + deposit: + name: Deposit + lister: + status: N/A + loader: + status: prod + + gitea: + name: Gitea + lister: + status: prod + loader: + status: N/A + + git: + name: Git + lister: + status: N/A + loader: + status: prod + source: https://forge.softwareheritage.org/source/swh-loader-git/ + + github: + name: GitHub + lister: + status: prod + loader: + status: N/A + + gitlab: + name: GitLab + lister: + status: prod + loader: + status: N/A + + gnu: + name: GNU + lister: + status: prod + loader: + status: N/A + + gogs: + name: Gogs + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/1721 + loader: + status: N/A + + golang: + name: Golang + lister: + status: staging + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: staging + grant: nlnet-octobus-2022 + developer: octobus + + hackage: + name: Hackage + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4494 + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/meta/-/issues/4494 + grant: nlnet-octobus-2022 + developer: octobus + + launchpad: + name: Launchpad + lister: + status: prod + loader: + status: N/A + + maven: + name: Maven + lister: + status: prod + grant: sloan-castalia-maven + developer: castalia + loader: + status: prod + grant: sloan-castalia-maven + developer: castalia + + mercurial: + name: Mercurial + lister: + status: N/A + loader: + status: prod + source: https://forge.softwareheritage.org/source/swh-loader-mercurial/ + grant: sloan-2020 + developer: octobus + + nixguix: + name: Nix/Guix + lister: + status: N/A + loader: + status: prod + grant: nlnet-tweag-2020 + developer: tweag + + npm: + name: NPM + lister: + status: prod + loader: + status: prod + + opam: + name: OPAM + lister: + status: prod + grant: sloan-ocamlpro-opam + developer: ocamlpro + loader: + status: prod + grant: sloan-ocamlpro-opam + developer: ocamlpro + + packagist: + name: Packagist + lister: + status: staging + loader: + status: N/A + + phabricator: + name: Phabricator + lister: + status: prod + loader: + status: N/A + + pubdev: + name: Pub.Dev + lister: + status: staging + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: staging + grant: nlnet-octobus-2022 + developer: octobus + + puppet: + name: Puppet + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/4519 + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: dev + grant: nlnet-octobus-2022 + developer: octobus + + pypi: + name: PyPI + lister: + status: prod + loader: + status: prod + + rubygems: + name: Rubygems + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/1777 + grant: nlnet-octobus-2022 + developer: octobus + loader: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-loader-core/-/issues/4581 + grant: nlnet-octobus-2022 + developer: octobus + + sourceforge: + name: SourceForge + lister: + status: prod + grant: sloan-octobus-2021 + developer: octobus + loader: + status: N/A + + svn: + name: Subversion + lister: + status: N/A + loader: + status: prod + source: https://forge.softwareheritage.org/source/swh-loader-svn/ + + tuleap: + name: Tuleap + lister: + status: dev + issue: https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/issues/3334 + loader: + status: N/A + + +grants: + nlnet-octobus-2022: + funder: NLnet Foundation + announcement: https://nlnet.nl/project/SWH-PackageManagers/index.html + nlnet-tweag-2020: + funder: NLnet Foundation + announcement: https://www.softwareheritage.org/2020/06/18/welcome-nixpkgs/ + sloan-2020: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2020/03/26/experts-join-forces-to-expand-the-software-heritage-archive/ + + sloan-castalia-maven: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2021/07/22/archiving-the-maven-ecosystem/ + sloan-hashbang-2022: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ + sloan-ocamlpro-opam: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2021/04/20/connecting-ocaml/ + sloan-octobus-2021: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2021/01/21/archiving-sourceforge-and-supporting-bazaar/ + sloan-stsp-cvs: + funder: Alfred P. Sloan Foundation + announcement: https://www.softwareheritage.org/2020/12/10/sloan-subgrant-cvs-subversion-loaders/ + + +developers: + castalia: + name: Castalia Solutions + url: https://castalia.solutions/ + hashbang: + name: Hashbang + url: https://hashbang.fr/ + ocamlpro: + name: OCamlPro + url: https://ocamlpro.com/ + octobus: + name: Octobus + url: https://octobus.net/ + stsp: + name: Stefan Sperling + url: https://stefansperling.de/ + tweag: + name: Tweag + url: https://www.tweag.io/ + diff --git a/docs/user/Makefile b/docs/user/Makefile index 4eaea5baf346c6cd7bcf000d7cac442a1299e3cd..79f474b796f45e0b5db26ba9dc96ace4e45c955e 100644 --- a/docs/user/Makefile +++ b/docs/user/Makefile @@ -10,13 +10,19 @@ BUILDDIR = _build all: html +listers/table.inc loaders/table.inc: ../forge-support.yml + python3 -m swh.docs.generate_forge_list ../forge-support.yml listers/table.inc loaders/table.inc + +dynamic-rst: listers/table.inc loaders/table.inc + # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -sphinx/%: Makefile +sphinx/%: Makefile dynamic-rst @$(SPHINXBUILD) -M $* "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) html: sphinx/html clean: sphinx/clean + rm -f listers/table.inc loaders/table.inc -.PHONY: html clean +.PHONY: html clean dynamic-rst diff --git a/docs/user/listers/index.rst b/docs/user/listers/index.rst index 9c247656843aac61eb5776a64abf5c2b60e5b19f..37d4135a34e15425375acd2d60af817f5aebdea6 100644 --- a/docs/user/listers/index.rst +++ b/docs/user/listers/index.rst @@ -9,625 +9,4 @@ load into the |swh| archive. This page references all available listers and links to their high-level documentation. -.. rst-class:: swh-logos-table - -.. table:: - :align: center - - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | Lister name | Related links | Current status | Related `grants`_ | - +===========================+================================+==============================+====================================+ - | |arch_logo| | * |arch_lister_source|_ | |arch_lister_status|_ | |arch_lister_grant|_ | - | | * |arch_lister_dev|_ | | | - | :ref:`arch_lister` | | | (awarded to `Hashbang`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |aur_logo| | * |aur_lister_source|_ | |aur_lister_status|_ | |aur_lister_grant|_ | - | | * |aur_lister_dev|_ | | | - | :ref:`aur_lister` | | | (awarded to `Hashbang`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |bitbucket_logo| | * |bitbucket_lister_source|_ | |bitbucket_lister_status|_ | | - | | * |bitbucket_lister_dev|_ | | | - | :ref:`bitbucket_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |bower_logo| | * |bower_lister_source|_ | |bower_lister_status|_ | |bower_lister_grant|_ | - | | * |bower_lister_dev|_ | | | - | :ref:`bower_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |cgit_logo| | * |cgit_lister_source|_ | |cgit_lister_status|_ | | - | | * |cgit_lister_dev|_ | | | - | :ref:`cgit_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |conda_logo| | * |conda_lister_source|_ | |conda_lister_status|_ | |conda_lister_grant|_ | - | | * |conda_lister_dev|_ | | | - | :ref:`conda_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |cpan_logo| | * |cpan_lister_source|_ | |cpan_lister_status|_ | |cpan_lister_grant|_ | - | | * |cpan_lister_dev|_ | | | - | :ref:`cpan_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |cran_logo| | * |cran_lister_source|_ | |cran_lister_status|_ | | - | | * |cran_lister_dev|_ | | | - | :ref:`cran_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |crates_logo| | * |crates_lister_source|_ | |crates_lister_status|_ | |crates_lister_grant|_ | - | | * |crates_lister_dev|_ | | | - | :ref:`crates_lister` | | | (awarded to `Hashbang`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |debian_logo| | * |debian_lister_source|_ | |debian_lister_status|_ | | - | | | | | - | :ref:`debian_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |gitea_logo| | * |gitea_lister_source|_ | |gitea_lister_status|_ | | - | | | | | - | :ref:`gitea_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |github_logo| | * |github_lister_source|_ | |github_lister_status|_ | | - | | * |github_lister_dev|_ | | | - | :ref:`github_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |gitlab_logo| | * |gitlab_lister_source|_ | |gitlab_lister_status|_ | | - | | * |gitlab_lister_dev|_ | | | - | :ref:`gitlab_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |gnu_logo| | * |gnu_lister_source|_ | |gnu_lister_status|_ | | - | | * |gnu_lister_dev|_ | | | - | :ref:`gnu_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |gogs_logo| | * |gogs_lister_source|_ | |gogs_lister_status|_ | | - | | * |gogs_lister_dev|_ | | | - | :ref:`gogs_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |golang_logo| | * |golang_lister_source|_ | |golang_lister_status|_ | |golang_lister_grant|_ | - | | * |golang_lister_dev|_ | | | - | :ref:`golang_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |hackage_logo| | * |hackage_lister_source|_ | |hackage_lister_status|_ | |hackage_lister_grant|_ | - | | * |hackage_lister_dev|_ | | | - | :ref:`hackage_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |launchpad_logo| | * |launchpad_lister_source|_ | |launchpad_lister_status|_ | | - | | | | | - | :ref:`launchpad_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |maven_logo| | * |maven_lister_source|_ | |maven_lister_status|_ | |maven_lister_grant|_ | - | | * |maven_lister_dev|_ | | | - | :ref:`maven_lister` | | | (awarded to `Castalia Solutions`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |npm_logo| | * |npm_lister_source|_ | |npm_lister_status|_ | | - | | * |npm_lister_dev|_ | | | - | :ref:`npm_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |opam_logo| | * |opam_lister_source|_ | |opam_lister_status|_ | |opam_lister_grant|_ | - | | * |opam_lister_dev|_ | | | - | :ref:`opam_lister` | | | (awarded to `OCamlPro`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |packagist_logo| | * |packagist_lister_source|_ | |packagist_lister_status|_ | | - | | | | | - | :ref:`packagist_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |pubdev_logo| | * |pubdev_lister_source|_ | |pubdev_lister_status|_ | |pubdev_lister_grant|_ | - | | * |pubdev_lister_dev|_ | | | - | :ref:`pubdev_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |puppet_logo| | * |puppet_lister_source|_ | |puppet_lister_status|_ | |puppet_lister_grant|_ | - | | * |puppet_lister_dev|_ | | | - | :ref:`puppet_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |pypi_logo| | * |pypi_lister_source|_ | |pypi_lister_status|_ | | - | | * |pypi_lister_dev|_ | | | - | :ref:`pypi_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |rubygems_logo| | * |rubygems_lister_source|_ | |rubygems_lister_status|_ | |rubygems_lister_grant|_ | - | | * |rubygems_lister_dev|_ | | | - | :ref:`rubygems_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |sourceforge_logo| | * |sourceforge_lister_source|_ | |sourceforge_lister_status|_ | |sourceforge_lister_grant|_ | - | | * |sourceforge_lister_dev|_ | | | - | :ref:`sourceforge_lister` | | | (awarded to `Octobus`_) | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - | |tuleap_logo| | * |tuleap_lister_source|_ | |tuleap_lister_status|_ | | - | | | | | - | :ref:`tuleap_lister` | | | | - +---------------------------+--------------------------------+------------------------------+------------------------------------+ - - - -.. toctree:: - :maxdepth: 2 - :hidden: - - arch - aur - bitbucket - bower - cgit - conda - cpan - cran - crates - debian - gitea - github - gitlab - gnu - gogs - golang - hackage - launchpad - maven - npm - opam - packagist - phabricator - pubdev - puppet - pypi - rubygems - sourceforge - tuleap - -.. |arch_logo| image:: ../logos/arch.png - :width: 50% - :target: arch.html - :alt: Arch lister - -.. |aur_logo| image:: ../logos/aur.png - :width: 50% - :target: aur.html - :alt: AUR lister - -.. |bitbucket_logo| image:: ../logos/bitbucket.png - :width: 50% - :target: bitbucket.html - :alt: Bitbucket lister - -.. |bower_logo| image:: ../logos/bower.png - :width: 50% - :target: bower.html - :alt: Bower lister - -.. |cgit_logo| image:: ../logos/cgit.png - :width: 50% - :target: cgit.html - :alt: Cgit lister - -.. |conda_logo| image:: ../logos/conda.png - :width: 50% - :target: conda.html - :alt: Conda lister - -.. |cpan_logo| image:: ../logos/cpan.png - :width: 50% - :target: cpan.html - :alt: CPAN lister - -.. |cran_logo| image:: ../logos/cran.png - :width: 50% - :target: cran.html - :alt: CRAN lister - -.. |crates_logo| image:: ../logos/crates.png - :width: 50% - :target: crates.html - :alt: Crates lister - -.. |debian_logo| image:: ../logos/debian.png - :width: 50% - :target: debian.html - :alt: Debian lister - -.. |gitea_logo| image:: ../logos/gitea.png - :width: 50% - :target: gitea.html - :alt: Gitea lister - -.. |github_logo| image:: ../logos/github.png - :width: 50% - :target: github.html - :alt: GitHub lister - -.. |gitlab_logo| image:: ../logos/gitlab.png - :width: 50% - :target: gitlab.html - :alt: GitLab lister - -.. |gnu_logo| image:: ../logos/gnu.png - :width: 50% - :target: gnu.html - :alt: GNU lister - -.. |gogs_logo| image:: ../logos/gogs.png - :width: 50% - :target: gogs.html - :alt: Gogs lister - -.. |golang_logo| image:: ../logos/golang.png - :width: 50% - :target: golang.html - :alt: Golang lister - -.. |hackage_logo| image:: ../logos/hackage.png - :width: 50% - :target: hackage.html - :alt: Hackage lister - -.. |launchpad_logo| image:: ../logos/launchpad.png - :width: 50% - :target: launchpad.html - :alt: Launchpad lister - -.. |maven_logo| image:: ../logos/maven.png - :width: 50% - :target: maven.html - :alt: Maven lister - -.. |npm_logo| image:: ../logos/npm.png - :width: 50% - :target: npm.html - :alt: NPM lister - -.. |opam_logo| image:: ../logos/opam.png - :width: 50% - :target: opam.html - :alt: Opam lister - -.. |packagist_logo| image:: ../logos/packagist.png - :width: 50% - :target: packagist.html - :alt: Packagist lister - -.. |phabricator_logo| image:: ../logos/phabricator.png - :width: 50% - :target: phabricator.html - :alt: Phabricator lister - -.. |pubdev_logo| image:: ../logos/pubdev.png - :width: 50% - :target: pubdev.html - :alt: PubDev lister - -.. |puppet_logo| image:: ../logos/puppet.png - :width: 50% - :target: puppet.html - :alt: Puppet lister - -.. |pypi_logo| image:: ../logos/pypi.png - :width: 50% - :target: pypi.html - :alt: PyPI lister - -.. |rubygems_logo| image:: ../logos/rubygems.png - :width: 50% - :target: rubygems.html - :alt: RubyGems lister - -.. |sourceforge_logo| image:: ../logos/sourceforge.png - :width: 50% - :target: sourceforge.html - :alt: SourceForge lister - -.. |tuleap_logo| image:: ../logos/tuleap.png - :width: 50% - :target: tuleap.html - :alt: Tuleap lister - -.. |arch_lister_source| replace:: Source code -.. _arch_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/arch/ - -.. |arch_lister_dev| replace:: Development -.. _arch_lister_dev: https://forge.softwareheritage.org/project/profile/188/ - -.. |arch_lister_status| replace:: in development -.. _arch_lister_status: https://forge.softwareheritage.org/T4233 - -.. |arch_lister_grant| replace:: Alfred P. Sloan Foundation -.. _arch_lister_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |aur_lister_source| replace:: Source code -.. _aur_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/aur/ - -.. |aur_lister_dev| replace:: Development -.. _aur_lister_dev: https://forge.softwareheritage.org/project/profile/190/ - -.. |aur_lister_status| replace:: in development -.. _aur_lister_status: https://forge.softwareheritage.org/T4466 - -.. |aur_lister_grant| replace:: Alfred P. Sloan Foundation -.. _aur_lister_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |bitbucket_lister_source| replace:: Source code -.. _bitbucket_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/bitbucket/ - -.. |bitbucket_lister_dev| replace:: Development -.. _bitbucket_lister_dev: https://forge.softwareheritage.org/project/profile/67/ - -.. |bitbucket_lister_status| replace:: in production -.. _bitbucket_lister_status: https://archive.softwareheritage.org/coverage/?focus=bitbucket#bitbucket - - -.. |bower_lister_source| replace:: Source code -.. _bower_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/bower/ - -.. |bower_lister_dev| replace:: Development -.. _bower_lister_dev: https://forge.softwareheritage.org/project/profile/194/ - -.. |bower_lister_status| replace:: in staging -.. _bower_lister_status: https://webapp.staging.swh.network/coverage/?focus=bower#bower - -.. |bower_lister_grant| replace:: NLnet Foundation -.. _bower_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |cgit_lister_source| replace:: Source code -.. _cgit_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/cgit/ - -.. |cgit_lister_dev| replace:: Development -.. _cgit_lister_dev: https://forge.softwareheritage.org/project/profile/22/ - -.. |cgit_lister_status| replace:: in production -.. _cgit_lister_status: https://archive.softwareheritage.org/coverage/?focus=cgit#cgit - - -.. |conda_lister_source| replace:: Source code -.. _conda_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/conda/ - -.. |conda_lister_dev| replace:: Development -.. _conda_lister_dev: https://forge.softwareheritage.org/project/profile/204/ - -.. |conda_lister_status| replace:: in development -.. _conda_lister_status: https://forge.softwareheritage.org/T4547 - -.. |conda_lister_grant| replace:: NLnet Foundation -.. _conda_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |cpan_lister_source| replace:: Source code -.. _cpan_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/cpan/ - -.. |cpan_lister_dev| replace:: Development -.. _cpan_lister_dev: https://forge.softwareheritage.org/project/profile/199/ - -.. |cpan_lister_status| replace:: in development -.. _cpan_lister_status: https://forge.softwareheritage.org/T2833 - -.. |cpan_lister_grant| replace:: NLnet Foundation -.. _cpan_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |cran_lister_source| replace:: Source code -.. _cran_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/cran/ - -.. |cran_lister_dev| replace:: Development -.. _cran_lister_dev: https://forge.softwareheritage.org/project/profile/132/ - -.. |cran_lister_status| replace:: in production -.. _cran_lister_status: https://archive.softwareheritage.org/coverage/?focus=CRAN#CRAN - - -.. |crates_lister_source| replace:: Source code -.. _crates_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/crates/ - -.. |crates_lister_dev| replace:: Development -.. _crates_lister_dev: https://forge.softwareheritage.org/project/profile/183/ - -.. |crates_lister_status| replace:: in development -.. _crates_lister_status: https://forge.softwareheritage.org/T1424 - -.. |crates_lister_grant| replace:: Alfred P. Sloan Foundation -.. _crates_lister_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |debian_lister_source| replace:: Source code -.. _debian_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/debian/ - -.. |debian_lister_status| replace:: in production -.. _debian_lister_status: https://archive.softwareheritage.org/coverage/?focus=debian#debian - - -.. |gitea_lister_source| replace:: Source code -.. _gitea_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/gitea/ - -.. |gitea_lister_status| replace:: in production -.. _gitea_lister_status: https://archive.softwareheritage.org/coverage/?focus=gitea#gitea - - -.. |github_lister_source| replace:: Source code -.. _github_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/github/ - -.. |github_lister_dev| replace:: Development -.. _github_lister_dev: https://forge.softwareheritage.org/project/profile/21/ - -.. |github_lister_status| replace:: in production -.. _github_lister_status: https://archive.softwareheritage.org/coverage/?focus=github#github - - -.. |gitlab_lister_source| replace:: Source code -.. _gitlab_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/gitlab/ - -.. |gitlab_lister_dev| replace:: Development -.. _gitlab_lister_dev: https://forge.softwareheritage.org/project/profile/83/ - -.. |gitlab_lister_status| replace:: in production -.. _gitlab_lister_status: https://archive.softwareheritage.org/coverage/?focus=gitlab,heptapod#gitlab - - -.. |gnu_lister_source| replace:: Source code -.. _gnu_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/gnu/ - -.. |gnu_lister_dev| replace:: Development -.. _gnu_lister_dev: https://forge.softwareheritage.org/project/profile/70/ - -.. |gnu_lister_status| replace:: in production -.. _gnu_lister_status: https://archive.softwareheritage.org/coverage/?focus=GNU#GNU - - -.. |gogs_lister_source| replace:: Source code -.. _gogs_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/gogs/ - -.. |gogs_lister_dev| replace:: Development -.. _gogs_lister_dev: https://forge.softwareheritage.org/project/profile/197/ - -.. |gogs_lister_status| replace:: in development -.. _gogs_lister_status: https://forge.softwareheritage.org/T1721 - - -.. |golang_lister_source| replace:: Source code -.. _golang_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/golang/ - -.. |golang_lister_dev| replace:: Development -.. _golang_lister_dev: https://forge.softwareheritage.org/project/profile/195/ - -.. |golang_lister_status| replace:: in staging -.. _golang_lister_status: https://webapp.staging.swh.network/coverage/?focus=golang#golang - -.. |golang_lister_grant| replace:: NLnet Foundation -.. _golang_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |hackage_lister_source| replace:: Source code -.. _hackage_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/hackage/ - -.. |hackage_lister_dev| replace:: Development -.. _hackage_lister_dev: https://forge.softwareheritage.org/project/profile/202/ - -.. |hackage_lister_status| replace:: in development -.. _hackage_lister_status: https://forge.softwareheritage.org/T4494 - -.. |hackage_lister_grant| replace:: NLnet Foundation -.. _hackage_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |launchpad_lister_source| replace:: Source code -.. _launchpad_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/launchpad/ - -.. |launchpad_lister_status| replace:: in production -.. _launchpad_lister_status: https://archive.softwareheritage.org/coverage/?focus=launchpad#launchpad - - -.. |maven_lister_source| replace:: Source code -.. _maven_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/maven/ - -.. |maven_lister_dev| replace:: Development -.. _maven_lister_dev: https://forge.softwareheritage.org/project/profile/184/ - -.. |maven_lister_status| replace:: in production -.. _maven_lister_status: https://archive.softwareheritage.org/coverage/?focus=maven#maven - -.. |maven_lister_grant| replace:: Alfred P. Sloan Foundation -.. _maven_lister_grant: https://www.softwareheritage.org/2021/07/22/archiving-the-maven-ecosystem/ - - -.. |npm_lister_source| replace:: Source code -.. _npm_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/npm/ - -.. |npm_lister_dev| replace:: Development -.. _npm_lister_dev: https://forge.softwareheritage.org/project/profile/111/ - -.. |npm_lister_status| replace:: in production -.. _npm_lister_status: https://archive.softwareheritage.org/coverage/?focus=npm#npm - - -.. |opam_lister_source| replace:: Source code -.. _opam_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/opam/ - -.. |opam_lister_dev| replace:: Developer doc -.. _opam_lister_dev: https://forge.softwareheritage.org/project/profile/167/ - -.. |opam_lister_status| replace:: in production -.. _opam_lister_status: https://archive.softwareheritage.org/coverage/?focus=opam#opam - -.. |opam_lister_grant| replace:: Alfred P. Sloan Foundation -.. _opam_lister_grant: https://www.softwareheritage.org/2021/04/20/connecting-ocaml/ - - -.. |packagist_lister_source| replace:: Source code -.. _packagist_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/packagist/ - -.. |packagist_lister_status| replace:: in staging -.. _packagist_lister_status: https://webapp.staging.swh.network/coverage/?focus=Packagist#Packagist - - -.. |phabricator_lister_source| replace:: Source code -.. _phabricator_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/phabricator/ - -.. |phabricator_lister_status| replace:: in production -.. _phabricator_lister_status: https://archive.softwareheritage.org/coverage/?focus=phabricator#phabricator - - -.. |pubdev_lister_source| replace:: Source code -.. _pubdev_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/pubdev/ - -.. |pubdev_lister_dev| replace:: Development -.. _pubdev_lister_dev: https://forge.softwareheritage.org/project/profile/192/ - -.. |pubdev_lister_status| replace:: in staging -.. _pubdev_lister_status: https://webapp.staging.swh.network/coverage/?focus=pubdev#pubdev - -.. |pubdev_lister_grant| replace:: NLnet Foundation -.. _pubdev_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |puppet_lister_source| replace:: Source code -.. _puppet_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/puppet/ - -.. |puppet_lister_dev| replace:: Development -.. _puppet_lister_dev: https://forge.softwareheritage.org/project/profile/200/ - -.. |puppet_lister_status| replace:: in development -.. _puppet_lister_status: https://forge.softwareheritage.org/T4519 - -.. |puppet_lister_grant| replace:: NLnet Foundation -.. _puppet_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |pypi_lister_source| replace:: Source code -.. _pypi_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/pypi/ - -.. |pypi_lister_dev| replace:: Development -.. _pypi_lister_dev: https://forge.softwareheritage.org/project/profile/54/ - -.. |pypi_lister_status| replace:: in production -.. _pypi_lister_status: https://archive.softwareheritage.org/coverage/?focus=pypi#pypi - - -.. |rubygems_lister_source| replace:: Source code -.. _rubygems_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/rubygems/ - -.. |rubygems_lister_dev| replace:: Development -.. _rubygems_lister_dev: https://forge.softwareheritage.org/project/profile/201/ - -.. |rubygems_lister_status| replace:: in development -.. _rubygems_lister_status: https://forge.softwareheritage.org/T1777 - -.. |rubygems_lister_grant| replace:: NLnet Foundation -.. _rubygems_lister_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |sourceforge_lister_source| replace:: Source code -.. _sourceforge_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/sourceforge/ - -.. |sourceforge_lister_dev| replace:: Development -.. _sourceforge_lister_dev: https://forge.softwareheritage.org/project/profile/75/ - -.. |sourceforge_lister_status| replace:: in production -.. _sourceforge_lister_status: https://archive.softwareheritage.org/coverage/?focus=sourceforge#sourceforge - -.. |sourceforge_lister_grant| replace:: Alfred P. Sloan Foundation -.. _sourceforge_lister_grant: https://www.softwareheritage.org/2021/08/12/archiving-sourceforge/ - - -.. |tuleap_lister_source| replace:: Source code -.. _tuleap_lister_source: https://forge.softwareheritage.org/source/swh-lister/browse/master/swh/lister/tuleap/ - -.. |tuleap_lister_status| replace:: in development -.. _tuleap_lister_status: https://forge.softwareheritage.org/T3334 - - -.. _Castalia Solutions: https://castalia.solutions/ -.. _Hashbang: https://hashbang.fr/ -.. _OCamlPro: https://ocamlpro.com/ -.. _Octobus: https://octobus.net/ - -.. _grants: https://www.softwareheritage.org/grants/ \ No newline at end of file +.. include:: table.inc diff --git a/docs/user/loaders/bazaar.rst b/docs/user/loaders/bzr.rst similarity index 100% rename from docs/user/loaders/bazaar.rst rename to docs/user/loaders/bzr.rst diff --git a/docs/user/loaders/index.rst b/docs/user/loaders/index.rst index aa92405c72f8fa655da6aab097544db5886763f5..dafdcbf19c7a903a80061a9225a5deee13699430 100644 --- a/docs/user/loaders/index.rst +++ b/docs/user/loaders/index.rst @@ -7,519 +7,4 @@ A :term:`loader` is a software component used to ingest content into the |swh| a This page references all available loaders and links to their high-level documentation. -.. rst-class:: swh-logos-table - -.. table:: - :align: center - - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | Loader name | Related links | Current status | Related `grants`_ | - +==========================+===============================+=============================+====================================+ - | |arch_logo| | * |arch_loader_source|_ | |arch_loader_status|_ | |arch_loader_grant|_ | - | | * |arch_loader_dev|_ | | | - | :ref:`arch_loader` | | | (awarded to `Hashbang`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |archive_logo| | * |archive_loader_source|_ | |archive_loader_status|_ | | - | | | | | - | :ref:`archive_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |aur_logo| | * |aur_loader_source|_ | |aur_loader_status|_ | |aur_loader_grant|_ | - | | * |aur_loader_dev|_ | | | - | :ref:`aur_loader` | | | (awarded to `Hashbang`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |bzr_logo| | * |bzr_loader_source|_ | |bzr_loader_status|_ | |bzr_loader_grant|_ | - | | * |bzr_loader_dev|_ | | | - | :ref:`bzr_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |conda_logo| | * |conda_loader_dev|_ | |conda_loader_status|_ | |conda_loader_grant|_ | - | | | | | - | :ref:`conda_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |cran_logo| | * |cran_loader_source|_ | |cran_loader_status|_ | | - | | * |cran_loader_dev|_ | | | - | :ref:`cran_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |crates_logo| | * |crates_loader_source|_ | |crates_loader_status|_ | |crates_loader_grant|_ | - | | * |crates_loader_dev|_ | | | - | :ref:`crates_loader` | | | (awarded to `Hashbang`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |cvs_logo| | * |cvs_loader_source|_ | |cvs_loader_status|_ | |cvs_loader_grant|_ | - | | * |cvs_loader_dev|_ | | | - | :ref:`cvs_loader` | | | (awarded to `Stefan Sperling`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |debian_logo| | * |debian_loader_source|_ | |debian_loader_status|_ | | - | | * |debian_loader_dev|_ | | | - | :ref:`debian_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |deposit_logo| | * |deposit_loader_source|_ | |deposit_loader_status|_ | | - | | * |deposit_loader_dev|_ | | | - | :ref:`deposit_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |git_logo| | * |git_loader_source|_ | |git_loader_status|_ | | - | | * |git_loader_dev|_ | | | - | :ref:`git_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |golang_logo| | * |golang_loader_source|_ | |golang_loader_status|_ | |golang_loader_grant|_ | - | | * |golang_loader_dev|_ | | | - | :ref:`golang_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |hackage_logo| | * |hackage_loader_dev|_ | |hackage_loader_status|_ | |hackage_loader_grant|_ | - | | | | | - | :ref:`hackage_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |maven_logo| | * |maven_loader_source|_ | |maven_loader_status|_ | |maven_loader_grant|_ | - | | * |maven_loader_dev|_ | | | - | :ref:`maven_loader` | | | (awarded to `Castalia Solutions`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |mercurial_logo| | * |mercurial_loader_source|_ | |mercurial_loader_status|_ | |mercurial_loader_grant|_ | - | | * |mercurial_loader_dev|_ | | | - | :ref:`mercurial_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |nixguix_logo| | * |nixguix_loader_source|_ | |nixguix_loader_status|_ | |nixguix_loader_grant|_ | - | | * |nixguix_loader_dev|_ | | | - | :ref:`nixguix_loader` | | | (awarded to `Tweag`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |npm_logo| | * |npm_loader_source|_ | |npm_loader_status|_ | | - | | * |npm_loader_dev|_ | | | - | :ref:`npm_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |opam_logo| | * |opam_loader_source|_ | |opam_loader_status|_ | |opam_loader_grant|_ | - | | * |opam_loader_dev|_ | | | - | :ref:`opam_loader` | | | (awarded to `OCamlPro`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |pubdev_logo| | * |pubdev_loader_source|_ | |pubdev_loader_status|_ | |pubdev_loader_grant|_ | - | | * |pubdev_loader_dev|_ | | | - | :ref:`pubdev_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |puppet_logo| | * |puppet_loader_source|_ | |puppet_loader_status|_ | |puppet_loader_grant|_ | - | | * |puppet_loader_dev|_ | | | - | :ref:`puppet_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |pypi_logo| | * |pypi_loader_source|_ | |pypi_loader_status|_ | | - | | * |pypi_loader_dev|_ | | | - | :ref:`pypi_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |rubygems_logo| | * |rubygems_loader_dev|_ | |rubygems_loader_status|_ | |rubygems_loader_grant|_ | - | | | | | - | :ref:`rubygems_loader` | | | (awarded to `Octobus`_) | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - | |subversion_logo| | * |subversion_loader_source|_ | |subversion_loader_status|_ | | - | | * |subversion_loader_dev|_ | | | - | :ref:`subversion_loader` | | | | - +--------------------------+-------------------------------+-----------------------------+------------------------------------+ - -.. toctree:: - :maxdepth: 2 - :hidden: - - arch - archive - aur - bazaar - conda - cran - crates - cvs - debian - deposit - git - golang - hackage - maven - mercurial - nixguix - npm - opam - pubdev - puppet - pypi - rubygems - subversion - -.. |arch_logo| image:: ../logos/arch.png - :width: 50% - :target: arch.html - :alt: Arch loader - -.. |archive_logo| image:: ../logos/archive.png - :width: 50% - :target: archive.html - :alt: Archive loader - -.. |aur_logo| image:: ../logos/aur.png - :width: 50% - :target: aur.html - :alt: AUR loader - -.. |bzr_logo| image:: ../logos/bazaar.png - :width: 50% - :target: bazaar.html - :alt: Bazaar loader - -.. |conda_logo| image:: ../logos/conda.png - :width: 50% - :target: conda.html - :alt: Conda loader - -.. |cran_logo| image:: ../logos/cran.png - :width: 50% - :target: cran.html - :alt: CRAN loader - -.. |cvs_logo| image:: ../logos/cvs.png - :width: 50% - :target: cvs.html - :alt: CVS loader - -.. |crates_logo| image:: ../logos/crates.png - :width: 50% - :target: crates.html - :alt: Crates loader - -.. |debian_logo| image:: ../logos/debian.png - :width: 50% - :target: debian.html - :alt: Debian loader - -.. |deposit_logo| image:: ../logos/deposit.png - :width: 50% - :target: deposit.html - :alt: Deposit loader - -.. |git_logo| image:: ../logos/git.png - :width: 50% - :target: git.html - :alt: Git loader - -.. |golang_logo| image:: ../logos/golang.png - :width: 50% - :target: golang.html - :alt: Golang loader - -.. |hackage_logo| image:: ../logos/hackage.png - :width: 50% - :target: hackage.html - :alt: Hackage loader - -.. |maven_logo| image:: ../logos/maven.png - :width: 50% - :target: maven.html - :alt: Maven loader - -.. |mercurial_logo| image:: ../logos/mercurial.png - :width: 50% - :target: mercurial.html - :alt: Mercurial loader - -.. |nixguix_logo| image:: ../logos/nixguix.png - :width: 50% - :target: nixguix.html - :alt: NixGuix loader - -.. |npm_logo| image:: ../logos/npm.png - :width: 50% - :target: npm.html - :alt: NPM loader - -.. |opam_logo| image:: ../logos/opam.png - :width: 50% - :target: opam.html - :alt: Opam loader - -.. |pubdev_logo| image:: ../logos/pubdev.png - :width: 50% - :target: pubdev.html - :alt: PubDev loader - -.. |puppet_logo| image:: ../logos/puppet.png - :width: 50% - :target: puppet.html - :alt: Puppet loader - -.. |pypi_logo| image:: ../logos/pypi.png - :width: 50% - :target: pypi.html - :alt: PyPI loader - -.. |rubygems_logo| image:: ../logos/rubygems.png - :width: 50% - :target: rybugems.html - :alt: RubyGems loader - -.. |subversion_logo| image:: ../logos/subversion.png - :width: 50% - :target: subversion.html - :alt: Subversion loader - - -.. |arch_loader_source| replace:: Source code -.. _arch_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/arch/ - -.. |arch_loader_dev| replace:: Development -.. _arch_loader_dev: https://forge.softwareheritage.org/project/profile/189/ - -.. |arch_loader_status| replace:: in development -.. _arch_loader_status: https://forge.softwareheritage.org/T4233 - -.. |arch_loader_grant| replace:: Alfred P. Sloan Foundation -.. _arch_loader_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |archive_loader_source| replace:: Source code -.. _archive_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/archive/ - -.. |archive_loader_status| replace:: in production -.. _archive_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=tar - - -.. |aur_loader_source| replace:: Source code -.. _aur_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/aur/ - -.. |aur_loader_dev| replace:: Development -.. _aur_loader_dev: https://forge.softwareheritage.org/project/profile/191/ - -.. |aur_loader_status| replace:: in development -.. _aur_loader_status: https://forge.softwareheritage.org/T4466 - -.. |aur_loader_grant| replace:: Alfred P. Sloan Foundation -.. _aur_loader_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |bzr_loader_source| replace:: Source code -.. _bzr_loader_source: https://forge.softwareheritage.org/source/swh-loader-bzr/ - -.. |bzr_loader_dev| replace:: Development -.. _bzr_loader_dev: https://forge.softwareheritage.org/project/profile/164/ - -.. |bzr_loader_status| replace:: in production -.. _bzr_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=bzr - -.. |bzr_loader_grant| replace:: Alfred P. Sloan Foundation -.. _bzr_loader_grant: https://www.softwareheritage.org/2021/01/21/archiving-sourceforge-and-supporting-bazaar/ - - -.. |conda_loader_dev| replace:: Development -.. _conda_loader_dev: https://forge.softwareheritage.org/project/profile/205/ - -.. |conda_loader_status| replace:: in development -.. _conda_loader_status: https://forge.softwareheritage.org/T4579 - -.. |conda_loader_grant| replace:: NLnet Foundation -.. _conda_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |cran_loader_source| replace:: Source code -.. _cran_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/cran/ - -.. |cran_loader_dev| replace:: Development -.. _cran_loader_dev: https://forge.softwareheritage.org/project/profile/132/ - -.. |cran_loader_status| replace:: in production -.. _cran_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=cran - - -.. |crates_loader_source| replace:: Source code -.. _crates_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/crates/ - -.. |crates_loader_dev| replace:: Development -.. _crates_loader_dev: https://forge.softwareheritage.org/project/profile/182/ - -.. |crates_loader_status| replace:: in development -.. _crates_loader_status: https://forge.softwareheritage.org/T4104 - -.. |crates_loader_grant| replace:: Alfred P. Sloan Foundation -.. _crates_loader_grant: https://www.softwareheritage.org/2022/02/03/hashbang-expanding-coverage-software-heritage-archive/ - - -.. |cvs_loader_source| replace:: Source code -.. _cvs_loader_source: https://forge.softwareheritage.org/source/swh-loader-cvs/ - -.. |cvs_loader_dev| replace:: Development -.. _cvs_loader_dev: https://forge.softwareheritage.org/project/profile/166/ - -.. |cvs_loader_status| replace:: in production -.. _cvs_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=cvs - -.. |cvs_loader_grant| replace:: Alfred P. Sloan Foundation -.. _cvs_loader_grant: https://www.softwareheritage.org/2020/12/10/sloan-subgrant-cvs-subversion-loaders/ - - -.. |debian_loader_source| replace:: Source code -.. _debian_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/debian/ - -.. |debian_loader_dev| replace:: Development -.. _debian_loader_dev: https://forge.softwareheritage.org/project/profile/25/ - -.. |debian_loader_status| replace:: in production -.. _debian_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=debian - - -.. |deposit_loader_source| replace:: Source code -.. _deposit_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/deposit/ - -.. |deposit_loader_dev| replace:: Development -.. _deposit_loader_dev: https://forge.softwareheritage.org/project/profile/77/ - -.. |deposit_loader_status| replace:: in production -.. _deposit_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=deposit - - -.. |git_loader_source| replace:: Source code -.. _git_loader_source: https://forge.softwareheritage.org/source/swh-loader-git/ - -.. |git_loader_dev| replace:: Development -.. _git_loader_dev: https://forge.softwareheritage.org/project/profile/17/ - -.. |git_loader_status| replace:: in production -.. _git_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=git - - -.. |golang_loader_source| replace:: Source code -.. _golang_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/golang/ - -.. |golang_loader_dev| replace:: Development -.. _golang_loader_dev: https://forge.softwareheritage.org/project/profile/196/ - -.. |golang_loader_status| replace:: in staging -.. _golang_loader_status: https://webapp.staging.swh.network/browse/search/?with_visit=true&with_content=true&visit_type=golang - -.. |golang_loader_grant| replace:: NLnet Foundation -.. _golang_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |hackage_loader_dev| replace:: Development -.. _hackage_loader_dev: https://forge.softwareheritage.org/project/profile/203/ - -.. |hackage_loader_status| replace:: in development -.. _hackage_loader_status: https://forge.softwareheritage.org/T4494 - -.. |hackage_loader_grant| replace:: NLnet Foundation -.. _hackage_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |maven_loader_source| replace:: Source code -.. _maven_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/maven/ - -.. |maven_loader_dev| replace:: Development -.. _maven_loader_dev: https://forge.softwareheritage.org/project/profile/185/ - -.. |maven_loader_status| replace:: in production -.. _maven_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=maven - -.. |maven_loader_grant| replace:: Alfred P. Sloan Foundation -.. _maven_loader_grant: https://www.softwareheritage.org/2021/07/22/archiving-the-maven-ecosystem/ - - -.. |mercurial_loader_source| replace:: Source code -.. _mercurial_loader_source: https://forge.softwareheritage.org/source/swh-loader-mercurial/ - -.. |mercurial_loader_dev| replace:: Development -.. _mercurial_loader_dev: https://forge.softwareheritage.org/project/profile/66/ - -.. |mercurial_loader_status| replace:: in production -.. _mercurial_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=hg - -.. |mercurial_loader_grant| replace:: NLnet Foundation -.. _mercurial_loader_grant: https://www.softwareheritage.org/2020/03/26/experts-join-forces-to-expand-the-software-heritage-archive/ - - -.. |nixguix_loader_source| replace:: Source code -.. _nixguix_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/nixguix/ - -.. |nixguix_loader_dev| replace:: Development -.. _nixguix_loader_dev: https://forge.softwareheritage.org/project/profile/152/ - -.. |nixguix_loader_status| replace:: in production -.. _nixguix_loader_status: https://archive.softwareheritage.org/browse/search/?with_content=true&visit_type=nixguix - -.. |nixguix_loader_grant| replace:: NLnet Foundation -.. _nixguix_loader_grant: https://www.softwareheritage.org/2020/06/18/welcome-nixpkgs/ - - -.. |npm_loader_source| replace:: Source code -.. _npm_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/npm/ - -.. |npm_loader_dev| replace:: Development -.. _npm_loader_dev: https://forge.softwareheritage.org/project/profile/121/ - -.. |npm_loader_status| replace:: in production -.. _npm_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=npm - - -.. |opam_loader_source| replace:: Source code -.. _opam_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/opam/ - -.. |opam_loader_dev| replace:: Development -.. _opam_loader_dev: https://forge.softwareheritage.org/project/profile/167/ - -.. |opam_loader_status| replace:: in production -.. _opam_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=opam - -.. |opam_loader_grant| replace:: Alfred P. Sloan Foundation -.. _opam_loader_grant: https://www.softwareheritage.org/2021/04/20/connecting-ocaml/ - - -.. |pubdev_loader_source| replace:: Source code -.. _pubdev_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/pubdev/ - -.. |pubdev_loader_dev| replace:: Development -.. _pubdev_loader_dev: https://forge.softwareheritage.org/project/profile/193/ - -.. |pubdev_loader_status| replace:: in staging -.. _pubdev_loader_status: https://webapp.staging.swh.network/browse/search/?with_visit=true&with_content=true&visit_type=pubdev - -.. |pubdev_loader_grant| replace:: NLnet Foundation -.. _pubdev_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |puppet_loader_source| replace:: Source code -.. _puppet_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/puppet/ - -.. |puppet_loader_dev| replace:: Development -.. _puppet_loader_dev: https://forge.softwareheritage.org/project/profile/207/ - -.. |puppet_loader_status| replace:: in development -.. _puppet_loader_status: https://forge.softwareheritage.org/T4580 - -.. |puppet_loader_grant| replace:: NLnet Foundation -.. _puppet_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |pypi_loader_source| replace:: Source code -.. _pypi_loader_source: https://forge.softwareheritage.org/source/swh-loader-core/browse/master/swh/loader/package/pypi/ - -.. |pypi_loader_dev| replace:: Development -.. _pypi_loader_dev: https://forge.softwareheritage.org/project/profile/88/ - -.. |pypi_loader_status| replace:: in production -.. _pypi_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=pypi - - -.. |rubygems_loader_dev| replace:: Development -.. _rubygems_loader_dev: https://forge.softwareheritage.org/project/profile/206/ - -.. |rubygems_loader_status| replace:: in development -.. _rubygems_loader_status: https://forge.softwareheritage.org/T4581 - -.. |rubygems_loader_grant| replace:: NLnet Foundation -.. _rubygems_loader_grant: https://nlnet.nl/project/SWH-PackageManagers/index.html - - -.. |subversion_loader_source| replace:: Source code -.. _subversion_loader_source: https://forge.softwareheritage.org/source/swh-loader-svn/ - -.. |subversion_loader_dev| replace:: Development -.. _subversion_loader_dev: https://forge.softwareheritage.org/project/profile/37/ - -.. |subversion_loader_status| replace:: in production -.. _subversion_loader_status: https://archive.softwareheritage.org/browse/search/?with_visit=true&with_content=true&visit_type=svn - - -.. _grants: https://www.softwareheritage.org/grants/ - -.. _Castalia Solutions: https://castalia.solutions/ -.. _Hashbang: https://hashbang.fr/ -.. _OCamlPro: https://ocamlpro.com/ -.. _Octobus: https://octobus.net/ -.. _Stefan Sperling: https://stefansperling.de/ -.. _Tweag: https://www.tweag.io/ +.. include:: table.inc diff --git a/docs/user/loaders/subversion.rst b/docs/user/loaders/svn.rst similarity index 78% rename from docs/user/loaders/subversion.rst rename to docs/user/loaders/svn.rst index c2ca2b77d440c1aa93393daf4da097c8360f0077..31325715a2f9849ce79d2eb27c1299a7dd0c0c17 100644 --- a/docs/user/loaders/subversion.rst +++ b/docs/user/loaders/svn.rst @@ -1,4 +1,4 @@ -.. _subversion_loader: +.. _svn_loader: Subversion loader ================= diff --git a/docs/user/logos/bazaar.png b/docs/user/logos/bzr.png similarity index 100% rename from docs/user/logos/bazaar.png rename to docs/user/logos/bzr.png diff --git a/docs/user/logos/subversion.png b/docs/user/logos/svn.png similarity index 100% rename from docs/user/logos/subversion.png rename to docs/user/logos/svn.png diff --git a/requirements-test.txt b/requirements-test.txt index e079f8a6038dd2dc8512967540f96ee0de172067..8136b7be437cd689b2bb589e7d629b01efd7143d 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1 +1,2 @@ pytest +types-tabulate diff --git a/requirements.txt b/requirements.txt index c2e9ddd0d4834677b52bbd215833ff65654abbcf..5fd1d863db6a6c2feaec39743c33370b5cdb48af 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,3 +11,5 @@ pydata-sphinx-theme sphinx-click myst-parser sphinx-celery +tabulate +typing-extensions diff --git a/swh/docs/generate_forge_list.py b/swh/docs/generate_forge_list.py new file mode 100644 index 0000000000000000000000000000000000000000..129f4f5ae93e2cd71cb818bad0354c2bdb930a9d --- /dev/null +++ b/swh/docs/generate_forge_list.py @@ -0,0 +1,233 @@ +# Copyright (C) 2023 The Software Heritage developers +# See the AUTHORS file at the top-level directory of this distribution +# License: GNU General Public License version 3, or any later version +# See top-level LICENSE file for more information + +"""Reads docs/devel/forge-support.yml and generates ReST documents with tables +summarizing the status of loaders ands listers.""" + +from pathlib import Path +import sys +import textwrap + +import tabulate +from typing_extensions import Literal +import yaml + +LISTERS_PRELUDE = """ +.. This file was generated by swh/docs/generate_forge_list.py using {source_yml} + +.. rst-class:: swh-logos-table + +.. table:: + :align: center + +""" + + +LOADERS_PRELUDE = """ +.. This file was generated by swh/docs/generate_forge_list.py using {source_yml} + +.. rst-class:: swh-logos-table + +.. table:: + :align: center + +""" + + +def write_table(data, lister_or_loader: Literal["lister", "loader"], file) -> None: + links = [] + headers = ( + f"{lister_or_loader.capitalize()} name", + "Related links", + "Current status", + "Related `grants <https://www.softwareheritage.org/grants/>`_", + ) + table = [] + for (forge_id, forge) in sorted(data["forges"].items()): + + if lister_or_loader == "loader": + default_source = ( + f"https://gitlab.softwareheritage.org/swh/devel/swh-loader-core/-/" + f"tree/master/swh/loader/package/{forge_id}" + ) + else: + default_source = ( + f"https://gitlab.softwareheritage.org/swh/devel/swh-lister/-/" + f"tree/master/swh/lister/{forge_id}" + ) + links.append( + ( + f"{forge_id}-source", + forge[lister_or_loader].get("source", default_source), + ) + ) + + logo_cell = f"|{forge_id}_logo|\n\n:ref:`{forge_id}_{lister_or_loader}`" + + if forge_id in ("cran", "gnu"): + # FIXME: swh-web coverage should have them lowercased, like everything else + id_in_swh_web_coverage = forge_id.upper() + else: + id_in_swh_web_coverage = forge_id + + status = forge[lister_or_loader]["status"] + if status == "N/A": + # No lister or loader for this forge, skipping + continue + elif status == "dev": + status_cell = "In development" + links_cell = f"* `Source Code <{forge_id}-source_>`__" + elif status == "staging": + status_cell = "In staging" + if lister_or_loader == "loader": + links.append( + ( + f"{forge_id}-origins", + "https://webapp.staging.swh.network/browse/search/" + f"?with_visit=true&with_content=true&visit_type={forge_id}", + ) + ) + + links_cell = ( + f"* `Source Code <{forge_id}-source_>`__\n" + f"* `Browse origins <{forge_id}-origins_>`__" + ) + else: + links.append( + ( + f"{forge_id}-coverage", + "https://webapp.staging.swh.network/coverage/" + f"?focus={id_in_swh_web_coverage}#{id_in_swh_web_coverage}", + ) + ) + links_cell = ( + f"* `Source Code <{forge_id}-source_>`__\n" + f"* `See coverage <{forge_id}-coverage_>`__" + ) + elif status == "prod": + status_cell = "In production" + if lister_or_loader == "loader": + links.append( + ( + f"{forge_id}-origins", + f"https://archive.softwareheritage.org/browse/search/" + f"?with_visit=true&with_content=true&visit_type={forge_id}", + ) + ) + links_cell = ( + f"* `Source Code <{forge_id}-source_>`__\n" + f"* `Browse origins <{forge_id}-origins_>`__" + ) + else: + links.append( + ( + f"{forge_id}-coverage", + f"https://archive.softwareheritage.org/coverage/" + f"?focus={id_in_swh_web_coverage}#{id_in_swh_web_coverage}", + ) + ) + links_cell = ( + f"* `Source Code <{forge_id}-source_>`__\n" + f"* `See coverage <{forge_id}-coverage_>`__" + ) + else: + assert False, f"Unexpected status {status!r} for {forge_id}" + issue = forge[lister_or_loader].get("issue") + if issue: + links_cell += f"\n* `Tracking issue <{forge[lister_or_loader]['issue']}>`__" + + grant_id = forge[lister_or_loader].get("grant") + grant = data["grants"][grant_id] if grant_id else None + developer_id = forge[lister_or_loader].get("developer") + if grant: + assert developer_id, f"{forge_id} has grant but no developer" + developer = data["developers"][developer_id] + grant_cell = ( + f"|{grant_id}|_\n\n" + f"(awarded to `{developer['name']} <{developer['url']}>`__)" + ) + else: + assert not developer_id, f"{forge_id} has developer but no grant" + grant_cell = "" + + table.append((logo_cell, links_cell, status_cell, grant_cell)) + + file.write( + textwrap.indent( + tabulate.tabulate(table, headers=headers, tablefmt="grid"), + prefix=" ", + ) + + "\n\n" + ) + + for (link_name, link_url) in links: + file.write(f".. _{link_name}: {link_url}\n") + + file.write("\n") + + +def write_toctree(data, lister_or_loader: Literal["lister", "loader"], file) -> None: + file.write(".. toctree::\n" " :maxdepth: 2\n" " :hidden:\n" "\n") + for (forge_id, forge) in sorted(data["forges"].items()): + if forge[lister_or_loader]["status"] != "N/A": + file.write(f" {forge_id}\n") + + file.write("\n") + + +def write_logos(data, lister_or_loader: Literal["lister", "loader"], file) -> None: + for (forge_id, forge) in sorted(data["forges"].items()): + if forge[lister_or_loader]["status"] != "N/A": + file.write( + f".. |{forge_id}_logo| image:: ../logos/{forge_id}.png\n" + f" :width: 50%\n" + f" :target: {forge_id}.html\n" + f" :alt: {forge['name']} {lister_or_loader}\n" + f"\n" + ) + + +def write_grants(data, file) -> None: + for (grant_id, grant) in data["grants"].items(): + file.write( + f".. |{grant_id}| replace:: {grant['funder']}\n" + f".. _{grant_id}: {grant['announcement']}\n" + f"\n" + ) + + +def main(input_path: Path, lister_output_path: Path, loader_output_path: Path) -> None: + data = yaml.safe_load(input_path.read_text()) + + with lister_output_path.open("wt") as listers_file, loader_output_path.open( + "wt" + ) as loaders_file: + listers_file.write(LISTERS_PRELUDE.format(source_yml=input_path)) + loaders_file.write(LOADERS_PRELUDE.format(source_yml=input_path)) + + write_table(data, "lister", listers_file) + write_table(data, "loader", loaders_file) + + write_toctree(data, "lister", listers_file) + write_toctree(data, "loader", loaders_file) + + write_logos(data, "lister", listers_file) + write_logos(data, "loader", loaders_file) + + write_grants(data, listers_file) + write_grants(data, loaders_file) + + +if __name__ == "__main__": + try: + (_, input_path, lister_output_path, loader_output_path) = sys.argv + except ValueError: + print( + f"Syntax: {sys.argv[0]} docs/devel/forge-support.yml " + f"docs/user/listers/index.rst user/loaders/index.rst", + sys.stderr, + ) + exit(1) + main(Path(input_path), Path(lister_output_path), Path(loader_output_path))