42 lines
1.1 KiB
Groovy
42 lines
1.1 KiB
Groovy
import groovy.json.JsonSlurper
|
|
/*
|
|
* This file was generated by the Gradle 'init' task.
|
|
*
|
|
* This is a general purpose Gradle build.
|
|
* To learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.7/samples
|
|
*/
|
|
|
|
def getLatestNodeVersionForMajor(int majorVersion) {
|
|
def nodeDistUrl = 'https://nodejs.org/dist/index.json'
|
|
def jsonSlurper = new JsonSlurper()
|
|
def nodeVersions = jsonSlurper.parseText(nodeDistUrl.toURL().text)
|
|
|
|
nodeVersions.find { it.version.startsWith("v${majorVersion}.") }.version.substring(1)
|
|
}
|
|
|
|
plugins {
|
|
id "com.dorongold.task-tree" version "3.0.0"
|
|
id "com.github.node-gradle.node" version "7.0.2"
|
|
}
|
|
|
|
node {
|
|
download = true
|
|
version = getLatestNodeVersionForMajor(20)
|
|
npmInstallCommand = 'clean-install'
|
|
}
|
|
|
|
npmInstall {
|
|
inputs.files file('package.json'), file('package-lock.json')
|
|
outputs.dir file('node_modules')
|
|
}
|
|
|
|
task createOutDir {
|
|
doLast {
|
|
file("out").mkdirs()
|
|
}
|
|
}
|
|
|
|
task compileAdblockList(type: NpmTask) {
|
|
dependsOn npmInstall, createOutDir
|
|
args = ['run', 'compile']
|
|
} |