Official add-on repository: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Theuni
 
(146 intermediate revisions by 25 users not shown)
Line 1: Line 1:
Beginning with Dharma, XBMC includes an interface to browse remote repositories where add-ons can be retrieved. The model is similar to the way many current Linux distributions work, whereby there is a "main" repository that is the default, and additional ones may be added by the user. The Official xbmc.org Repository is included with XBMC by default and is maintained by the XBMC team. This page outlines how to submit your addon to the official repository and keep it up to date.
{{Mininav|[[Development]]|[[Add-on development]]}}<br />


==Add-on Requirements==
Kodi includes an interface to browse remote [[wikipedia:Software repository|software repositories]] from which a wide array of add-ons can be installed to provide new features or enhance existing ones. The model is similar to the way many current [[wikipedia:Linux|Linux]] [[wikipedia:Linux distribution|distributions]] work, whereby there is a carefully curated main repository enabled by default during installation and more may then be added by the user. Kodi has two official repositories that are included by default: ''Kodi.tv Add-ons'' and ''Kodi.tv PVR Add-ons'', both maintained by [[Archive:Team Kodi|Team Kodi]]. This page outlines how to submit an add-on for initial inclusion in the official repositories and how to update it once accepted.
In order to be considered for the official repository, the following guidelines must be met:
*You MUST include a license file. We recommend the [http://creativecommons.org/choose/non-web-popup?license_code=by-sa&jurisdiction=&version=3.0&lang=en CC-BY-SA 3.0] license, but most copyleft licenses will suffice.
*All files must be free and legal to distribute
*The addon must not violate any known copyright laws or the DMCA.
*All source files must be included. No pre-compiled files or skins will be allowed.
*You acknowledge that you are the maintainer of your addon, but the XBMC team reserves the right to update or remove it at any time as we see fit.


==The Repositories==
== List of add-ons ==
XBMC uses git to manage the official repository. We ask that you do the same. We have created separate git repositories for each type of addon so that they may be maintained separately. Thus, if you wish to submit a skin, you should clone the skin repository and send patches against it. See the full list of repositories below:
{{Main|:Category:All add-ons|l1=All Add-ons category}}


  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/plugins
== The repositories ==
  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/scrapers
=== General add-ons ===
  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/screensavers
Browsing add-ons can be done from within Kodi through the built-in [[add-ons]] browser. From here you can install any add-on that is listed in the [[Official add-on repository|Kodi.tv official repository]]. They are structured so each [[Releases|codenamed release]] accesses only the add-ons that are compatible with that specific version. Manual installation of add-ons from a [[wikipedia:Zip (file format)|zip archive file]] is also possible, but at that point it becomes <span style="text-decoration: underline;">the user's responsibility</span> to verify that they are compatible with the Kodi release being used.
  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/scripts
  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/skins
  git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/visualizations


==Branches==
Kodi uses the [[wikipedia:Git (software)|Git]] [[wikipedia:Version control|version control system]] to manage the official repositories. The list below details their organizational structures. The Git commands following each link will download a copy of that repository for you to use in creating a changeset which adds your prospective add-on to it. The changeset is what is needed to propose a new add-on for inclusion in the official repositories, for which the submission and subsequent review takes the form of a Git [[wikipedia:Pull request|pull request]].
At any given time, there will be two active branches for each repository: stable, and stable-pre. At the time of this writing, dharma-pre is the main branch for development. When Dharma final is released, all add-ons that are compatible will be moved to Dharma branch. Developers are asked to maintain compatibility with stable branches first, and bleeding-edge (-pre) as their time and effort allows.
{| style="margin-left: 2em;"
  | style="text-align: right;" | '''[https://github.com/xbmc/repo-plugins Plugins]:'''
  | <kbd style="background-color: #f4f4f4; border: 1px solid #ddd; border-left: 4px solid #e04a2a; border-radius: 5px; color: #333; margin: 1em 0; padding: 2px 0.8em;">git clone <nowiki>https://github.com/xbmc/repo-plugins.git</nowiki></kbd>
  |-
  | style="text-align: right;" | '''[https://github.com/xbmc/repo-scrapers Scrapers]:'''
  | <kbd style="background: #f4f4f4; color: #333; border: 1px solid #ddd; border-left: 4px solid #e04a2a; border-radius: 5px; padding: 2px 0.8em; margin: 1em 0">git clone <nowiki>https://github.com/xbmc/repo-scrapers.git</nowiki></kbd>
  |-
  | style="text-align: right;" | '''[https://github.com/xbmc/repo-scripts Scripts]:'''
  | <kbd style="background: #f4f4f4; color: #333; border: 1px solid #ddd; border-left: 4px solid #e04a2a; border-radius: 5px; padding: 2px 0.8em; margin: 1em 0">git clone <nowiki>https://github.com/xbmc/repo-scripts.git</nowiki></kbd>
  |-
  | style="text-align: right;" | '''[https://github.com/xbmc/repo-skins Skins]:'''
  | <kbd style="background: #f4f4f4; color: #333; border: 1px solid #ddd; border-left: 4px solid #e04a2a; border-radius: 5px; padding: 2px 0.8em; margin: 1em 0">git clone <nowiki>https://github.com/xbmc/repo-skins.git</nowiki></kbd>
  |-
  | style="text-align: right;" | '''[https://github.com/xbmc/repo-webinterfaces Web Interfaces]:'''
  | <kbd style="background: #f4f4f4; color: #333; border: 1px solid #ddd; border-left: 4px solid #e04a2a; border-radius: 5px; padding: 2px 0.8em; margin: 1em 0">git clone <nowiki>https://github.com/xbmc/repo-webinterfaces.git</nowiki></kbd>
  |}


==The Mailing List==
All current add-ons can be downloaded as ZIP files from the [https://mirrors.kodi.tv/addons/ repository server]. Feel free to see which ones there are and perhaps you they might give you some ideas for creating your own. These are also great examples for getting started and see how things are done in more extensive add-ons.
We ask that all Add-on authors subscribe to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List]. This is where all updates and important information will be announced. In addition, all pull requests should be sent to this list.


==How to submit your Add-On and subsequent updates==
=== PVR add-ons ===
Ideally, you have familiarized yourself with git, cloned the relevant repository, and send a pull request to the mailing list. If you are still using SVN or only have an archived file, please send a mail with that link and any relevant information.
:{{Main|PVR}}


Each pull will require a version bump in the addon.xml. We ask that you also keep a changelog.txt up to date so that users may easily see what has changed.
=== Repo Branches ===
For each version of Kodi there will be a specific branch of the Kodi add-on repository. As development progresses for the next version of Kodi, a repository for that next version will also be made. These repositories are automatically selected depending on which version of Kodi (stable or development) that the user is using. When the development Kodi repository is open we ask that add-on developers still maintain versions of their add-ons for the stable Kodi repository until that next development version of Kodi is released and becomes the new stable. When both repositories are open add-on developers will need to follow submission and update procedures individually to be in both. It is highly recommended to take advantage of the development Kodi repository so that your add-on is prepared for the next version of Kodi.


There are several ways to request that we add or update your addon. Please preface threads using the following conventions:
== Submitting add-ons ==
:{{Main|Submitting Add-ons}}


  *[Git Pull] - Clone the appropriate repo, update it, publish it, and send the link along with a description.
== See also ==
  *[SVN Pull] - For those who wish to maintain their code separately from ours with eg. googlecode. Submit the appropriate url and revision/tag.
* [[Add-ons]]
  *[Zip Pull] - By far the least useful. Submit a link to the addon or update.
* [[:Category:All add-ons]]
  *[Patch]   - Sometimes you may wish to submit a patch for review. Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.
* [[Unofficial add-on repositories]]
'''Development:'''
* [[Add-on development]]
* [[Python development]]
* [[Skinning]]
* [[Add-on repositories]]


To be sure that all addons are maintainable in the future, the following filetypes are banned from the official repository: .pyo, .xbt, .xpr.
 
Note that .xbt files will be generated automatically for skins.
[[Category:Add-on development]]
[[Category:Manual]]
[[Category:Repositories]]

Latest revision as of 08:26, 2 September 2022

Home icon grey.png   ▶ Development ▶ Add-on development ▶ Official add-on repository


Kodi includes an interface to browse remote software repositories from which a wide array of add-ons can be installed to provide new features or enhance existing ones. The model is similar to the way many current Linux distributions work, whereby there is a carefully curated main repository enabled by default during installation and more may then be added by the user. Kodi has two official repositories that are included by default: Kodi.tv Add-ons and Kodi.tv PVR Add-ons, both maintained by Team Kodi. This page outlines how to submit an add-on for initial inclusion in the official repositories and how to update it once accepted.

List of add-ons

The repositories

General add-ons

Browsing add-ons can be done from within Kodi through the built-in add-ons browser. From here you can install any add-on that is listed in the Kodi.tv official repository. They are structured so each codenamed release accesses only the add-ons that are compatible with that specific version. Manual installation of add-ons from a zip archive file is also possible, but at that point it becomes the user's responsibility to verify that they are compatible with the Kodi release being used.

Kodi uses the Git version control system to manage the official repositories. The list below details their organizational structures. The Git commands following each link will download a copy of that repository for you to use in creating a changeset which adds your prospective add-on to it. The changeset is what is needed to propose a new add-on for inclusion in the official repositories, for which the submission and subsequent review takes the form of a Git pull request.

Plugins: git clone https://github.com/xbmc/repo-plugins.git
Scrapers: git clone https://github.com/xbmc/repo-scrapers.git
Scripts: git clone https://github.com/xbmc/repo-scripts.git
Skins: git clone https://github.com/xbmc/repo-skins.git
Web Interfaces: git clone https://github.com/xbmc/repo-webinterfaces.git

All current add-ons can be downloaded as ZIP files from the repository server. Feel free to see which ones there are and perhaps you they might give you some ideas for creating your own. These are also great examples for getting started and see how things are done in more extensive add-ons.

PVR add-ons

Repo Branches

For each version of Kodi there will be a specific branch of the Kodi add-on repository. As development progresses for the next version of Kodi, a repository for that next version will also be made. These repositories are automatically selected depending on which version of Kodi (stable or development) that the user is using. When the development Kodi repository is open we ask that add-on developers still maintain versions of their add-ons for the stable Kodi repository until that next development version of Kodi is released and becomes the new stable. When both repositories are open add-on developers will need to follow submission and update procedures individually to be in both. It is highly recommended to take advantage of the development Kodi repository so that your add-on is prepared for the next version of Kodi.

Submitting add-ons

See also

Development: