Uploaded image for project: 'Spigot'
  1. Spigot
  2. SPIGOT-3419

Include Kotlin stdlib with Bukkit

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Won't Fix
    • Icon: Minor Minor
    • None
    • None

      Since the Android team announced first-class support for Kotlin it is clear that Kotlin is not just a passing fad. Additionally, many plugin authors have taken note of Kotlin and begun to utilize it to build plugins. A problem that these developers face is the need to include the Kotlin stdlib within their plugin jars. The stdlib is approximately 800 kB which really isn't that large but it does pose some problems, namely:

      • Premium plugins are limited to 4 mB in size which makes the Kotlin stdlib take up almost a quarter of that allowance.
      • The include of the stdlib adds many more classes that Plugin reviewers (on spigotmc and dbo) must consider and check for malicious intent.

      In addition to problems with plugin size, there is the real possibility of compatibility issues when two separate plugin authors include different versions of the Kotlin stdlib in their plugin without any kind of package relocation.

      One could argue that it is the server operators responsibility to ensure an appropriate version of the Kotlin stdlib is added to the classpath. While this is a good argument in general, a large amount of server operators are not familiar with how to do this. Additionally, in some cases with managed servers, they are unable to do so.

      For these above reasons, it is my belief that the Kotlin stdlib should be included with Bukkit. More than a handful of plugin authors have decided to switch to Kotlin as their primary language for developing plugins and more are joining them every day. With little doubt, they would all appreciate this inclusion.

            Unassigned Unassigned
            dumptruckman Jeremy Wood
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: