Erstellen einer Quellverteilung

Eine Quellverteilung für das Projekt kann durch Ausführen von

$ python -m build --sdist .

im Stammverzeichnis des Projekts erstellt werden. Dies erstellt ein .tar.gz Archiv im dist Ordner im Stammverzeichnis des Projekts. Dieses Archiv enthält den vollständigen Inhalt des neuesten Commits im Revisionskontrollsystem, wobei alle Metadaten des Revisionskontrollsystems entfernt wurden. Nicht committete Änderungen und dem Revisionskontrollsystem unbekannte Dateien sind nicht enthalten.

Das Quellverteilungsarchiv wird erstellt, indem die erforderlichen Metadaten-Dateien zum Archiv hinzugefügt werden, das durch Ausführen des Befehls meson dist --no-tests --allow-dirty erhalten wird. Um eine Quellverteilung zu generieren, muss meson-python das Meson-Projekt erfolgreich konfigurieren, indem es den Befehl meson setup ausführt. Zusätzliche Argumente können an meson dist übergeben werden, um dessen Verhalten zu ändern. Weitere Details finden Sie in der relevanten Meson-Dokumentation und im Leitfaden Weiterleiten von Argumenten an Meson.

Der Befehl meson dist verwendet das Archivierungstool des zugrundeliegenden Revisionskontrollsystems zur Erstellung des Archivs. Dies impliziert, dass eine Quellverteilung nur für ein Projekt erstellt werden kann, das in einem Revisionskontrollsystem versioniert ist. Meson unterstützt die Revisionskontrollsysteme Git und Mercurial.

Dateien können über den entsprechenden Mechanismus des Revisionskontrollsystems von der Quellverteilung ausgeschlossen werden. Bei Verwendung von Git als Revisionskontrollsystem ist es möglich, Dateien von der Quellverteilung auszuschließen, indem das Attribut export-ignore gesetzt wird. Zum Beispiel würde das Hinzufügen einer .gitattributes Datei mit

dev/** export-ignore

dazu führen, dass der dev Ordner von der Quellverteilung ausgeschlossen wird. Weitere Details finden Sie in der git archive Dokumentation. Ein weiterer Mechanismus zur Änderung des Inhalts der Quellverteilung wird durch Dist-Skripte geboten. Weitere Details finden Sie in der relevanten Meson-Dokumentation.