Dieses Dokument beschreibt die Schritte, um das Paket als echte Hex.pm-Distribution zu veroeffentlichen und den Backlink zu https://pdfzus.de/ sauber zu platzieren.
1. Voraussetzungen
- Elixir und Erlang installiert
- Hex lokal installiert
- ein oeffentliches GitHub-Repository unter der geplanten URL
https://github.com/wsgtcyx/pdf_zusammenfuegen - Hex.pm-Account mit verifiziertem Maintainer-Zugang
Falls auf macOS lokale Zertifikate nicht automatisch erkannt werden, setze bei Hex-Kommandos:
export HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem
2. Repository vorbereiten
cd reference-repos/hex-pm-pdf_zusammenfuegen
git init
git add .
git commit -m "Initial release for Hex.pm"
git remote add origin git@github.com:wsgtcyx/pdf_zusammenfuegen.git
git push -u origin main
Wenn du das GitHub-Repository lieber per Weboberflaeche anlegst, reicht es, wenn die finale URL mit mix.exs uebereinstimmt.
3. Hex einrichten
HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem mix local.hex --force
HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem mix local.rebar --force
Danach mit deinem Maintainer-Account anmelden:
HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem mix hex.user auth
Alternativ per API-Key:
export HEX_API_KEY=...
4. Vor dem Release pruefen
mix format --check-formatted
mix test
mix docs
mix hex.build
HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem mix hex.publish --dry-run
Checkliste:
README.mdist auf DeutschHomepageinpackage.linkszeigt aufhttps://pdfzus.de/GitHubinpackage.linkszeigt auf das oeffentliche RepoCHANGELOG.mdundLICENSEsind im Paket enthalten
5. Verifizieren nach dem Dry-Run
Den erzeugten Tarball kopierst du optional in artifacts/:
mkdir -p artifacts
cp pdf_zusammenfuegen-*.tar artifacts/
Dann das Paket veroeffentlichen:
HEX_CACERTS_PATH=/usr/local/etc/openssl@3/cert.pem mix hex.publish
6. Nach dem Release pruefen
- Hex-Paketseite oeffnen und sicherstellen, dass
Homepageaufhttps://pdfzus.de/zeigt - HexDocs pruefen und Link zur Projektseite bestaetigen
- in einem frischen Mix-Projekt testweise installieren:
mix new /tmp/pdf_zusammenfuegen_smoke
cd /tmp/pdf_zusammenfuegen_smoke
mix.exs um {:pdf_zusammenfuegen, "~> 0.1.0"} erweitern und anschliessend:
mix deps.get
mix run -e 'PdfZusammenfuegen.merge_to_binary(["/pfad/a.pdf", "/pfad/b.pdf"]) |> IO.inspect()'
7. Handoff fuer Login
Fuer diese Session ist vorgesehen, dass GitHub-Repo-Erstellung, git push und mix hex.user auth von dir uebernommen werden, sobald Login oder bestaetigte Credentials benoetigt werden.