Just load from jars rather than from classes, new versioning system

This commit is contained in:
Lucwousin
2019-10-31 00:48:05 +01:00
parent 8f2adb8185
commit eb26b2d145
5 changed files with 24 additions and 28 deletions

View File

@@ -3,10 +3,12 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins { plugins {
id("java-gradle-plugin") id("java-gradle-plugin")
kotlin("jvm") version "1.3.50" kotlin("jvm") version "1.3.50"
`maven-publish`
} }
group = "com.openosrs" group = "com.openosrs"
version = "1.5.37-SNAPSHOT" version = "1.0.0"
extra["mainver"] = "1.5.37-SNAPSHOT"
repositories { repositories {
mavenCentral() mavenCentral()
@@ -21,7 +23,7 @@ dependencies {
annotationProcessor("org.projectlombok:lombok:1.18.10") annotationProcessor("org.projectlombok:lombok:1.18.10")
implementation(kotlin("stdlib-jdk8")) implementation(kotlin("stdlib-jdk8"))
implementation("com.openosrs:deobfuscator:${project.version}") { implementation("com.openosrs:deobfuscator:${extra["mainver"]}") {
exclude("org.slf4j", "slf4j-simple") exclude("org.slf4j", "slf4j-simple")
} }
implementation("com.google.guava:guava:28.1-jre") implementation("com.google.guava:guava:28.1-jre")
@@ -29,10 +31,8 @@ dependencies {
implementation("org.projectlombok:lombok:1.18.10") implementation("org.projectlombok:lombok:1.18.10")
testImplementation("junit:junit:4.12") testImplementation("junit:junit:4.12")
testImplementation("com.openosrs:mixins:${project.version}") testImplementation("com.openosrs:mixins:${extra["mainver"]}")
// testRuntimeOnly("com.openosrs.rs:rs-client:${project.version}") testCompileOnly("com.openosrs.rs:runescape-api:${extra["mainver"]}")
testCompileOnly("com.openosrs.rs:runescape-api:${project.version}")
// testRuntimeOnly("net.runelite.rs:vanilla")
} }
gradlePlugin { gradlePlugin {

View File

@@ -25,12 +25,12 @@ public class Injection extends InjectData implements InjectTaskHandler
{ {
private static final Logger log = Logging.getLogger(Injection.class); 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( super(
JarUtil.loadJar(vanilla), JarUtil.loadJar(vanilla),
JarUtil.loadClasses(rsclient.getFiles()), JarUtil.loadJar(rsclient),
JarUtil.loadClasses(mixins.getFiles()), JarUtil.loadJar(mixins),
new RSApi(rsapi) new RSApi(rsapi)
); );
} }

View File

@@ -1,9 +1,7 @@
package com.openosrs.injector package com.openosrs.injector
import com.openosrs.injector.injection.InjectTaskHandler import com.openosrs.injector.injection.InjectTaskHandler
import com.openosrs.injector.rsapi.RSApi
import org.gradle.api.DefaultTask import org.gradle.api.DefaultTask
import org.gradle.api.tasks.InputDirectory
import org.gradle.api.tasks.InputFile import org.gradle.api.tasks.InputFile
import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
@@ -12,29 +10,29 @@ open class Inject: DefaultTask() {
@InputFile @InputFile
val vanilla = project.objects.fileProperty() val vanilla = project.objects.fileProperty()
@InputDirectory @InputFile
val rsclient = project.objects.directoryProperty() val rsclient = project.objects.fileProperty()
@InputDirectory @InputFile
val mixins = project.objects.directoryProperty() val mixins = project.objects.fileProperty()
@InputDirectory @InputFile
val rsapi = project.objects.directoryProperty() val rsapi = project.objects.fileProperty()
@OutputFile @OutputFile
val output = project.objects.fileProperty().convention { 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 @TaskAction
fun inject() { fun inject() {
val vanilla = this.vanilla.get().asFile val vanilla = this.vanilla.get().asFile
val rsclient = this.rsclient.asFileTree val rsclient = this.rsclient.get().asFile
val mixins = this.mixins.asFileTree val mixins = this.mixins.get().asFile
val rsapi = this.rsapi.asFileTree val rsapi = project.zipTree(this.rsapi)
val output = this.output.asFile val output = this.output.asFile
val injector: InjectTaskHandler = Injection(vanilla, rsclient, rsapi, mixins) val injector: InjectTaskHandler = Injection(vanilla, rsclient, mixins, rsapi)
injector.inject() injector.inject()

View File

@@ -7,7 +7,7 @@ class InjectPlugin: Plugin<Project> {
override fun apply(project: Project) { override fun apply(project: Project) {
val extension = project.extensions.create("injector", Injextention::class.java, 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.vanilla.set(extension.vanilla)
it.rsclient.set(extension.rsclient) it.rsclient.set(extension.rsclient)
it.mixins.set(extension.mixins) it.mixins.set(extension.mixins)

View File

@@ -1,14 +1,12 @@
package com.openosrs.injector package com.openosrs.injector
import org.gradle.api.Project import org.gradle.api.Project
import org.gradle.api.model.ObjectFactory
import javax.inject.Inject
open class Injextention(project: Project) { open class Injextention(project: Project) {
val vanilla = project.objects.fileProperty() val vanilla = project.objects.fileProperty()
val rsclient = project.objects.directoryProperty() val rsclient = project.objects.fileProperty()
val mixins = project.objects.directoryProperty() val mixins = project.objects.fileProperty()
val rsapi = project.objects.directoryProperty() val rsapi = project.objects.fileProperty()
val output = project.objects.fileProperty() val output = project.objects.fileProperty()
} }