From 74d1afa8ef3f9d117f8abb2a18d4d30e1381ecdb Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Mon, 6 Oct 2014 17:46:12 -0700 Subject: [PATCH] Download previous releases so that Squirrel will build updates for them --- build/tasks/create-installer.coffee | 30 ++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/build/tasks/create-installer.coffee b/build/tasks/create-installer.coffee index fa6152f40..ef8d6fc9b 100644 --- a/build/tasks/create-installer.coffee +++ b/build/tasks/create-installer.coffee @@ -12,30 +12,38 @@ module.exports = (grunt) -> buildDir = grunt.config.get('atom.buildDir') atomDir = path.join(buildDir, 'Atom') + releasesDir = path.join(buildDir, 'Releases') + atomGitHubToken = process.env.ATOM_ACCESS_TOKEN packageInfo = grunt.file.readJSON(path.join(atomDir, 'resources', 'app', 'package.json')) inputTemplate = grunt.file.read(path.join('build', 'windows', 'atom.nuspec.erb')) - + # NB: Build server has some sort of stamp on the version number packageInfo.version = packageInfo.version.replace(/-.*$/, '') targetNuspecPath = path.join(buildDir, 'atom.nuspec') grunt.file.write(targetNuspecPath, _.template(inputTemplate, packageInfo)) - cmd = 'build/windows/nuget.exe' - args = ['pack', targetNuspecPath, '-BasePath', atomDir, '-OutputDirectory', buildDir] + # We use the previous releases to build deltas for the current release, + # sync down the existing releases directory by rolling through GitHub releases + cmd = 'build/windows/SyncGitHubReleases.exe' + args = ['-r', releasesDir, '-u', 'https://github.com/atom/atom', '-t', atomGitHubToken] spawn {cmd, args}, (error, result, code) -> return done(error) if error? - pkgs = pkg for pkg in fs.readdirSync(buildDir) when path.extname(pkg) is '.nupkg' + cmd = 'build/windows/nuget.exe' + args = ['pack', targetNuspecPath, '-BasePath', atomDir, '-OutputDirectory', buildDir] - releasesDir = path.join(buildDir, 'Releases') + spawn {cmd, args}, (error, result, code) -> + return done(error) if error? - # NB: Gonna clear Releases for now, in the future we need to pull down - # the existing version - rm(releasesDir) + pkgs = pkg for pkg in fs.readdirSync(buildDir) when path.extname(pkg) is '.nupkg' - cmd = 'build/windows/update.com' - args = ['--releasify', path.join(buildDir, pkgs), '-r', releasesDir, '-g', 'build/windows/install-spinner.gif'] - spawn {cmd, args}, (error, result, code) -> done(error) + # NB: Gonna clear Releases for now, in the future we need to pull down + # the existing version + rm(releasesDir) + + cmd = 'build/windows/update.com' + args = ['--releasify', path.join(buildDir, pkgs), '-r', releasesDir, '-g', 'build/windows/install-spinner.gif'] + spawn {cmd, args}, (error, result, code) -> done(error)