You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
827 B
32 lines
827 B
var path = require('path') |
|
var fs = require('fs') |
|
var noop = require('noop-logger') |
|
var releaseFolder = require('./util').releaseFolder |
|
var gypbuild = require('./gypbuild') |
|
var error = require('./error') |
|
|
|
function build (opts, version, cb) { |
|
var log = opts.log || noop |
|
var release = releaseFolder(opts, version) |
|
|
|
log.verbose('starting node-gyp process') |
|
gypbuild(opts, version, function (err) { |
|
if (err) return cb(err) |
|
log.verbose('done node-gyp\'ing') |
|
done() |
|
}) |
|
|
|
function done () { |
|
fs.readdir(release, function (err, files) { |
|
if (err) return cb(err) |
|
for (var i = 0; i < files.length; i++) { |
|
if (/\.node$/i.test(files[i])) { |
|
return cb(null, path.join(release, files[i]), files[i]) |
|
} |
|
} |
|
cb(error.noBuild(release)) |
|
}) |
|
} |
|
} |
|
|
|
module.exports = build
|
|
|