mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-22 19:43:32 +01:00
116 lines
2.8 KiB
ReStructuredText
116 lines
2.8 KiB
ReStructuredText
|
.. _qp_plugins:
|
||
|
|
||
|
==========
|
||
|
qp_plugins
|
||
|
==========
|
||
|
|
||
|
.. program:: qp_plugins
|
||
|
|
||
|
This command deals with all external plugins of |qp|. Plugin
|
||
|
repositories can be downloaded, and the plugins in these repositories
|
||
|
can be installed/uninstalled or created.
|
||
|
|
||
|
Usage
|
||
|
-----
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
qp_plugins list [-i] [-u] [-q]
|
||
|
qp_plugins download <url>
|
||
|
qp_plugins install <name>...
|
||
|
qp_plugins uninstall <name>
|
||
|
qp_plugins create -n <name> [-r <repo>] [<needed_modules>...]
|
||
|
|
||
|
.. option:: list
|
||
|
|
||
|
List all the available plugins.
|
||
|
|
||
|
.. option:: -i, --installed
|
||
|
|
||
|
List all the *installed* plugins.
|
||
|
|
||
|
.. option:: -u, --uninstalled
|
||
|
|
||
|
List all the *uninstalled* plugins.
|
||
|
|
||
|
.. option:: -q, --repositories
|
||
|
|
||
|
List all the downloaded repositories.
|
||
|
|
||
|
.. option:: download <url>
|
||
|
|
||
|
Download an external repository. The URL points to a tar.gz file or a
|
||
|
git repository, for example:
|
||
|
|
||
|
* http://example.com/site/example.tar.gz
|
||
|
* git@gitlab.com:user/example_repository
|
||
|
|
||
|
.. option:: install <plugin_name>
|
||
|
|
||
|
Install the plugin ``plugin_name``.
|
||
|
|
||
|
.. option:: uninstall <plugin_name>
|
||
|
|
||
|
Uninstall the plugin ``plugin_name``.
|
||
|
|
||
|
.. option:: -n, --name=<plugin_name>
|
||
|
|
||
|
Create a new plugin named ``plugin_name`` (in local repository by default).
|
||
|
|
||
|
.. option:: -r, --repository=<repo>
|
||
|
|
||
|
Specify in which repository the new plugin will be created.
|
||
|
|
||
|
|
||
|
|
||
|
Example
|
||
|
-------
|
||
|
|
||
|
Let us download, install and compile some specific external plugins from
|
||
|
`<https://gitlab.com/eginer/qp_plugins_eginer>`_ .
|
||
|
|
||
|
First, download the git repo associated to these plugins. To do so,
|
||
|
first go to the `plugins` directory in the |QP| and execute:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
qp_plugins download https://gitlab.com/eginer/qp_plugins_eginer
|
||
|
|
||
|
|
||
|
This will create in the directory `plugins` a local copy of
|
||
|
the git repo located at the URL you indicated. Then, go in
|
||
|
`qp_plugins_eginer/stable/`
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
cd qp_plugins_eginer/stable/
|
||
|
|
||
|
In the directory `stable`, there are many directories which all
|
||
|
correspond to a specific plugin that have been developed by the person
|
||
|
in charge of the repository. All these plugins might use some global
|
||
|
variables and routines contained in the core modules of the |QP|.
|
||
|
|
||
|
Now let us install the plugin `rsdft_cipsi`:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
qp_plugins install rsdft_cipsi
|
||
|
|
||
|
This will link this directory to the |QP| which means that when the code
|
||
|
will be compiled, this plugin will be compiled to and therefore all the
|
||
|
executables/scripts/input keywords contained in this module will be
|
||
|
available as if there were part of the core of the |QP|.
|
||
|
|
||
|
Then, to compile the new plugin, just recompile the |QP| as usual by
|
||
|
going at the root of the |QP| directory:
|
||
|
|
||
|
.. code:: bash
|
||
|
|
||
|
cd $QP_ROOT
|
||
|
ninja
|
||
|
|
||
|
Finally, if you go back to the plugin directory you just installed, you
|
||
|
should see all the executables/scripts which have been created and which
|
||
|
are now available with the `qp_run` command.
|
||
|
|