Skip to content

Conversation

@LizAinslie
Copy link

1.21.10 support!

You can see it live in action on my server's BlueMap

In addition to upgrading the paper-api dependency to support 1.21.10, I've made the following changes:

  • chore: update dependencies for bluemap, griefprevention, and commons, use compileOnly instead of long-deprecated provided
  • fix: settings.gradle in subprojects is an antipattern, define shadowJar tasks for each

I'll explain each:

Instead of using provided 'some.dependency:coordinate:version, which has been deprecated since Gradle 7.0 and discouraged since Gradle 3.6, the buildscript now uses compileOnly, the new idiomatic api for essentially the same result. I also changed instances of implementation project(":BlueBridgeCore") to use compileOnly as well, since we expect both jars in the plugins folder, avoiding shading the core into each addon.

As for not having a settings.gradle in each subproject, this is necessary to run subproject tasks individually outside of the root directory. Otherwise, Gradle will treat the subproject as a separate project and therefore will not resolve the common allProjects configuration from the root build.gradle. Using allProjects is still generally discouraged in favor of a buildSrc module (which actually should use its own settings.gradle but that is out of the scope of this PR and a time consuming task I did not necessarily want to take on)

Also, consider using a Kotlin buildscript in the future <3
build.gradle.kts while opting to be more verbose in some places, tends to be a lot easier to read for developers hoping to contribute than the old Goovy scripts. It's also recommended by Gradle and the Android team for this reason among others

Anyway, I hope this PR is helpful, cheers! ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant