Skip to content

Commit 44d3035

Browse files
committed
feat: add support for configurable Redis dependency with relocation
1 parent bedcfaa commit 44d3035

File tree

5 files changed

+43
-7
lines changed

5 files changed

+43
-7
lines changed

surf-api-gradle-plugin/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ plugins {
2020
group = groupId
2121
version = buildString {
2222
append(mcVersion)
23-
append("-1.6.4")
23+
append("-1.7.0")
2424
if (snapshot) append("-SNAPSHOT")
2525
}
2626

surf-api-gradle-plugin/src/main/kotlin/dev/slne/surf/surfapi/gradle/platform/core/CoreSurfExtension.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,26 @@ import dev.slne.surf.surfapi.gradle.SurfCloudModules
44
import dev.slne.surf.surfapi.gradle.platform.common.CommonSurfExtension
55
import org.gradle.api.model.ObjectFactory
66
import org.gradle.kotlin.dsl.listProperty
7+
import org.gradle.kotlin.dsl.property
78
import javax.inject.Inject
89

910
open class CoreSurfExtension @Inject constructor(objects: ObjectFactory) :
1011
CommonSurfExtension(objects) {
1112
val authors = objects.listProperty<String>().convention(mutableListOf("SLNE Development"))
1213

14+
internal val withSurfRedis = objects.property<Boolean>().convention(false)
15+
internal val surfRedisVersion = objects.property<String>()
16+
internal val surfRedisRelocation = objects.property<String>()
17+
18+
fun withSurfRedis(version: String, relocation: String) {
19+
withSurfRedis.set(true)
20+
withSurfRedis.finalizeValue()
21+
surfRedisVersion.set(version)
22+
surfRedisVersion.finalizeValue()
23+
surfRedisRelocation.set(relocation)
24+
surfRedisRelocation.finalizeValue()
25+
}
26+
1327
fun withCloudCommon() {
1428
cloudModule.set(SurfCloudModules.COMMON)
1529
}

surf-api-gradle-plugin/src/main/kotlin/dev/slne/surf/surfapi/gradle/platform/core/CoreSurfPlugin.kt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package dev.slne.surf.surfapi.gradle.platform.core
22

3+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
34
import dev.slne.surf.surfapi.gradle.platform.SurfApiPlatform
45
import dev.slne.surf.surfapi.gradle.platform.common.CommonSurfPlugin
56
import org.gradle.api.Project
67
import org.gradle.api.model.ObjectFactory
8+
import org.gradle.kotlin.dsl.dependencies
9+
import org.gradle.kotlin.dsl.withType
10+
import org.jetbrains.kotlin.gradle.utils.API
711

812
internal abstract class AbstractCoreSurfPlugin<E : CoreSurfExtension>(
913
platformName: String, platform: SurfApiPlatform,
@@ -13,9 +17,29 @@ internal abstract class AbstractCoreSurfPlugin<E : CoreSurfExtension>(
1317
"com.mojang.datafixers" relocatesTo "mojang.datafixers"
1418
"net.kyori.adventure.nbt" relocatesTo "kyori.nbt"
1519
}
20+
21+
final override fun Project.afterEvaluated0(extension: E) {
22+
if (extension.withSurfRedis.get()) {
23+
dependencies {
24+
add(API, "dev.slne:surf-redis:${extension.surfRedisVersion.get()}")
25+
}
26+
27+
tasks.withType<ShadowJar>().configureEach {
28+
doFirst {
29+
relocate("dev.slne.redis", extension.surfRedisRelocation.get())
30+
}
31+
}
32+
}
33+
34+
afterEvaluated1(extension)
35+
}
36+
37+
protected open fun Project.afterEvaluated1(extension: E) {
38+
}
1639
}
1740

1841
internal class CoreSurfPlugin :
1942
AbstractCoreSurfPlugin<CoreSurfExtension>("core", SurfApiPlatform.CORE) {
20-
override fun createExtension(objects: ObjectFactory, project: Project) = CoreSurfExtension(objects)
43+
override fun createExtension(objects: ObjectFactory, project: Project) =
44+
CoreSurfExtension(objects)
2145
}

surf-api-gradle-plugin/src/main/kotlin/dev/slne/surf/surfapi/gradle/platform/paper/plugin/PaperPluginSurfExtension.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,12 @@ import javax.inject.Inject
1212
open class PaperPluginSurfExtension @Inject constructor(objects: ObjectFactory) :
1313
AbstractPaperSurfExtension(objects) {
1414
internal val mainClass = objects.property<String>()
15-
internal val bootstrapper = objects.property<String>().convention(null)
15+
internal val bootstrapper = objects.property<String>()
1616
internal val bootstrapDependencies =
1717
objects.property<Action<NamedDomainObjectContainerScope<PaperPluginDescription.DependencyDefinition>>>()
18-
.convention(null)
1918
internal val serverDependencies =
2019
objects.property<Action<NamedDomainObjectContainerScope<PaperPluginDescription.DependencyDefinition>>>()
21-
.convention(null)
22-
internal val runServer = objects.property<Action<RunServer>>().convention(null)
20+
internal val runServer = objects.property<Action<RunServer>>()
2321
internal val foliaSupported = objects.property<Boolean>().convention(false)
2422
internal val generateLibraryLoader = objects.property<Boolean>().convention(false)
2523

surf-api-gradle-plugin/src/main/kotlin/dev/slne/surf/surfapi/gradle/platform/paper/plugin/PaperPluginSurfPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ internal class PaperPluginSurfPlugin :
3232
"de.eldoria.plugin-yml.paper"
3333
)
3434

35-
override fun Project.afterEvaluated0(extension: PaperPluginSurfExtension) {
35+
override fun Project.afterEvaluated1(extension: PaperPluginSurfExtension) {
3636
val generateLoaderTask = generateLibrariesLoaderTask(
3737
extension.mainClass.get().substringBeforeLast('.')
3838
)

0 commit comments

Comments
 (0)