mirror of https://github.com/halo-dev/halo
75 lines
1.9 KiB
Groovy
75 lines
1.9 KiB
Groovy
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']
|
|
}
|