inititial messy commit

This commit is contained in:
Lucwousin
2019-10-28 17:44:44 +01:00
commit a1ae8ac6ae
44 changed files with 5368 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
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
open class Inject: DefaultTask() {
@InputFile
val vanilla = project.objects.fileProperty()
@InputDirectory
val rsclient = project.objects.directoryProperty()
@InputDirectory
val mixins = project.objects.directoryProperty()
@InputDirectory
val rsapi = project.objects.directoryProperty()
@OutputFile
val output = project.objects.fileProperty().convention {
project.file("${project.buildDir}/libs/${project.name}-${project.version}")
}
@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 output = this.output.asFile
val injector: InjectTaskHandler = Injection(vanilla, rsclient, rsapi, mixins)
injector.inject()
injector.save(output.get())
}
}

View File

@@ -0,0 +1,20 @@
package com.openosrs.injector
import org.gradle.api.Plugin
import org.gradle.api.Project
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) {
it.vanilla.set(extension.vanilla)
it.rsclient.set(extension.rsclient)
it.mixins.set(extension.mixins)
it.rsapi.set(extension.rsapi)
if (extension.output.isPresent) {
it.output.set(extension.output)
}
}
}
}

View File

@@ -0,0 +1,14 @@
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 output = project.objects.fileProperty()
}