Files
cypress/scripts/binary/darwin.coffee
2017-06-29 14:06:45 -04:00

60 lines
1.3 KiB
CoffeeScript

fs = require("fs-extra")
cp = require("child_process")
path = require("path")
sign = require("electron-osx-sign")
plist = require("plist")
Promise = require("bluebird")
meta = require("./meta")
Base = require("./base")
sign = Promise.promisify(sign)
fs = Promise.promisifyAll(fs)
class Darwin extends Base
buildPathForElectron: ->
@buildPathToAppFolder()
buildPathToApp: ->
path.join @buildPathToAppFolder(), "Cypress.app"
buildPathToAppExecutable: ->
path.join @buildPathToApp(), "Contents", "MacOS", "Cypress"
buildPathToAppResources: ->
path.join @buildPathToApp(), "Contents", "Resources", "app"
runSmokeTest: ->
@_runSmokeTest()
runProjectTest: ->
@_runProjectTest()
runFailingProjectTest: ->
@_runFailingProjectTest()
codeSign: ->
@log("#codeSign")
sign({
app: @buildPathToApp()
platform: "darwin"
verbose: true
})
verifyAppCanOpen: ->
@log("#verifyAppCanOpen")
new Promise (resolve, reject) =>
sp = cp.spawn "spctl", ["-a", "-vvvv", @buildPathToApp()], {stdio: "inherit"}
sp.on "exit", (code) ->
if code is 0
resolve()
else
reject new Error("Verifying App via GateKeeper failed")
deploy: ->
@build()
.return(@)
module.exports = Darwin