Official add-on repository: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
>Theuni
>Theuni
Line 27: Line 27:
==How to submit your Add-On and subsequent updates==
==How to submit your Add-On and subsequent updates==
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.  
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, .xbt, .xpr.
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.
Note that .xbt files will be generated automatically for skins.



Revision as of 03:18, 7 July 2010

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.

Add-on Requirements

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

  • You MUST include a license file. We recommend the 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

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:

 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

Branches

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.

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.

How to submit your Add-On and subsequent updates

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] - Clone the appropriate repo, update it, publish it, and send the link along with a description.
 *[SVN Pull] - For those who wish to maintain their code separately from ours with eg. googlecode. Submit the appropriate url and revision/tag.
 *[Zip Pull] - By far the least useful. Submit a link to the addon or update.
 *[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.