@@ -40,11 +40,32 @@ plugins:
4040 - pyproject.toml
4141- - '@semantic-release/exec'
4242 - prepareCmd : |
43- # alt name patch is done for publication only, therefore after canonical version of pyproject.toml is commited
44- if [ -n "$ALT_PYPI_PROJECT_NAME" ]; then
45- sed -i "s/^name = \".*\"/name = \"$ALT_PYPI_PROJECT_NAME\"/" pyproject.toml
43+ #!/bin/bash
44+ PYPI_PROJECT_NAME=${ALT_PYPI_PROJECT_NAME:-appmap}
45+ poetry build --config-settings name="$PYPI_PROJECT_NAME"
46+
47+ if [ -n "$ALT_PYPI_PROJECT_NAME" ] ; then
48+ echo "Altered distribution name detected, applying Provides-Dist patch"
49+ WHEEL=$(ls dist/*.whl | head -n1)
50+ SDIST=$(ls dist/*.tar.gz | head -n1)
51+ for artifact in "$WHEEL" "$SDIST"; do
52+ TMP=$(mktemp -d)
53+ ARTIFACT_PATH="$artifact"
54+ if [[ $artifact == *.whl ]]; then
55+ unzip -q "$ARTIFACT_PATH" -d "$TMP"
56+ DISTINFO=$(find "$TMP" -type d -name "*.dist-info")
57+ echo "Provides-Dist: appmap" >> "$DISTINFO/METADATA"
58+ (cd "$TMP" && zip -qr "$ARTIFACT_PATH" .)
59+ else
60+ tar -xzf "$ARTIFACT_PATH" -C "$TMP"
61+ PKGDIR=$(find "$TMP" -maxdepth 1 -type d -name "*")
62+ echo "Provides-Dist: appmap" >> "$PKGDIR/PKG-INFO"
63+ (cd "$TMP" && tar -czf "$ARTIFACT_PATH" .)
64+ fi
65+ echo "(Provides-Dist: appmap): patched $ARTIFACT_PATH"
66+ rm -rf "$TMP"
67+ done
4668 fi
47- poetry build
4869 - - '@semantic-release/github'
4970 - assets :
5071 - dist/*.whl
0 commit comments