Official add-on repository: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Spiff
 
(133 intermediate revisions by 22 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] for skins and the [http://www.gnu.org/licenses/gpl-howto.html GPL v2+] for others, 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 [http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act 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 deem necessary.
*Please follow the [[Addons_for_XBMC#Guidlines_for_images|Guidelines for Images]]


==The Repositories==
== List of add-ons ==
XBMC uses git to manage the official repository. See below for the list of git repositories that comprise it.
{{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 ===
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.
:{{Main|PVR}}
To be sure that all addons are maintainable in the future, the following filetypes are banned from the official repository: .pyo, .pyd, .xbt, .xpr, .so, .dll.
Note that .xbt files will be generated automatically for skins.


There are several ways to request that we add or update your addon. Please preface threads using the following conventions:
=== 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.


  *[Git Pull] - Submit a request that we pull from your repo. This should include a url, branch/tag/revision, and the addon to pull. HEAD is NOT a revision
== Submitting add-ons ==
  *[SVN Pull] - See above.
:{{Main|Submitting Add-ons}}
  *[Zip Pull] - By far the least useful. Submit a link to the addon or update.
  *[Patch]    - Sometimes you may wish to submit a patch to the author for review. Under most circumstances we will not merge this directly, it should go to the upstream maintainer first.


Example e-mail:
== See also ==
* [[Add-ons]]
* [[:Category:All add-ons]]
* [[Unofficial add-on repositories]]
'''Development:'''
* [[Add-on development]]
* [[Python development]]
* [[Skinning]]
* [[Add-on repositories]]


  *topic - [Git Pull] my cool plugin
 
  *addon -  my.cool.plugin
[[Category:Add-on development]]
  *version - 1.1.0
[[Category:Manual]]
  *url - git://some.where.git
[[Category:Repositories]]
  *revision - HEAD
  *branch - master
  *xbmc version - dharma, eden-pre

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: