diff --git a/build.gradle.kts b/build.gradle.kts index 533b983..4f2615f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,10 +3,12 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("java-gradle-plugin") kotlin("jvm") version "1.3.50" + `maven-publish` } group = "com.openosrs" -version = "1.5.37-SNAPSHOT" +version = "1.0.0" +extra["mainver"] = "1.5.37-SNAPSHOT" repositories { mavenCentral() @@ -21,7 +23,7 @@ dependencies { annotationProcessor("org.projectlombok:lombok:1.18.10") implementation(kotlin("stdlib-jdk8")) - implementation("com.openosrs:deobfuscator:${project.version}") { + implementation("com.openosrs:deobfuscator:${extra["mainver"]}") { exclude("org.slf4j", "slf4j-simple") } implementation("com.google.guava:guava:28.1-jre") @@ -29,10 +31,8 @@ dependencies { implementation("org.projectlombok:lombok:1.18.10") testImplementation("junit:junit:4.12") - testImplementation("com.openosrs:mixins:${project.version}") - // testRuntimeOnly("com.openosrs.rs:rs-client:${project.version}") - testCompileOnly("com.openosrs.rs:runescape-api:${project.version}") - // testRuntimeOnly("net.runelite.rs:vanilla") + testImplementation("com.openosrs:mixins:${extra["mainver"]}") + testCompileOnly("com.openosrs.rs:runescape-api:${extra["mainver"]}") } gradlePlugin { diff --git a/src/main/java/com/openosrs/injector/Injection.java b/src/main/java/com/openosrs/injector/Injection.java index 577b30a..77070d7 100644 --- a/src/main/java/com/openosrs/injector/Injection.java +++ b/src/main/java/com/openosrs/injector/Injection.java @@ -25,12 +25,12 @@ public class Injection extends InjectData implements InjectTaskHandler { private static final Logger log = Logging.getLogger(Injection.class); - public Injection(File vanilla, FileTree rsclient, FileTree rsapi, FileTree mixins) throws Injexception, IOException + public Injection(File vanilla, File rsclient, File mixins, FileTree rsapi) throws Injexception, IOException { super( JarUtil.loadJar(vanilla), - JarUtil.loadClasses(rsclient.getFiles()), - JarUtil.loadClasses(mixins.getFiles()), + JarUtil.loadJar(rsclient), + JarUtil.loadJar(mixins), new RSApi(rsapi) ); } diff --git a/src/main/kotlin/com/openosrs/injector/Inject.kt b/src/main/kotlin/com/openosrs/injector/Inject.kt index 47628ac..e694252 100644 --- a/src/main/kotlin/com/openosrs/injector/Inject.kt +++ b/src/main/kotlin/com/openosrs/injector/Inject.kt @@ -1,9 +1,7 @@ package com.openosrs.injector import com.openosrs.injector.injection.InjectTaskHandler -import com.openosrs.injector.rsapi.RSApi import org.gradle.api.DefaultTask -import org.gradle.api.tasks.InputDirectory import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction @@ -12,29 +10,29 @@ open class Inject: DefaultTask() { @InputFile val vanilla = project.objects.fileProperty() - @InputDirectory - val rsclient = project.objects.directoryProperty() + @InputFile + val rsclient = project.objects.fileProperty() - @InputDirectory - val mixins = project.objects.directoryProperty() + @InputFile + val mixins = project.objects.fileProperty() - @InputDirectory - val rsapi = project.objects.directoryProperty() + @InputFile + val rsapi = project.objects.fileProperty() @OutputFile val output = project.objects.fileProperty().convention { - project.file("${project.buildDir}/libs/${project.name}-${project.version}") + project.file("${project.buildDir}/libs/${project.name}-${project.version}.jar") } @TaskAction fun inject() { val vanilla = this.vanilla.get().asFile - val rsclient = this.rsclient.asFileTree - val mixins = this.mixins.asFileTree - val rsapi = this.rsapi.asFileTree + val rsclient = this.rsclient.get().asFile + val mixins = this.mixins.get().asFile + val rsapi = project.zipTree(this.rsapi) val output = this.output.asFile - val injector: InjectTaskHandler = Injection(vanilla, rsclient, rsapi, mixins) + val injector: InjectTaskHandler = Injection(vanilla, rsclient, mixins, rsapi) injector.inject() diff --git a/src/main/kotlin/com/openosrs/injector/InjectPlugin.kt b/src/main/kotlin/com/openosrs/injector/InjectPlugin.kt index bb38c0a..4e5ce2e 100644 --- a/src/main/kotlin/com/openosrs/injector/InjectPlugin.kt +++ b/src/main/kotlin/com/openosrs/injector/InjectPlugin.kt @@ -7,7 +7,7 @@ class InjectPlugin: Plugin { override fun apply(project: Project) { val extension = project.extensions.create("injector", Injextention::class.java, project) - project.tasks.register("inject", Inject::class.java) { + project.tasks.create("inject", Inject::class.java) { it.vanilla.set(extension.vanilla) it.rsclient.set(extension.rsclient) it.mixins.set(extension.mixins) diff --git a/src/main/kotlin/com/openosrs/injector/Injextention.kt b/src/main/kotlin/com/openosrs/injector/Injextention.kt index f9eecbf..f224d93 100644 --- a/src/main/kotlin/com/openosrs/injector/Injextention.kt +++ b/src/main/kotlin/com/openosrs/injector/Injextention.kt @@ -1,14 +1,12 @@ package com.openosrs.injector import org.gradle.api.Project -import org.gradle.api.model.ObjectFactory -import javax.inject.Inject open class Injextention(project: Project) { val vanilla = project.objects.fileProperty() - val rsclient = project.objects.directoryProperty() - val mixins = project.objects.directoryProperty() - val rsapi = project.objects.directoryProperty() + val rsclient = project.objects.fileProperty() + val mixins = project.objects.fileProperty() + val rsapi = project.objects.fileProperty() val output = project.objects.fileProperty() }