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

Bump CraftBukkit version whenever the mappings version changes

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • None
    • This server is running CraftBukkit version dev-Spigot-610a8c0-fb556bf (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT)
    • Yes

      Discussions on support for plugins relying on NMS aside, would it be possible to bump the CraftBukkit/Spigot version whenever there is an update to the mappings version in CraftMagicNumbers?
      Although infrequently, this mappings versions can currently (and has been in the past) change without there being a corresponding version bump of CraftBukkit/Spigot itself (eg. https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/90d6905b1587ac1c5c075e2da471f77d00e0f50d and https://hub.spigotmc.org/stash/projects/SPIGOT/repos/craftbukkit/commits/a49270b28b35c0b110cfa5fe0f03c9621a899d80).

      While NMS plugins can detect unexpected mappings versions and then prevent the plugin from loading, it is currently not easily possible to build mappings-version specific plugin versions, because with build tools like Maven/Gradle/etc. one cannot declare to depend on a CraftBukkit/Spigot version with a specific mappings version, unless there has also been an update to the CraftBukkit/Spigot version along side the mappings version update.

      Also, BuildTools is not able to build specific commits that would align with these mappings version updates.

      The suggestion is to bump the revision number (behind the 'R') of the version string whenever there is a mappings version change, and then allow the BuildTools to build specific versions, including versions with different revision numbers.

      Edit: On the other hand, since there can always be backwards incompatible changes in CraftBukkit between individual commits, without there being version bumps for these either, it is probably not possible to safely build NMS plugin versions in either case. Even if the mappings version did not change, some change in CraftBukkit might arbitrarily break the plugin without there being a version number change for the plugin to detect this. However, if this is the case, I am not sure what the use for the mappings version, or even the version package suffix in CraftBukkit, is then, if it is not reliably bumped whenever there is some internal change that might break NMS plugins.

            Unassigned Unassigned
            blablubbabc blablubbabc
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: