diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 4876d70..82d18a6 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,12 +4,24 @@
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -57,17 +53,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -131,52 +116,53 @@
- {
+ "keyToString": {
+ "Downloaded.Files.Path.Enabled": "false",
+ "Gradle.Build EntityLib.executor": "Run",
+ "Gradle.EntityLib [build].executor": "Run",
+ "Gradle.EntityLib [dependencies].executor": "Run",
+ "Gradle.EntityLib [publish].executor": "Run",
+ "Gradle.EntityLib [runServer] (1).executor": "Run",
+ "Gradle.EntityLib [runServer].executor": "Run",
+ "Gradle.EntityLib:api [build].executor": "Run",
+ "Gradle.EntityLib:code-gen [:code-gen:Main.main()].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanAllRunTaskCaches].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanCustomServiceCaches].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanPaperCache].executor": "Run",
+ "Gradle.EntityLib:test-plugin [cleanPaperPluginsCache].executor": "Run",
+ "Gradle.EntityLib:test-plugin [publish].executor": "Run",
+ "Gradle.EntityLib:test-plugin [runServer].executor": "Run",
+ "Gradle.EntityLib:test-plugin [shadowJar].executor": "Run",
+ "JAR Application.Unnamed.executor": "Run",
+ "Repository.Attach.Annotations": "false",
+ "Repository.Attach.JavaDocs": "false",
+ "Repository.Attach.Sources": "false",
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "WebServerToolWindowFactoryState": "false",
+ "git-widget-placeholder": "feat/BuildChainRework",
+ "ignore.virus.scanning.warn.message": "true",
+ "jdk.selected.JAVA_MODULE": "corretto-17",
+ "kotlin-language-version-configured": "true",
+ "last_opened_file_path": "C:/Development/EntityLib",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "project.structure.last.edited": "Project",
+ "project.structure.proportion": "0.15",
+ "project.structure.side.proportion": "0.2",
+ "settings.editor.selected.configurable": "reference.settingsdialog.project.gradle",
+ "vue.rearranger.settings.migration": "true"
},
- "keyToStringList": {
- "kotlin-gradle-user-dirs": [
- "/home/tofaa/.gradle"
+ "keyToStringList": {
+ "kotlin-gradle-user-dirs": [
+ "C:\\Users\\Bram\\.gradle"
]
}
-}]]>
+}
@@ -186,7 +172,7 @@
-
+
@@ -444,6 +430,8 @@
+
+
diff --git a/api/build.gradle.kts b/api/build.gradle.kts
index e85b290..af548d8 100644
--- a/api/build.gradle.kts
+++ b/api/build.gradle.kts
@@ -1,3 +1,8 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
+
dependencies {
api(libs.jetbrains.annotations)
diff --git a/build.gradle.kts b/build.gradle.kts
index 93a0f48..ba6a196 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,59 +1,8 @@
plugins {
- id("java")
+ entitylib.`java-conventions`
id("java-library")
- id("maven-publish")
}
-allprojects {
- apply(plugin = "java")
- apply(plugin = "java-library")
- apply(plugin = "maven-publish")
-
- group = "me.tofaa.entitylib"
- description = rootProject.name
- version = "2.4.1-SNAPSHOT"
-
- java.sourceCompatibility = JavaVersion.VERSION_1_8
- java.targetCompatibility = JavaVersion.VERSION_1_8
-
- java {
- withSourcesJar()
- withJavadocJar()
- }
-
- repositories {
- mavenCentral()
- maven {
- url = uri("https://jitpack.io/")
- }
- maven {
- name = "papermc"
- url = uri("https://repo.papermc.io/repository/maven-public/")
- }
- maven {
- name = "codemc-repo"
- url = uri("https://repo.codemc.io/repository/maven-releases/")
- }
- maven {
- url = uri("https://oss.sonatype.org/content/groups/public/")
- }
- maven {
- url = uri("https://repo.codemc.org/repository/maven-public/")
- }
- }
-
- publishing {
- publications {
- create("maven") {
- groupId = project.group.toString()
- artifactId = project.name
- version = project.version.toString()
- from(components["java"])
- }
- }
- }
-}
-
-dependencies {
- compileOnlyApi(libs.packetevents.spigot)
-}
+group = "me.tofaa.entitylib"
+description = rootProject.name
+version = "2.4.1-SNAPSHOT"
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
new file mode 100644
index 0000000..77bf5d3
--- /dev/null
+++ b/buildSrc/build.gradle.kts
@@ -0,0 +1,13 @@
+plugins {
+ `kotlin-dsl`
+}
+
+kotlin {
+ compilerOptions {
+ jvmToolchain(8)
+ }
+}
+
+repositories {
+ mavenCentral()
+}
\ No newline at end of file
diff --git a/buildSrc/src/main/kotlin/entitylib.java-conventions.gradle.kts b/buildSrc/src/main/kotlin/entitylib.java-conventions.gradle.kts
new file mode 100644
index 0000000..4ed76ee
--- /dev/null
+++ b/buildSrc/src/main/kotlin/entitylib.java-conventions.gradle.kts
@@ -0,0 +1,52 @@
+plugins {
+ java
+ id("maven-publish")
+}
+
+group = rootProject.group
+version = rootProject.version
+description = project.description
+
+repositories {
+ mavenLocal()
+ mavenCentral()
+ maven("https://repo.codemc.io/repository/maven-releases/")
+ maven("https://repo.codemc.io/repository/maven-snapshots/")
+}
+
+java {
+ withSourcesJar()
+ withJavadocJar()
+ disableAutoTargetJvm()
+
+ toolchain.languageVersion = JavaLanguageVersion.of(21)
+}
+
+tasks {
+ processResources {
+ inputs.property("version", project.version)
+ filesMatching(listOf("plugin.yml", "velocity-plugin.json")) {
+ expand("version" to project.version)
+ }
+ }
+
+ withType {
+ options.encoding = Charsets.UTF_8.name()
+ // Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
+ // See https://openjdk.java.net/jeps/247 for more information.
+ options.release = 8
+ }
+
+ publishing {
+ publications {
+ create("maven") {
+ groupId = project.group.toString()
+ artifactId = project.name
+ version = project.version.toString()
+ from(components["java"])
+ }
+ }
+ }
+
+ defaultTasks("build")
+}
\ No newline at end of file
diff --git a/code-gen/build.gradle.kts b/code-gen/build.gradle.kts
index 7af00c4..880dfbe 100644
--- a/code-gen/build.gradle.kts
+++ b/code-gen/build.gradle.kts
@@ -1,3 +1,7 @@
+plugins {
+ entitylib.`java-conventions`
+}
+
dependencies {
implementation(libs.gson)
implementation(libs.javapoet)
diff --git a/common/build.gradle.kts b/common/build.gradle.kts
index 70254d5..d6eb1d7 100644
--- a/common/build.gradle.kts
+++ b/common/build.gradle.kts
@@ -1,3 +1,8 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
+
dependencies {
api(project(":api"))
}
diff --git a/model-engine-addon/build.gradle.kts b/model-engine-addon/build.gradle.kts
index 0c60c32..1722ca7 100644
--- a/model-engine-addon/build.gradle.kts
+++ b/model-engine-addon/build.gradle.kts
@@ -1,3 +1,8 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
+
repositories {
maven {
url = uri("https://mvn.lumine.io/repository/maven-public/")
diff --git a/platforms/spigot/build.gradle.kts b/platforms/spigot/build.gradle.kts
index 63bfe4f..1c14384 100644
--- a/platforms/spigot/build.gradle.kts
+++ b/platforms/spigot/build.gradle.kts
@@ -1,9 +1,14 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
+
+repositories {
+ maven("https://repo.papermc.io/repository/maven-public/")
+}
+
dependencies {
api(project(":common"))
compileOnly(libs.paper)
compileOnly(libs.packetevents.spigot)
}
-
-java {
- disableAutoTargetJvm()
-}
diff --git a/platforms/standalone/build.gradle.kts b/platforms/standalone/build.gradle.kts
index 29c2ca3..42f388c 100644
--- a/platforms/standalone/build.gradle.kts
+++ b/platforms/standalone/build.gradle.kts
@@ -1,3 +1,8 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
+
dependencies {
api(project(":common"))
compileOnly(libs.packetevents.api)
diff --git a/platforms/velocity/build.gradle.kts b/platforms/velocity/build.gradle.kts
index d508b46..7c4791f 100644
--- a/platforms/velocity/build.gradle.kts
+++ b/platforms/velocity/build.gradle.kts
@@ -1,23 +1,22 @@
+plugins {
+ entitylib.`java-conventions`
+ id("java-library")
+}
repositories {
- maven {
- name = "papermc"
- url = uri("https://repo.papermc.io/repository/maven-public/")
- }
+ maven("https://repo.papermc.io/repository/maven-public/")
}
-tasks {
- compileJava {
- options.release.set(17)
- }
-}
-
-java.toolchain.languageVersion.set(JavaLanguageVersion.of(17))
-
-
dependencies {
api(project(":common"))
compileOnly(libs.velocity)
compileOnly(libs.packetevents.velocity)
annotationProcessor(libs.velocity)
}
+
+tasks {
+ withType {
+ options.encoding = Charsets.UTF_8.name()
+ options.release = 17
+ }
+}
diff --git a/test-plugin/build.gradle.kts b/test-plugin/build.gradle.kts
index c36a2b7..56baa3f 100644
--- a/test-plugin/build.gradle.kts
+++ b/test-plugin/build.gradle.kts
@@ -1,34 +1,11 @@
plugins {
- id("java")
+ entitylib.`java-conventions`
alias(libs.plugins.shadow)
alias(libs.plugins.run.paper)
}
-group = "me.tofaa.peentitymeta"
-version = "1.0-SNAPSHOT"
-
-java {
- toolchain {
- languageVersion.set(JavaLanguageVersion.of(21))
- }
- disableAutoTargetJvm()
-}
-
repositories {
- mavenCentral()
- repositories {
- maven("https://repo.papermc.io/repository/maven-public/")
- }
- maven {
- name = "codemc-repo"
- url = uri("https://repo.codemc.io/repository/maven-releases/")
- }
- maven {
- url = uri("https://oss.sonatype.org/content/groups/public/")
- }
- maven {
- url = uri("https://repo.codemc.org/repository/maven-public/")
- }
+ maven("https://repo.papermc.io/repository/maven-public/")
}
dependencies {
diff --git a/test-plugin/src/main/resources/plugin.yml b/test-plugin/src/main/resources/plugin.yml
index 2c7deb1..1e9762b 100644
--- a/test-plugin/src/main/resources/plugin.yml
+++ b/test-plugin/src/main/resources/plugin.yml
@@ -1,5 +1,5 @@
name: EntityLibPlugin
-version: 1.0.0
+version: ${version}
depend:
- packetevents
main: me.tofaa.testentitylib.TestEntityLibPlugin