Submitting Add-ons: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
(Don't allow new addons into Leia anymore, only updates to existing addons.)
 
(12 intermediate revisions by 7 users not shown)
Line 6: Line 6:


After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.
After you have read the [[Add-on rules|repository guidelines]] and made sure your addon is compliant with them, you may begin the submission process using the following steps.


=== Allowed submissions ===
=== Allowed submissions ===
Line 32: Line 31:
| Helix || 14.x || yes || no
| Helix || 14.x || yes || no
|-
|-
| Isengard || 15.x || yes || yes
| Isengard || 15.x || yes || no
|-
| Jarvis || 16.x || yes || no
|-
| Krypton || 17.x || yes || no
|-
| Leia || 18.x || yes || no
|-
|-
| Jarvis || 16.x || yes || yes
| Matrix || 19.x || yes || yes
|-
|-
| Krypton || 17.x || yes || yes
| Nexus || 20.x || yes || yes
|}
|}


Line 45: Line 50:


{| class="prettytable" border="1"
{| class="prettytable" border="1"
|+ Which repos are used
|+ Which repos are used for Python add-ons (scripts, scrapers and plugins)
! codename !! version !! repo
! codename !! version !! repos !!colspan="8"| repo
|-
|-
| Dharma || 10.x || Dharma
| Dharma || 10.x || Dharma
Line 63: Line 68:
|-
|-
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton
|-
| Leia || 18.x || Gotham || Helix || Isengard  || Jarvis  || Krypton || Leia
|-
| Matrix|| 19.x || - || - || - || - || - || - || Matrix
|-
| Nexus|| 20.x || - || - || - || - || - || - || Matrix || Nexus
|}
|}


{| class="prettytable" border="1"
|+ Which repos are used for skins
! codename !! version !! repos !!colspan="8"| repo
|-
| Dharma || 10.x || Dharma
|-
| Eden || 11.x || Eden
|-
| Frodo || 12.x || Frodo
|-
| Gotham || 13.x || Gotham
|-
| Helix || 14.x || Gotham || Helix
|-
| Isengard || 15.x || || || Isengard
|-
| Jarvis || 16.x || || || || Jarvis
|-
| Krypton || 17.x || || || || || Krypton
|-
| Leia || 18.x || ||  || || || || Leia
|-
| Matrix|| 19.x || || || || || || || Matrix
|-
| Nexus|| 20.x || || || || || || || Matrix || Nexus
|}
{| class="prettytable" border="1"
|+ Which repos are used for other add-ons
! codename !! version !! repos !!colspan="8"| repo
|-
| Dharma || 10.x || Dharma
|-
| Eden || 11.x || Eden
|-
| Frodo || 12.x || Frodo
|-
| Gotham || 13.x || Gotham
|-
| Helix || 14.x || Gotham || Helix
|-
| Isengard || 15.x || Gotham || Helix || Isengard
|-
| Jarvis || 16.x || Gotham || Helix || Isengard  || Jarvis
|-
| Krypton || 17.x || Gotham || Helix || Isengard  || Jarvis  || Krypton
|-
| Leia || 18.x || Gotham || Helix || Isengard  || Jarvis  || Krypton || Leia
|-
| Matrix || 19.x || Gotham || Helix || Isengard  || Jarvis  || Krypton || Leia || Matrix
|-
| Nexus || 20.x || Gotham || Helix || Isengard  || Jarvis  || Krypton || Leia || Matrix || Nexus
|}


{{see also|Addon.xml#Dependency_versions}}
{{see also|Addon.xml#Dependency_versions}}
Line 70: Line 134:
=== Github ===
=== Github ===


Add-on updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We encourage add-on developers to use this method as the process is easier for both parties involved. Of course this requires some initial git knowledge and we strongly suggest to read up on this subject before using this method. To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it's contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.
==== Pull requests ====
New add-ons or updates may be submitted directly to the [[Official add-on repository]] on Github as pull requests. We are aware that this requires some initial git knowledge and we strongly suggest to read up on this subject before submitting a pull request.  
 
To reduce size we have split up the git repositories in several locations. Please visit [[Official add-on repository]] to see where they are. Each contains a small readme with a short description of it's contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.


In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:
In addition to the [[Add-on rules|repository guidelines]] the following rules apply when submitting PRs on Github:
Line 77: Line 144:
* Commit message should have the format "[addonid] version". Example: "[my.cool.addon] 1.0.1"  
* Commit message should have the format "[addonid] version". Example: "[my.cool.addon] 1.0.1"  


As with mailing list, only PRs from add-on author will be accepted. Patches should be submitted upstream. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].
If Team Kodi reviewers asked you to make some changes in your PR, follow this procedure: [[HOW-TO: Update a pull request to an official addon repository on GitHub]].


=== The mailing list ===
Only PRs from the add-on author or his successor will be accepted. Patches should be submitted upstream to the original author first. For an easy way to create PR from your own git repository, see [[HOW-TO: create add-on PRs using Git Subtree Merging]].


Alternatively you can of course continue to submit your add-ons through the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List].
==== Issue ticket ====
This is done for several reasons.


After you have subscribed to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] you will be send a conformation e-mail. Be sure to accept this before you can submit to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Mailing List].
'''This route is only available for skins in https://github.com/xbmc/repo-skins.
'''


All pull requests should be sent to this list so that repository 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 Kodi guidelines for add-ons. If any issues or questions arise they will contact you through the e-mail you registered with.
For skins submissions you may also use the "issue" option where you submit a request to get you add-on added. In this ticket you need to provide the basic information needed so our repo maintainers know where to get the correct version.
Once all checks out fine your add-on is added to repository and you will receive a confirmation e-mail that it is added.
This consists of
  - Add-on name:
  - Add-on ID:
  - Version number:
  - Kodi/repository version:
  - Code location URL:
  - Revision/tag:
  - Branch:


 
Further information is provide when you initially create the issue on github as comments in the ticket.
{{tip|To un-subscribe from the mailinglist follow the same link as [https://lists.sourceforge.net/lists/listinfo/xbmc-addons Add-ons Mailing List] and there's the option to unsubscribe at the bottom}}
Same [[Add-on rules|repository guidelines]] apply here as well.


==== How to submit your add-on and subsequent updates ====
==== How to submit your add-on and subsequent updates ====
Submitting updates is done the same way as with pull requests or issue ticket.


In order to submit your addon, you must send a request that we add or update your add-on to the [https://lists.sourceforge.net/lists/listinfo/xbmc-addons 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 [[Add-on structure#changelog.txt|changelog.txt]] up to date so that users may easily see what has changed.  
==== Repository lists ====
You can create pull requests or tickets on the following individual repositories.


Note that .xbt files will be generated automatically for skins so you do not include this in your pull request.
  https://github.com/xbmc/repo-plugins
 
  https://github.com/xbmc/repo-resources
There are several ways to request that we add or update your add-on. Please preface threads using the following conventions:
  https://github.com/xbmc/repo-scrapers
 
  https://github.com/xbmc/repo-scripts
{| class="prettytable" border="1"
  https://github.com/xbmc/repo-skins
! Type !! Description
  https://github.com/xbmc/repo-webinterfaces
|-
| [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.
|}
 
After you have send it to the mailing list please keep an eye out for any reply from our repository maintainers if there are any remarks or changes needed or a simple confirmation it has been added. Do note it might take some time to process the request.
 
After it has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.


=== Additional information ===
Note that skin .xbt files will be generated automatically for skins so you do not include this in your pull request or created tickets.
After the add-on has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.


{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.
{{Note|Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository.
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}
Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck}}


==== Example e-mail ====


Subject:
{{tip|We automatically combine all repos into one single repo list on our server and provide that list to Kodi. You only need to do a request for the minimum repo your add-on supports.}}
  [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 - helix
 
 
{{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 Kodi 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.}}
 
{{tip|At this moment Frodo/Gotham/Helix combine all repos into one single repo list in Kodi. You only need to do a request for the minimum repo your add-on supports.}}


=== The mailing list ===


''' MAILINGLIST IS NOT USED ANYMORE. ALL REQUESTS SHOULD GO THROUGH GITHUB '''


[[Category:Add-on development]]
[[Category:Add-on development]]

Latest revision as of 23:06, 29 December 2021

Home icon grey.png   ▶ Development ▶ Add-on development ▶ Submitting Add-ons


Submitting a Compliant Add-on to the Kodi.tv Repo

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

Allowed submissions

We have restricted the allowed submissions of add-ons to past Kodi versions. Several reasons:

  • Kodi code improvements
  • Reduce support load for add-on developers
  • Reduce workload for repository maintainers

Below is a table of on which submissions are allowed to official Kodi repository.

Allowed add-on submissions
codename version update new
Dharma 10.x no no
Eden 11.x no no
Frodo 12.x no no
Gotham 13.x yes no
Helix 14.x yes no
Isengard 15.x yes no
Jarvis 16.x yes no
Krypton 17.x yes no
Leia 18.x yes no
Matrix 19.x yes yes
Nexus 20.x yes yes


Additional feature is that we now use combined repositories. So if your add-on is Gotham/Helix compatible, you only need to send it to Gotham repository. If it's only Helix compatible you need to send it to Helix repository. This of course requires that the minimal Kodi dependencies are set accordingly.

Which repos are used for Python add-ons (scripts, scrapers and plugins)
codename version repos repo
Dharma 10.x Dharma
Eden 11.x Eden
Frodo 12.x Frodo
Gotham 13.x Gotham
Helix 14.x Gotham Helix
Isengard 15.x Gotham Helix Isengard
Jarvis 16.x Gotham Helix Isengard Jarvis
Krypton 17.x Gotham Helix Isengard Jarvis Krypton
Leia 18.x Gotham Helix Isengard Jarvis Krypton Leia
Matrix 19.x - - - - - - Matrix
Nexus 20.x - - - - - - Matrix Nexus
Which repos are used for skins
codename version repos repo
Dharma 10.x Dharma
Eden 11.x Eden
Frodo 12.x Frodo
Gotham 13.x Gotham
Helix 14.x Gotham Helix
Isengard 15.x Isengard
Jarvis 16.x Jarvis
Krypton 17.x Krypton
Leia 18.x Leia
Matrix 19.x Matrix
Nexus 20.x Matrix Nexus
Which repos are used for other add-ons
codename version repos repo
Dharma 10.x Dharma
Eden 11.x Eden
Frodo 12.x Frodo
Gotham 13.x Gotham
Helix 14.x Gotham Helix
Isengard 15.x Gotham Helix Isengard
Jarvis 16.x Gotham Helix Isengard Jarvis
Krypton 17.x Gotham Helix Isengard Jarvis Krypton
Leia 18.x Gotham Helix Isengard Jarvis Krypton Leia
Matrix 19.x Gotham Helix Isengard Jarvis Krypton Leia Matrix
Nexus 20.x Gotham Helix Isengard Jarvis Krypton Leia Matrix Nexus

Github

Pull requests

New add-ons or updates may be submitted directly to the Official add-on repository on Github as pull requests. We are aware that this requires some initial git knowledge and we strongly suggest to read up on this subject before submitting a pull request.

To reduce size we have split up the git repositories in several locations. Please visit Official add-on repository to see where they are. Each contains a small readme with a short description of it's contents as well as a link to a short explanation on how to submit using git command line. There are also git tools available that have a graphic interface and the steps above should be done in a similar way. Please consult the manual of those programs.

In addition to the repository guidelines the following rules apply when submitting PRs on Github:

  • PR should contain one commit only.
  • Commit message should have the format "[addonid] version". Example: "[my.cool.addon] 1.0.1"

If Team Kodi reviewers asked you to make some changes in your PR, follow this procedure: HOW-TO: Update a pull request to an official addon repository on GitHub.

Only PRs from the add-on author or his successor will be accepted. Patches should be submitted upstream to the original author first. For an easy way to create PR from your own git repository, see HOW-TO: create add-on PRs using Git Subtree Merging.

Issue ticket

This route is only available for skins in https://github.com/xbmc/repo-skins.

For skins submissions you may also use the "issue" option where you submit a request to get you add-on added. In this ticket you need to provide the basic information needed so our repo maintainers know where to get the correct version. This consists of

 - Add-on name: 
 - Add-on ID:
 - Version number:
 - Kodi/repository version:
 - Code location URL:
 - Revision/tag: 
 - Branch:

Further information is provide when you initially create the issue on github as comments in the ticket. Same repository guidelines apply here as well.

How to submit your add-on and subsequent updates

Submitting updates is done the same way as with pull requests or issue ticket.

Repository lists

You can create pull requests or tickets on the following individual repositories.

 https://github.com/xbmc/repo-plugins
 https://github.com/xbmc/repo-resources
 https://github.com/xbmc/repo-scrapers
 https://github.com/xbmc/repo-scripts
 https://github.com/xbmc/repo-skins
 https://github.com/xbmc/repo-webinterfaces

Additional information

Note that skin .xbt files will be generated automatically for skins so you do not include this in your pull request or created tickets. After the add-on has been added or updated it will be available from the Kodi repository in Kodi itself, on http://addons.kodi.tv/ and on the wiki page http://kodi.wiki/index.php?title=Category:All_add-ons.

Note: Please locate you add-on in the root of the git repository. This to make sure we can easily pull the add-on into our repository. Example: https://github.com/XBMC-Addons/service.xbmc.versioncheck


Tip Tip: We automatically combine all repos into one single repo list on our server and provide that list to Kodi. You only need to do a request for the minimum repo your add-on supports.

The mailing list

MAILINGLIST IS NOT USED ANYMORE. ALL REQUESTS SHOULD GO THROUGH GITHUB