FPM mit Plugins erweitern
Inhalt
FPM mit Plugins erweitern¶
Der Fortran-Paketmanager verfügt über ein Plugin-System, mit dem sich seine Funktionalität leicht erweitern lässt. In diesem Tutorial wird gezeigt, wie man ein Plugin mit fpm installiert und verwendet.
Registry-Suchtool¶
Das fpm-search Projekt ist ein Plugin zur Abfrage der Paketregistrierung. Da es mit fpm erstellt wurde, können wir es einfach auf unserem System installieren mit
git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release
Dadurch wird die Binärdatei fpm-search nach ~/.local/bin (oder %APPDATA%\local\bin unter Windows) installiert.
Bemerkung
Stellen Sie sicher, dass die installierte Binärdatei im PATH ist, bzw. benutze
which fpm-search
~/.local/bin/fpm-search
Wenn keine Binärdatei gefunden wird, füge das Verzeichnis zum Pfad hinzu mit
Die Standardeinstellungen für die Bash-Shell finden sich in der Datei .bashrc im Home-Verzeichnis, um zum PATH anhängen folge den Schritten unten.
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc
Stelle sicher, dass die .bashrc nach dem Ändern als Quelle verwendet wird, da die Änderung sonst nicht auf die aktuelle Shell angewendet wird.
Die Standardeinstellungen für die Zsh-Shell finden sich in der Datei .zshrc im Home-Verzeichnis, um zum PATH anhängen folge den Schritten unten
echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh
Stelle sicher, dass die zsh neugestartet nachdem .zshrc geändert wurde, da die Änderung sonst nicht auf die aktuelle Shell angewendet wird.
Die Variable PATH kann mit dem pathman-Programm über die cmd-Eingabeaufforderung geändert werden
pathman /au %APPDATA%\local\bin
Jetzt mit einer funktionierenden Installation können wir unser neues Plugin von fpm aufrufen.
❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...
Nun können wir fpm search statt fpm-search als Befehl verwenden. Um ein Paket für die Erstellung einer Befehlszeilenschnittstelle zu finden, können wir nun Folgendes eingeben
❯ fpm search commandline
M_CLI : Unix-style commandline parsing using a prototype command and NAMELIST (STD:f2008)
M_CLI2 : Unix-style commandline parsing using a prototype command
Um eines der Pakete in unserem Manifest zu verwenden, können wir die notwendige Abhängigkeitszeile erzeugen, indem wir
❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }
Das Hinzufügen dieser Zeile zu einem Paketmanifest ermöglicht die Abhängigkeit von dem jeweiligen Projekt.
Zusammenfassung
In diesem Kurs haben wir gelernt, wie man
Installieren eines fpm-Plugins
Verwendung des fpm-search-Plugins zur Abfrage der Registrierung
einen Abhängigkeitseintrag aus einem Abfrageergebnis erzeugen