NOTICE: Account creation on the wiki has been temporarily disabled until the wiki is moved to OpenID. If you need an account before then, please request one here: http://forum.xbmc.org/showthread.php?tid=165868

Official add-on repository

From XBMC
(Redirected from Official Add-on Repository)
Jump to: navigation, search


XBMC includes an interface to browse remote repositories from 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. XBMC has two official repositories that are included by default (XBMC.org Add-ons and XBMC.org PVR Add-ons) and are maintained by the XBMC team (Team XBMC). This page outlines how to submit your add-on to the official repositories and keep it up to date.


Contents

1 The repositories

1.1 XBMC.org Add-ons

Browsing add-ons can be done from within XBMC through the built-in add-ons browser. From here you can install any add-on that is listed in the XBMC.org official repository. For the time being each version of XBMC will have its own repo which contain only add-ons that are compatible with that specific version of XBMC. Manually installing add-ons is possible but remember to check if these are compatible for your XBMC version.

XBMC uses Git to manage the official repository. See below for the list of git repositories that comprise it. This information is only useful for Team XBMC members who have repository pushing rights. You should not do any pull requests using these repositories. This is merely for information purpose only.

 git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/plugins
 git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/scrapers
 git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/screensavers
 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
 git clone git://xbmc.git.sourceforge.net/gitroot/xbmc/webinterfaces

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.

1.2 XBMC.org PVR Add-ons

For more info on PVR see here: PVR

1.3 Repo Branches

For each version of XBMC there will be a specific branch of the XBMC.org add-on repository. As development progresses for the next version of XBMC, a repository for that next version will also be made. These repositories are automatically selected depending on which version of XBMC (stable or development) that the user is using. When the development XBMC repository is open we ask that add-on developers still maintain versions of their add-ons for the stable XBMC repository until that next development version of XBMC 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 XBMC repository so that your add-on is prepared for the next version of XBMC.

2 Repository Submission Guidelines - Please Read Before Submitting Your Addon

Because maintaining such a large repository is a large task, we have set some guidelines for inclusion. Please ensure that these guidelines are met before submitting request to be added. In order to be considered for the official repository, the following guidelines must be met:

2.1 Updates

Keep in mind that add-ons in the official repository should be considered stable. This means that they should be well-tested before you submit them for inclusion. Because they are for stable users, they should avoid being updated too often. If your add-on is in rapid development, and features are constantly being added, hold off until you have hit a good stopping point and tested the current version.

This means that you should not submit a request every time you change your code. If you are submitting updates more than once per week something is wrong. Once per month is probably a better goal, barring unforeseen conditions (like a content source changing its paths).

2.2 General requirements

2.3 Requirements for skins

2.3.1 Optional support

This is optional and should not block inclusion in official repo.


2.3.2 Basic sanity checks

Here's a list of what basic sanity checks are done by repo maintainer on each submission.

Basic file checks:


Things that must be included:


Things that can't be included:


Code checks:

  • invalid includes
  • undefined actions
  • unable to evaluate condition
  • undefined vars
  • can't focus 'id'

2.4 Requirements for scripts and plugins

2.5 Requirements for scrapers

3 Submitting a Compliant Add-on to the XBMC.org Repo

After you have read the above repository guidelines and made sure your addon is compliant with them, you may begin the submission process using the following steps.

3.1 The mailing list

We ask that all Add-on authors subscribe to the Add-ons Mailing List. This is done for several reasons.

  • This is where all updates and important information will be announced.
  • This way we can contact you regarding your add-ons if necessary.
  • You can see what other devs are requesting to be added so you know if possibly you need to check compatibility of the add-on you depend on.
  • You may find new and interesting add-ons this way on which you can get inspiration from or may depend on.

All pull requests should be sent to this list so that repo maintainers will be notified that you want to add of update your add-on. They will do a sanity check if all seems ok and you are following the XBMC guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with. Once all checks out fine your add-on is added to repo and you will receive a confirmation e-mail that it is added.


To un-subscribe from the mailinglist follow the same link as Add-ons Mailing List and there's the option to unsubscribe at the bottom

3.2 How to submit your add-on and subsequent updates

In order to submit your addon, you must send a request that we add or update your add-on to the Add-ons Mailing List (We call this a "pull request."). Each request 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.

Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.

There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:

Type Description
[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.
[SVN Pull] Same as [Git Pull]
[Zip Pull] By far the least used but still a valid way. Submit a link where the add-on zip can be downloaded from.

For example you can just give us the link to .zip in your dropbox account. We do not want to download it from a public download site that holds questionable content or is filled with ads.

[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.

3.3 Example e-mail

Subject:

 [Git Pull] my cool plugin

Body:

 *addon -   my.cool.plugin
 *version - 1.1.0
 *url - git://some.where.git
 *revision - a241345a
 *branch - master
 *xbmc version - frodo


Note: If you want to request multiple add-ons to be added you can just do this in one e-mail as long as you provide the "Body" part each time for every add-on and every XBMC version you want it to be included to. In this case the subject field doesn't need to contain the add-on name. Do provide the "[Git Pull]" part at least.


You have to do separate pull requests for each repository (Eden, Frodo/Gotham). At this moment Frodo and Gotham share the same repo so donig one request for Frodo/Gotham is enough. At this moment Frodo and Gotham share the same repo so donig one request for Frodo/Gotham is enough.

4 See also

Development:

Personal tools
Namespaces
Variants
Actions
Navigation
Wiki help
Google Search
Toolbox