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

@@ -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)
);
}

View File

@@ -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()

View File

@@ -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)

View File

@@ -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()
}