Uitbreiden van fpm met plugins

Uitbreiden van fpm met plugins

The Fortran-packagemanager heeft een pluginsysteem dat je in staat stelt om de functionaliteit eenvoudig uit te breiden. Deze tutorial illustreert de werkwijze.

Registreer een zoekopdracht

The fpm-search project is a plugin to query the package registry. Since it is built with fpm we can easily install it on our system with

git clone https://github.com/urbanjost/fpm-search
cd fpm-search
fpm install --profile release

Hiermee installeer je de fpm-search executable in ~/local/bin (of %APPDATA%\local\bin op Windows).

Notitie

Zorg ervoor dat de geïnstalleerde executable in het PATH staat, i.e. run

which fpm-search
~/.local/bin/fpm-search

Als de executable niet wordt gevonden, voeg de directory toe aan het pad met

Standaardinstellingen voor de bash shell zijn te vinden in het .bashrc bestand in de home-directory, om een nieuwe directory toe te voegen, zie onder.

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
. ~/.bashrc

Draai het .bashrc bestand handmatig na de wijzigingen, anders worden de veranderingen niet opgepikt in de huidige shell.

Standaardinstellingen voor de zsh shell zijn te vinden in het .zshrc bestand “in de home-directory, om een nieuwe directory toe te voegen, zie onder.

echo 'export PATH=$PATH:$HOME/.local/bin' >> ~/.zshrc
exec zsh

Start de zsh shell opnieuw op na het veranderen van het .zshrc bestand, anders worden de veranderingen niet opgepikt.

De PATH variabele kan gewijzigd worden met het programma pathman op de cmd prompt

pathman /au %APPDATA%\local\bin

Met een geslaagde installatie kunnen we onze nieuwe plugin gebruiken via fpm:

❯ fpm search
Downloading registry ... https://github.com/fortran-lang/fpm-registry/raw/master/index.json
...

Merk op dat we nu fpm search gebruiken in plaats van fpm-search in de opdracht. Om een pakket te vinden voor het ontwikkelen van opdrachtinterfaces typen we:

❯ 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

Om een van de pakketten in het manifest te gebruiken kunnen we de regel voor de afhankelijkheid toevoegen met:

❯ fpm search --toml M_CLI2
M_CLI2 = { git = "https://github.com/urbanjost/M_CLI2" }

De regel in het manifestbestand zorgt voor de juiste afhankelijkheid.

Samenvatting

In deze tutorial hebben we geleerd hoe je

  • een fpm plugin installeert

  • de plugin fpm-search gebruikt om het register te doorzoeken

  • een afhankelijkheid aanmaakt op basis van een zoekresultaat