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
Revision as of 19:23, 11 June 2012 by Natethomas (Talk | contribs)
Jump to: navigation, search

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.

Contents

1 Add-on requirements

In order to be considered for the official repository, the following guidelines must be met:

2 The repositories

XBMC uses git to manage the official repository. See below for the list of git repositories that comprise it.

 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

3 Branches

At any given time, there will be two active branches for each repository: stable, and stable-pre. At the time of this writing, Eden-pre is the main branch for development. When Eden final is released, all add-ons that are compatible will be moved to Eden branch. Developers are asked to maintain compatibility with stable branches first, and bleeding-edge (-pre) as their time and effort allows.

4 The mailing list

We ask that all Add-on authors subscribe to the 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.

5 How to submit your add-on and subsequent updates

As mentioned above, in order to submit your addon, you must send a pull request to the mailing list address found in the link above. 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. 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:

 *[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] - See above.
 *[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.

5.1 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 - dharma

6 Repository guidelines

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 a pull request.

Please note that you have to do seperate pull requests for each repository (dharma, eden).

6.1 Updates

Keep in mind that addons 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 addon 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 pull 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).

6.2 Requirements for skins

6.3 Requirements for scripts

6.4 Requirements for scrapers

7 See also

Development:

Personal tools
Namespaces
Variants
Actions
Navigation
Wiki help
Google Search
Toolbox