halo/ui/build.gradle

75 lines
1.9 KiB
Groovy
Raw Normal View History

plugins {
id 'idea'
id 'com.github.node-gradle.node'
id 'org.openapi.generator' version '7.6.0'
}
idea {
module {
excludeDirs += file('node_modules/')
excludeDirs += file('packages').listFiles().collect {
file(it.path + '/node_modules/')
}
excludeDirs += file('packages').listFiles().collect {
file(it.path + '/dist/')
}
}
}
tasks.register('clean', Delete) {
delete layout.buildDirectory
delete fileTree('packages') {
include '*/dist/**'
}
}
tasks.register('build', PnpmTask) {
dependsOn tasks.named('check'), tasks.named('buildPackages')
pnpmCommand = ['run', 'build']
inputs.files(fileTree(layout.projectDirectory) {
include 'console-src/**', 'uc-src/**', 'src/**', 'public/**', '*.js', '*.json', '*.yaml', 'index.html'
exclude '**/node_modules/**', '**/build/**', '**/dist/**'
})
outputs.dir(layout.buildDirectory.dir('dist'))
configure {
shouldRunAfter tasks.named('clean')
}
}
tasks.register('buildPackages', PnpmTask) {
dependsOn tasks.named('pnpmInstall')
inputs.files(fileTree('packages') {
exclude '**/node_modules/**', '**/dist/**'
})
inputs.file('package.json')
pnpmCommand = ['run', 'build:packages']
outputs.files(fileTree('packages') {
include '*/dist/**'
})
}
tasks.register('test', PnpmTask) {
dependsOn tasks.named('buildPackages')
pnpmCommand = ['run', 'test:unit']
shouldRunAfter tasks.named('lint'), tasks.named('typecheck')
}
tasks.register('lint', PnpmTask) {
dependsOn tasks.named('buildPackages')
pnpmCommand = ['run', 'lint']
}
tasks.register('typecheck', PnpmTask) {
dependsOn tasks.named('buildPackages')
pnpmCommand = ['run', 'typecheck']
}
tasks.register('check') {
dependsOn tasks.named('lint'), tasks.named('typecheck'), tasks.named('test')
}
tasks.register('dev', PnpmTask) {
dependsOn tasks.named('buildPackages')
pnpmCommand = ['run', 'dev']
}