Write control/desktop files to temp folder

This commit is contained in:
Kevin Sawicki
2014-07-21 16:45:59 -07:00
parent ab980d78d2
commit ccd631a934
3 changed files with 16 additions and 13 deletions

2
.gitignore vendored
View File

@@ -13,5 +13,3 @@ debug.log
docs/output
docs/includes
spec/fixtures/evil-files/
resources/linux/Atom.desktop
resources/linux/debian/control

View File

@@ -14,8 +14,8 @@
"grunt": "~0.4.1",
"grunt-cli": "~0.1.9",
"grunt-coffeelint": "git+https://github.com/atom/grunt-coffeelint.git",
"grunt-contrib-csslint": "~0.1.2",
"grunt-contrib-coffee": "~0.9.0",
"grunt-contrib-csslint": "~0.1.2",
"grunt-contrib-less": "~0.8.0",
"grunt-cson": "0.8.0",
"grunt-download-atom-shell": "~0.8.0",
@@ -27,15 +27,16 @@
"json-front-matter": "~0.1.3",
"legal-eagle": "~0.4.0",
"minidump": "~0.7",
"read-package-json": "1.1.8",
"normalize-package-data": "0.2.12",
"npm": "~1.4.5",
"rcedit": "~0.1.2",
"read-package-json": "1.1.8",
"request": "~2.27.0",
"rimraf": "~2.2.2",
"runas": "0.5.x",
"temp": "^0.8.0",
"underscore-plus": "1.x",
"unzip": "~0.1.9",
"vm-compatibility-layer": "~0.1.0",
"npm": "~1.4.5"
"vm-compatibility-layer": "~0.1.0"
}
}

View File

@@ -1,11 +1,17 @@
fs = require 'fs'
path = require 'path'
_ = require 'underscore-plus'
temp = require 'temp'
tempResourcesFolder = temp.mkdirSync('atom-resources-')
fillTemplate = (filePath, data) ->
template = _.template(String(fs.readFileSync(filePath + '.in')))
template = _.template(String(fs.readFileSync("#{filePath}.in")))
filled = template(data)
fs.writeFileSync(filePath, filled)
outputPath = path.join(tempResourcesFolder, path.basename(filePath))
fs.writeFileSync(outputPath, filled)
outputPath
module.exports = (grunt) ->
{spawn} = require('./task-helpers')(grunt)
@@ -27,13 +33,11 @@ module.exports = (grunt) ->
iconName = 'atom'
data = {name, version, description, section, arch, maintainer, installDir, iconName}
control = path.join('resources', 'linux', 'debian', 'control')
fillTemplate(control, data)
desktop = path.join('resources', 'linux', 'Atom.desktop')
fillTemplate(desktop, data)
controlFilePath = fillTemplate(path.join('resources', 'linux', 'debian', 'control'), data)
desktopFilePath = fillTemplate(path.join('resources', 'linux', 'Atom.desktop'), data)
icon = path.join('resources', 'atom.png')
buildDir = grunt.config.get('atom.buildDir')
cmd = path.join('script', 'mkdeb')
args = [version, arch, control, desktop, icon, buildDir]
args = [version, arch, controlFilePath, desktopFilePath, icon, buildDir]
spawn({cmd, args}, done)