I'm adding a constraint to addon keys

Hi all. I've been doing some work with addons and have found that there is a need for a global addon keyspace.

Right now, you can have a theme, locale, and addon all have the same key which will continue. However, for the purposes of specifying things like requirements or conflicts it would be nice to be able to specify whether you want the addon, locale, or theme specifically. Here is what I'm planning:

  1. All addons, locales, and themes will have keys as normal. When creating new addons make all keys lower-dashed-case.
  2. An addons global key is a calculated field on the addon.
  3. For the addon type the global key and the key are the same.
  4. Themes have a global key of "-theme" and locales have a global key of "-locale".
  5. When creating new addons of any type you cannot have a suffix of "-addon", "-theme", or "-locale" as that may conflict with other global keys.

So basically, you don't have to change much, just note rule 5.