.. _toolchain-feed-syntax: Toolchain feed syntax ===================== General ------- This is used by the ``qitoolchain create`` command. The root of the ``feed.xml`` should be ``toolchain`` The global xml file should look like this: .. code-block:: xml toolchain type -------------- The ``toolchain`` node accepts three types of children: * ``package`` type * ``feed`` type * ``select`` type (more on this later) feed type --------- The ``feed`` type can have a ``url`` attribute, pointing to an other feed. This lets you include feeds inside other feeds. .. code-block:: xml .. code-block:: xml package type ------------ The ``package`` type **must** have at least a ``name`` attribute. Optionally, it can have a ``version`` and a ``arch`` attributes. This lets you store several configuration and several versions of the same package in the same feed .. code-block:: xml If it does not have an ``url`` attribute, it should have a ``directory`` attribute, and then the package path will be **relative** to the feed path. This lets you put several packages in a big archive (for instance ``my-sdk.tar.gz``), and give it to other developers. Simply create a ``toolchain.xml`` at the root of the SDK, looking like .. code-block:: xml If you need a toolchain file, (for instance because your are generating a cross-toolchain), simply use the ``toolchain_file`` attribute .. code-block:: xml The ``toolchain_file`` is relative to the path of the package. Of course, nothing prevents you to create a feed letting developers getting your cross-toolchain remotely. .. code-block:: xml select type ----------- Right now we have no need for this, but several things might be implemented later: .. code-block:: xml We do not need this because when several packages are found, we simply take the latest version. So for instance, if you need ``foobar-0.1`` in your maintenance branch, but ``foobar-2.0`` in your devel branch, you can simply have two feeds, like this .. code-block:: xml .. code-block:: xml