Skip to content

Commit d650ec0

Browse files
committed
build.gradle improvements.
Not implemented interface IModule.kt and annotation Module.kt added. Signed-off-by: Pavel Erokhin (MairwunNx) <MairwunNx@gmail.com>
1 parent 819b5ad commit d650ec0

4 files changed

Lines changed: 87 additions & 97 deletions

File tree

build.gradle

Lines changed: 73 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,135 +1,84 @@
11
buildscript {
22
repositories {
3-
maven { url("https://files.minecraftforge.net/maven") }
4-
maven { url("https://libraries.minecraft.net") }
5-
maven { url("https://plugins.gradle.org/m2/") }
3+
maven { url "https://files.minecraftforge.net/maven" }
4+
maven { url "https://libraries.minecraft.net" }
5+
maven { url "https://plugins.gradle.org/m2/" }
66
jcenter()
77
mavenCentral()
88
}
99
dependencies {
10-
classpath(
11-
group: "net.minecraftforge.gradle",
12-
name: "ForgeGradle",
13-
version: forge_gradle_version,
14-
changing: true
15-
)
16-
classpath(
17-
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
18-
)
19-
classpath(
20-
"org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
21-
)
22-
classpath(
23-
"org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
24-
)
10+
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: forge_gradle_version, changing: true
11+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
12+
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
13+
classpath "org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
2514
}
2615
}
2716

28-
apply(plugin: "org.jetbrains.dokka")
29-
apply(plugin: "net.minecraftforge.gradle")
30-
apply(plugin: "kotlin")
31-
apply(plugin: "kotlinx-serialization")
17+
plugins {
18+
id "maven-publish"
19+
id "java-library"
20+
}
21+
22+
apply plugin: "org.jetbrains.dokka"
23+
apply plugin: "net.minecraftforge.gradle"
24+
apply plugin: "kotlin"
25+
apply plugin: "kotlinx-serialization"
3226

33-
version = module_version
27+
version = module_version as Object
3428
group = "com.mairwunnx.$module_id"
3529
archivesBaseName = module_name
3630

3731
configurations {
38-
embed
39-
compile.extendsFrom(embed)
32+
internal
33+
implementation.extendsFrom internal
4034
}
4135

4236
minecraft {
43-
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
44-
45-
mappings(
46-
channel: forge_mappings_channel_type,
47-
version: forge_mappings_channel_version
48-
)
37+
accessTransformer = file 'src/main/resources/META-INF/accesstransformer.cfg'
38+
mappings channel: forge_mappings_channel_type, version: forge_mappings_channel_version
4939

5040
runs {
5141
client {
52-
//noinspection GroovyAssignabilityCheck
53-
workingDirectory(project.file(dev_run_client_path))
54-
property("forge.logging.markers", "SCAN,REGISTRIES,REGISTRYDUMP")
55-
property("forge.logging.console.level", "debug")
56-
mods {
57-
ProjectEssentialsCore {
58-
//noinspection GroovyAssignabilityCheck
59-
source(sourceSets.main)
60-
}
61-
}
42+
property "forge.logging.markers", "SCAN,REGISTRIES,REGISTRYDUMP"
43+
property "forge.logging.console.level", "debug"
44+
mods { ProjectEssentialsCore { source sourceSets.main } }
45+
workingDirectory project.file(dev_run_client_path as Object)
6246
}
63-
6447
server {
65-
//noinspection GroovyAssignabilityCheck
66-
workingDirectory(project.file(dev_run_server_path))
67-
property("forge.logging.markers", "SCAN,REGISTRIES,REGISTRYDUMP")
68-
property("forge.logging.console.level", "debug")
69-
mods {
70-
ProjectEssentialsCore {
71-
//noinspection GroovyAssignabilityCheck
72-
source(sourceSets.main)
73-
}
74-
}
48+
property "forge.logging.markers", "SCAN,REGISTRIES,REGISTRYDUMP"
49+
property "forge.logging.console.level", "debug"
50+
mods { ProjectEssentialsCore { source sourceSets.main } }
51+
workingDirectory project.file(dev_run_server_path as Object)
7552
}
7653
}
7754
}
7855

7956
repositories {
8057
jcenter()
8158
mavenCentral()
82-
maven { url("https://libraries.minecraft.net") }
83-
maven { url("https://jitpack.io") }
59+
maven { url "https://libraries.minecraft.net" }
60+
maven { url "https://jitpack.io" }
8461
}
8562

8663
dependencies {
87-
minecraft(group: "net.minecraftforge", name: "forge", version: forge_version)
88-
compile(group: "com.mojang", name: "brigadier", version: brigadier_version)
89-
compile(
90-
group: "org.jetbrains.kotlinx",
91-
name: "kotlinx-serialization-runtime",
92-
version: kotlinx_serialization_version
93-
)
94-
embed(
95-
group: "org.jetbrains.kotlinx",
96-
name: "kotlinx-serialization-runtime",
97-
version: kotlinx_serialization_version
98-
)
99-
compile(
100-
group: "org.jetbrains.kotlin",
101-
name: "kotlin-stdlib-$kotlin_jdk_version_target",
102-
version: kotlin_version
103-
)
104-
embed(
105-
group: "org.jetbrains.kotlin",
106-
name: "kotlin-stdlib-$kotlin_jdk_version_target",
107-
version: kotlin_version
108-
)
109-
compile(
110-
group: "com.github.projectessentials",
111-
name: "ProjectEssentials-Permissions",
112-
version: permissions_version
113-
)
114-
compile(
115-
group: "com.github.projectessentials",
116-
name: "ProjectEssentials-Cooldown",
117-
version: cooldown_version
118-
)
119-
compile group: 'org.json', name: 'json', version: '20190722'
120-
embed group: 'org.json', name: 'json', version: '20190722'
64+
minecraft "net.minecraftforge:forge:$forge_version"
65+
implementation "com.mojang:brigadier:$brigadier_version"
66+
internal "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlinx_serialization_version"
67+
internal "org.jetbrains.kotlin:kotlin-stdlib-$kotlin_jdk_version_target:$kotlin_version"
68+
internal "com.github.projectessentials:ProjectEssentials-Permissions:$permissions_version"
69+
internal "com.github.projectessentials:ProjectEssentials-Cooldown:$cooldown_version"
70+
internal "org.json:json:$json_version"
12171
}
12272

12373
dokka {
12474
outputFormat = 'html'
12575
outputDirectory = "$buildDir/libs/docs"
12676
}
12777

128-
project.tasks["jar"].dependsOn(project.tasks["dokka"])
129-
13078
task modJar(type: Jar) {
13179
with tasks.jar
132-
from configurations.embed.collect { it.isDirectory() ? it : zipTree(it) }
80+
from configurations.internal.collect { it.isDirectory() ? it : zipTree(it) }
81+
13382
manifest {
13483
attributes([
13584
"Specification-Title" : module_name,
@@ -141,11 +90,9 @@ task modJar(type: Jar) {
14190
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
14291
])
14392
}
144-
//noinspection GrDeprecatedAPIUsage
145-
baseName = project.name + '-MOD'
146-
}
14793

148-
project.tasks["modJar"].dependsOn(project.tasks["jar"])
94+
baseName = module_name + '-MOD'
95+
}
14996

15097
jar {
15198
manifest {
@@ -159,8 +106,8 @@ jar {
159106
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
160107
])
161108
}
162-
//noinspection GrDeprecatedAPIUsage
163-
baseName = project.name + '-API'
109+
110+
baseName = module_name + '-API'
164111
}
165112

166113
reobf {
@@ -170,9 +117,38 @@ reobf {
170117
}
171118
}
172119

120+
project.tasks["jar"].dependsOn project.tasks["dokka"]
121+
project.tasks["modJar"].dependsOn project.tasks["jar"]
122+
173123
sourceCompatibility = targetCompatibility =
174124
compileJava.sourceCompatibility =
175125
compileJava.targetCompatibility = project_jvm_version_target
176126

177127
compileKotlin.kotlinOptions.jvmTarget =
178128
compileTestKotlin.kotlinOptions.jvmTarget = project_jvm_version_target
129+
130+
task dokkaJar(type: Jar) {
131+
group = JavaBasePlugin.DOCUMENTATION_GROUP
132+
description = "Assembles Kotlin docs with Dokka"
133+
classifier = "javadoc"
134+
from tasks.dokka as Object
135+
}
136+
137+
publishing {
138+
repositories {
139+
maven {
140+
name = "GitHubPackages"
141+
url = uri "https://maven.pkg.github.com/projectessentials/projectessentials-core"
142+
credentials {
143+
username = System.getenv("GradleUser")
144+
password = System.getenv("GradlePass")
145+
}
146+
}
147+
}
148+
publications {
149+
gpr(MavenPublication) {
150+
from components.java
151+
artifact dokkaJar
152+
}
153+
}
154+
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ kotlin_version=1.3.70
1515
kotlinx_serialization_version=0.20.0
1616
dokka_version=0.10.1
1717
gson_version=2.8.6
18+
json_version=20190722
1819
permissions_version=v1.15.2-1.+
1920
cooldown_version=v1.15.2-1.+
2021
module_version=1.15.2-1.1.0
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.mairwunnx.projectessentials.core.module
2+
3+
interface IModule {
4+
fun init()
5+
fun reload() = Unit
6+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package com.mairwunnx.projectessentials.core.module
2+
3+
@Target(AnnotationTarget.CLASS)
4+
annotation class Module(
5+
val name: String,
6+
val version: String
7+
)

0 commit comments

Comments
 (0)