-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
123 lines (99 loc) · 3.71 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import com.expediagroup.graphql.plugin.gradle.config.GraphQLSerializer
import com.expediagroup.graphql.plugin.gradle.graphql
import net.minecraftforge.gradle.userdev.jarjar.JarJarProjectExtension
val mod_id: String by extra
val mod_version: String by extra
val dynmap_version: String by extra
val rabbitmq_version: String by extra
val travelers_titles_version: String by extra
val yungs_api_version: String by extra
val graphql_client_version: String by extra
val ktor_client_version: String by extra
val kotlin_forge_version: String by extra
val atheneum_version: String by extra
plugins {
idea
id("com.possible-triangle.gradle") version ("0.2.5")
id("com.expediagroup.graphql") version ("8.1.0")
}
withKotlin()
forge {
includesLibrary("com.rabbitmq:amqp-client:$rabbitmq_version")
includesLibrary("com.expediagroup:graphql-kotlin-ktor-client:$graphql_client_version")
includesLibrary("com.possible-triangle:atheneum-models:$atheneum_version")
kotlinForgeVersion = null
}
repositories {
modrinthMaven()
localMaven(project)
maven {
url = uri("https://maven.pkg.github.com/VoidShake/Atheneum")
credentials {
username = env["GITHUB_ACTOR"]
password = env["GITHUB_TOKEN"]
}
content {
includeGroup("com.possible-triangle")
}
}
}
// required because of duplicate package export
configurations.named("minecraftLibrary") {
exclude(group = "org.jetbrains", module = "annotations")
}
val jarJar = the<JarJarProjectExtension>()
dependencies {
modImplementation("maven.modrinth:travelers-titles:${travelers_titles_version}")
modRuntimeOnly("maven.modrinth:yungs-api:${yungs_api_version}")
modRuntimeOnly("maven.modrinth:dynmap:${dynmap_version}")
// required because of duplicate package export by thedarkcolour:kotlinforforge:all
implementation("thedarkcolour:kffmod:${kotlin_forge_version}")
implementation("thedarkcolour:kfflang:${kotlin_forge_version}")
implementation("thedarkcolour:kfflib:${kotlin_forge_version}")
fun pin(dependency: String) {
add("jarJar", dependency) {
jarJar.ranged(this, "[${version},)")
}
}
pin("com.expediagroup:graphql-kotlin-client:$graphql_client_version")
pin("com.expediagroup:graphql-kotlin-client-serialization:$graphql_client_version")
pin("com.expediagroup:graphql-kotlin-client-serialization:$graphql_client_version")
pin("io.ktor:ktor-utils-jvm:$ktor_client_version")
pin("io.ktor:ktor-client-core-jvm:$ktor_client_version")
pin("io.ktor:ktor-client-cio-jvm:$ktor_client_version")
pin("io.ktor:ktor-client-serialization-jvm:$ktor_client_version")
pin("io.ktor:ktor-network-jvm:$ktor_client_version")
pin("io.ktor:ktor-network-tls-jvm:$ktor_client_version")
pin("io.ktor:ktor-events-jvm:$ktor_client_version")
pin("io.ktor:ktor-utils-jvm:$ktor_client_version")
pin("io.ktor:ktor-io-jvm:$ktor_client_version")
pin("io.ktor:ktor-http-jvm:$ktor_client_version")
pin("io.ktor:ktor-http-cio-jvm:$ktor_client_version")
//add("minecraftLibrary", "org.jetbrains.kotlin:kotlin-reflect:${kotlin.coreLibrariesVersion}")
}
graphql {
client {
endpoint = env["GRAPHQL_ENDPOINT"] ?: "https://atlas.macarena.ceo/api/graphql"
packageName = "com.possible_triangle.atheneum_connector.generated"
serializer = GraphQLSerializer.KOTLINX
}
}
tasks.withType<Jar> {
exclude("queries")
}
enablePublishing {
githubPackages()
}
uploadToModrinth {
syncBodyFromReadme()
}
val copy = task<Copy>("copyBuild") {
group = "build"
from("build/libs/${mod_id}-${mod_version}.jar")
into("docker/mods")
dependsOn("jarJar")
}
tasks.build {
dependsOn(copy)
}
enableSonarQube()