Just load from jars rather than from classes, new versioning system
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ class InjectPlugin: Plugin<Project> {
|
||||
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)
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user