mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-11 18:32:20 +08:00
8133cc88d6
Summary: - We now make verbose log files continuously as you use the app - We ship the logs to LogStash via S3 when an exception occurs - We log the DatabaseStore, ActionBridge and Analytics packages - We are now on the latest version of Electron 0.26.0 - We are now on Chrome 42 and io.js 1.4.3 - We should be setup to use ASAR soon. Update atom.sh to reflect that we're now electron oniguruma was unnecessary correctly find log files that haven't been shipped yet Fix a small issue with nodeIsVisible after upgrade to Chrome 42 Delete old logs, better logging from database store, don't ship empty logs Test Plan: Run existing tests Reviewers: evan Reviewed By: evan Differential Revision: https://phab.nylas.com/D1531
52 lines
1.8 KiB
CoffeeScript
52 lines
1.8 KiB
CoffeeScript
fs = require 'fs'
|
|
path = require 'path'
|
|
_ = require 'underscore'
|
|
|
|
module.exports = (grunt) ->
|
|
{spawn} = require('./task-helpers')(grunt)
|
|
|
|
fillTemplate = (filePath, data) ->
|
|
template = _.template(String(fs.readFileSync("#{filePath}.in")))
|
|
filled = template(data)
|
|
|
|
outputPath = path.join(grunt.config.get('atom.buildDir'), path.basename(filePath))
|
|
grunt.file.write(outputPath, filled)
|
|
outputPath
|
|
|
|
getInstalledSize = (buildDir, callback) ->
|
|
cmd = 'du'
|
|
args = ['-sk', path.join(buildDir, 'Nylas')]
|
|
spawn {cmd, args}, (error, {stdout}) ->
|
|
installedSize = stdout.split(/\s+/)?[0] or '200000' # default to 200MB
|
|
callback(null, installedSize)
|
|
|
|
grunt.registerTask 'mkdeb', 'Create debian package', ->
|
|
done = @async()
|
|
buildDir = grunt.config.get('atom.buildDir')
|
|
|
|
if process.arch is 'ia32'
|
|
arch = 'i386'
|
|
else if process.arch is 'x64'
|
|
arch = 'amd64'
|
|
else
|
|
return done("Unsupported arch #{process.arch}")
|
|
|
|
{name, version, description} = grunt.file.readJSON('package.json')
|
|
section = 'devel'
|
|
maintainer = 'Nylas <edgehill@nylas.com>'
|
|
installDir = '/usr'
|
|
iconName = 'nylas'
|
|
getInstalledSize buildDir, (error, installedSize) ->
|
|
data = {name, version, description, section, arch, maintainer, installDir, iconName, installedSize}
|
|
controlFilePath = fillTemplate(path.join('resources', 'linux', 'debian', 'control'), data)
|
|
desktopFilePath = fillTemplate(path.join('resources', 'linux', 'nylas.desktop'), data)
|
|
icon = path.join('resources', 'nylas.png')
|
|
|
|
cmd = path.join('script', 'mkdeb')
|
|
args = [version, arch, controlFilePath, desktopFilePath, icon, buildDir]
|
|
spawn {cmd, args}, (error) ->
|
|
if error?
|
|
done(error)
|
|
else
|
|
grunt.log.ok "Created #{buildDir}/nylas-#{version}-#{arch}.deb"
|
|
done()
|