Uitbreiden van fpm met plugins
Inhoud
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