Download NodeJS and include its "lib/*.js" files in jar archive

This commit is contained in:
Ben Liblit 2018-01-18 15:48:07 -06:00
parent aabace3241
commit 8058acb18b
1 changed files with 35 additions and 5 deletions

View File

@ -1,8 +1,3 @@
sourceSets.main {
java.srcDirs = ['src']
resources.srcDirs = ['dat']
}
dependencies {
compile(
'commons-io:commons-io:2.4',
@ -14,3 +9,38 @@ dependencies {
project(':com.ibm.wala.util'),
)
}
task downloadNodeJS(type: de.undercouch.gradle.tasks.download.Download) {
src 'https://api.github.com/repos/nodejs/node/zipball/0a604e92e258c5ee2752d763e50721e35053f135'
dest new File(temporaryDir, 'nodejs.zip')
overwrite false
}
task verifyNodeJS(type: VerifyWithStamp, dependsOn: downloadNodeJS) {
src downloadNodeJS.outputs.files[0]
checksum '33c5ba7a5d45644e70d268d8ad3e57df'
}
task unpackNodeJSLib(type: Sync, dependsOn: verifyNodeJS) {
println "unpack zip tree \"$verifyNodeJS.src\" into \"$temporaryDir\""
from(zipTree(verifyNodeJS.src)) {
eachFile { details ->
if (details.relativePath.pathString.startsWith('nodejs-node-0a604e9/lib/')) {
def renamedRelative = new RelativePath(!details.directory, 'core-modules', details.relativePath.lastName)
details.relativePath = renamedRelative
} else
details.exclude()
}
}
into temporaryDir
includeEmptyDirs = false
}
sourceSets.main {
java.srcDirs = ['src']
resources.srcDirs = [
'dat',
unpackNodeJSLib
]
}