Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pluginManagement {
- repositories {
- gradlePluginPortal()
- maven("https://repo.papermc.io/repository/maven-public/")
- }
- }
- plugins {
- id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
- }
- if (!file(".git").exists()) {
- val errorText = """
- =====================[ ERROR ]=====================
- The Paper project directory is not a properly cloned Git repository.
- In order to build Paper from source you must clone
- the Paper repository using Git, not download a code
- zip from GitHub.
- Built Paper jars are available for download at
- https://papermc.io/downloads/paper
- See https://github.com/PaperMC/Paper/blob/main/CONTRIBUTING.md
- for further information on building and modifying Paper.
- ===================================================
- """.trimIndent()
- error(errorText)
- }
- rootProject.name = "paper"
- for (name in listOf("paper-api", "paper-server")) {
- include(name)
- file(name).mkdirs()
- }
- optionalInclude("test-plugin")
- optionalInclude("paper-generator")
- fun optionalInclude(name: String, op: (ProjectDescriptor.() -> Unit)? = null) {
- val settingsFile = file("$name.settings.gradle.kts")
- if (settingsFile.exists()) {
- apply(from = settingsFile)
- findProject(":$name")?.let { op?.invoke(it) }
- } else {
- settingsFile.writeText(
- """
- // Uncomment to enable the '$name' project
- // include(":$name")
- """.trimIndent()
- )
- }
- }
- gradle.lifecycle.beforeProject {
- val mcVersion = providers.gradleProperty("mcVersion").get().trim()
- val paperVersionChannel = providers.gradleProperty("channel").get().trim()
- val paperBuildNumber = providers.environmentVariable("BUILD_NUMBER").orNull?.trim()?.toInt()
- val versionString = if (paperBuildNumber == null) {
- "$mcVersion.local-SNAPSHOT"
- } else {
- "$mcVersion.build.$paperBuildNumber-${paperVersionChannel.lowercase()}"
- }
- version = versionString
- }
- if (providers.gradleProperty("paperBuildCacheEnabled").orNull.toBoolean()) {
- val buildCacheUsername = providers.gradleProperty("paperBuildCacheUsername").orElse("").get()
- val buildCachePassword = providers.gradleProperty("paperBuildCachePassword").orElse("").get()
- if (buildCacheUsername.isBlank() || buildCachePassword.isBlank()) {
- println("The Paper remote build cache is enabled, but no credentials were provided. Remote build cache will not be used.")
- } else {
- val buildCacheUrl = providers.gradleProperty("paperBuildCacheUrl")
- .orElse("https://gradle-build-cache.papermc.io/")
- .get()
- val buildCachePush = providers.gradleProperty("paperBuildCachePush").orNull?.toBoolean()
- ?: System.getProperty("CI").toBoolean()
- buildCache {
- remote<HttpBuildCache> {
- url = uri(buildCacheUrl)
- isPush = buildCachePush
- credentials {
- username = buildCacheUsername
- password = buildCachePassword
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment