mirror of
https://github.com/S2-/gitlit
synced 2025-08-04 13:10:09 +02:00
packager
This commit is contained in:
90
app/node_modules/electron-osx-sign/test/util.js
generated
vendored
Normal file
90
app/node_modules/electron-osx-sign/test/util.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
var path = require('path')
|
||||
var test = require('tape')
|
||||
|
||||
var download = require('electron-download')
|
||||
var mkdirp = require('mkdirp')
|
||||
var rimraf = require('rimraf')
|
||||
var series = require('run-series')
|
||||
var compareVersion = require('compare-version')
|
||||
var extract = require('extract-zip')
|
||||
|
||||
var config = require('./config')
|
||||
|
||||
var ORIGINAL_CWD = process.cwd()
|
||||
var WORK_CWD = path.join(__dirname, 'work')
|
||||
|
||||
var versions = config.versions
|
||||
var archs = ['x64']
|
||||
var platforms = ['darwin', 'mas']
|
||||
var slice = Array.prototype.slice
|
||||
|
||||
var releases = []
|
||||
versions.forEach(function (version) {
|
||||
archs.forEach(function (arch) {
|
||||
platforms.forEach(function (platform) {
|
||||
// Only versions later than 0.34.0 offer mas builds
|
||||
if (platform !== 'mas' || compareVersion(version, '0.34.0') >= 0) {
|
||||
releases.push({
|
||||
arch: arch,
|
||||
platform: platform,
|
||||
version: version
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
exports.generateReleaseName = function getExtractName (release) {
|
||||
return 'v' + release.version + '-' + release.platform + '-' + release.arch
|
||||
}
|
||||
|
||||
exports.generateAppPath = function getExtractName (release) {
|
||||
return path.join(exports.generateReleaseName(release), 'Electron.app')
|
||||
}
|
||||
|
||||
exports.downloadElectrons = function downloadElectrons (callback) {
|
||||
series(releases.map(function (release) {
|
||||
return function (cb) {
|
||||
download(release, function (err, zipPath) {
|
||||
if (err) return callback(err)
|
||||
extract(zipPath, {dir: path.join(WORK_CWD, exports.generateReleaseName(release))}, cb)
|
||||
})
|
||||
}
|
||||
}), callback)
|
||||
}
|
||||
|
||||
exports.setup = function setup () {
|
||||
test('setup', function (t) {
|
||||
mkdirp(WORK_CWD, function (err) {
|
||||
if (err) {
|
||||
t.end(err)
|
||||
} else {
|
||||
process.chdir(WORK_CWD)
|
||||
t.end()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
exports.teardown = function teardown () {
|
||||
test('teardown', function (t) {
|
||||
process.chdir(ORIGINAL_CWD)
|
||||
rimraf(WORK_CWD, function (err) {
|
||||
t.end(err)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
exports.forEachRelease = function forEachRelease (cb) {
|
||||
releases.forEach(cb)
|
||||
}
|
||||
|
||||
exports.testAllReleases = function testAllReleases (name, createTest /*, ...createTestArgs */) {
|
||||
var args = slice.call(arguments, 2)
|
||||
exports.setup()
|
||||
exports.forEachRelease(function (release) {
|
||||
test(name + ':' + exports.generateReleaseName(release),
|
||||
createTest.apply(null, [release].concat(args)))
|
||||
})
|
||||
exports.teardown()
|
||||
}
|
Reference in New Issue
Block a user