This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
ScriptCraft/typescript.build.gradle

73 lines
1.4 KiB
Groovy

def typescriptOut = new File(buildDir, 'generated/typescript')
def typescriptRoot = 'src/main/js'
def typescriptRootFile = new File(rootDir.absolutePath, typescriptRoot)
task typescript(group: 'build') {
inputs.dir typescriptRootFile
outputs.dir typescriptOut
doFirst {
project.delete {
delete typescriptOut
}
typescriptOut.mkdirs()
project.exec {
workingDir typescriptRootFile
executable 'npm'
args 'run', 'build', '--'
args '--outDir', new File(typescriptOut, 'scriptcraft').absolutePath
}
}
}
task eslint(group: 'verification', type: Exec) {
workingDir typescriptRootFile
executable 'npm'
args 'run', 'eslint'
}
processResources.dependsOn typescript
def typedocOut = new File(buildDir, 'typedoc')
task typedoc(group: 'documentation') {
inputs.dir typescriptRootFile
outputs.dir typedocOut
doFirst {
project.delete {
delete typedocOut
}
typedocOut.mkdirs()
project.exec {
workingDir typescriptRootFile
executable 'npm'
args 'run', 'typedoc', '--'
args '--out', typedocOut.absolutePath
}
}
}
processResources {
from typescriptOut.absolutePath
}
task typedocJar(type: Jar) {
classifier 'typedoc'
from typedocOut
}
typedocJar.dependsOn typedoc
artifacts {
archives typedocJar
}