submodule support

This commit is contained in:
Ben Kerllenevich
2021-06-12 19:42:41 -04:00
parent f2afb374ec
commit 74f0ba4bd3
5 changed files with 38 additions and 16 deletions

4
.gitmodules vendored Normal file
View File

@@ -0,0 +1,4 @@
[submodule "Paper"]
path = Paper
url = https://github.com/PaperMC/Paper
branch = dev/1.17

1
Paper Submodule

Submodule Paper added at 0c2d1544ac

View File

@@ -1,13 +1,15 @@
import io.papermc.paperweight.util.Git
plugins { plugins {
java java
id("com.github.johnrengelman.shadow") version "7.0.0" apply false id("com.github.johnrengelman.shadow") version "7.0.0" apply false
id("io.papermc.paperweight.patcher") version "1.0.0-LOCAL-SNAPSHOT" id("io.papermc.paperweight.patcher") version "1.0.0-SNAPSHOT"
} }
group = "net.pl3x.purpur" group = "net.pl3x.purpur"
version = providers.gradleProperty("projectVersion").forUseAtConfigurationTime().get() version = providers.gradleProperty("projectVersion").forUseAtConfigurationTime().get()
allprojects { subprojects {
apply(plugin = "java") apply(plugin = "java")
java { java {
@@ -15,9 +17,7 @@ allprojects {
languageVersion.set(JavaLanguageVersion.of(16)) languageVersion.set(JavaLanguageVersion.of(16))
} }
} }
}
subprojects {
tasks.withType<JavaCompile>().configureEach { tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8" options.encoding = "UTF-8"
options.release.set(16) options.release.set(16)
@@ -25,7 +25,6 @@ subprojects {
repositories { repositories {
mavenCentral() mavenCentral()
maven("https://repo1.maven.org/maven2/")
maven("https://oss.sonatype.org/content/groups/public/") maven("https://oss.sonatype.org/content/groups/public/")
maven("https://papermc.io/repo/repository/maven-public/") maven("https://papermc.io/repo/repository/maven-public/")
maven("https://ci.emc.gs/nexus/content/groups/aikar/") maven("https://ci.emc.gs/nexus/content/groups/aikar/")
@@ -33,9 +32,7 @@ subprojects {
maven("https://repo.md-5.net/content/repositories/releases/") maven("https://repo.md-5.net/content/repositories/releases/")
maven("https://hub.spigotmc.org/nexus/content/groups/public/") maven("https://hub.spigotmc.org/nexus/content/groups/public/")
maven("https://nexus.velocitypowered.com/repository/velocity-artifacts-snapshots/") maven("https://nexus.velocitypowered.com/repository/velocity-artifacts-snapshots/")
maven("https://oss.sonatype.org/content/repositories/snapshots/") { maven("https://oss.sonatype.org/content/repositories/snapshots/")
name = "sonatype-oss-snapshots"
}
} }
} }
@@ -43,16 +40,38 @@ dependencies {
implementation(gradleApi()) implementation(gradleApi())
} }
val paperDir = layout.projectDirectory.dir("Paper")
val initSubmodules by tasks.registering {
outputs.upToDateWhen { false }
doLast {
paperDir.asFile.mkdirs()
Git(paperDir)("submodule", "update", "--init", "--recursive").executeOut()
}
}
paperweight { paperweight {
serverProject.set(project(":Purpur-Server")) serverProject.set(project(":Purpur-Server"))
usePaperUpstream(providers.gradleProperty("paperRef")) { upstreams {
withPaperPatcher { register("paper") {
apiPatchDir.set(file("patches/api")) upstreamDataTask {
apiOutputDir.set(file("Purpur-API")) dependsOn(initSubmodules)
projectDir.set(paperDir)
workDir.set(layout.projectDirectory)
}
serverPatchDir.set(file("patches/server")) patchTasks {
serverOutputDir.set(file("Purpur-Server")) register("api") {
sourceDir.set(paperDir.dir("Paper-API"))
patchDir.set(layout.projectDirectory.dir("patches/api"))
outputDir.set(layout.projectDirectory.dir("Purpur-API"))
}
register("server") {
sourceDir.set(paperDir.dir("Paper-Server"))
patchDir.set(layout.projectDirectory.dir("patches/server"))
outputDir.set(layout.projectDirectory.dir("Purpur-Server"))
}
}
} }
} }
} }

View File

@@ -1,6 +1,5 @@
projectVersion=1.17-R0.1-SNAPSHOT projectVersion=1.17-R0.1-SNAPSHOT
packageVersion=1_17_R1 packageVersion=1_17_R1
paperRef=dev/1.17
org.gradle.daemon=true org.gradle.daemon=true
org.gradle.jvmargs=-Xmx3G org.gradle.jvmargs=-Xmx3G

View File

@@ -2,7 +2,6 @@ pluginManagement {
repositories { repositories {
gradlePluginPortal() gradlePluginPortal()
maven("https://wav.jfrog.io/artifactory/repo/") maven("https://wav.jfrog.io/artifactory/repo/")
mavenLocal()
} }
} }