inititial messy commit
This commit is contained in:
43
src/main/kotlin/com/openosrs/injector/Inject.kt
Normal file
43
src/main/kotlin/com/openosrs/injector/Inject.kt
Normal 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())
|
||||
}
|
||||
}
|
||||
20
src/main/kotlin/com/openosrs/injector/InjectPlugin.kt
Normal file
20
src/main/kotlin/com/openosrs/injector/InjectPlugin.kt
Normal 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)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
src/main/kotlin/com/openosrs/injector/Injextention.kt
Normal file
14
src/main/kotlin/com/openosrs/injector/Injextention.kt
Normal 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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user