diff --git a/build/Gruntfile.coffee b/build/Gruntfile.coffee index 460b42f6f..98bcffa62 100644 --- a/build/Gruntfile.coffee +++ b/build/Gruntfile.coffee @@ -25,6 +25,7 @@ module.exports = (grunt) -> grunt.loadNpmTasks('grunt-markdown') grunt.loadNpmTasks('grunt-shell') grunt.loadNpmTasks('grunt-download-atom-shell') + grunt.loadNpmTasks('grunt-atom-shell-installer') grunt.loadNpmTasks('grunt-peg') grunt.loadTasks('tasks') @@ -220,6 +221,12 @@ module.exports = (grunt) -> downloadDir: atomShellDownloadDir rebuild: true # rebuild native modules after atom-shell is updated + 'create-windows-installer': + appDirectory: shellAppDir + outputDirectory: path.join(buildDir, 'installer') + authors: 'The Atom Team & Community' + iconUrl: 'https://raw.githubusercontent.com/atom/atom/master/resources/atom.png' + shell: 'kill-atom': command: killCommand diff --git a/build/package.json b/build/package.json index 8b670e1bf..b7d83b361 100644 --- a/build/package.json +++ b/build/package.json @@ -12,6 +12,7 @@ "fs-plus": "2.x", "github-releases": "~0.2.0", "grunt": "~0.4.1", + "grunt-atom-shell-installer": "^0.6.0", "grunt-cli": "~0.1.9", "grunt-coffeelint": "git+https://github.com/atom/grunt-coffeelint.git#cfb99aa99811d52687969532bd5a98011ed95bfe", "grunt-contrib-coffee": "~0.9.0", diff --git a/build/tasks/codesign-task.coffee b/build/tasks/codesign-task.coffee index 82ed5701c..82a947082 100644 --- a/build/tasks/codesign-task.coffee +++ b/build/tasks/codesign-task.coffee @@ -36,7 +36,7 @@ module.exports = (grunt) -> spawn {cmd, args}, (error) -> return callback(error) if error? - setupExePath = path.join(grunt.config.get('atom.shellAppDir'), '..', 'Releases', 'setup.exe') + setupExePath = path.resolve(grunt.config.get('atom.buildDir'), 'installer', 'AtomSetup.exe') if fs.isFileSync(setupExePath) args = [setupExePath] spawn {cmd, args}, (error) -> callback(error) diff --git a/build/tasks/create-installer.coffee b/build/tasks/create-installer.coffee deleted file mode 100644 index a539fc7cd..000000000 --- a/build/tasks/create-installer.coffee +++ /dev/null @@ -1,46 +0,0 @@ -fs = require 'fs' -path = require 'path' -_ = require 'underscore-plus' - -module.exports = (grunt) -> - {spawn, rm} = require('./task-helpers')(grunt) - - grunt.registerTask 'create-installer', 'Create the Windows installer', -> - return unless process.platform is 'win32' - - done = @async() - - 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)) - - # 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) -> - if error? - grunt.log.error "ATOM_ACCESS_TOKEN environment variable not set or invalid, can't download old releases; continuing anyways" - - cmd = 'build/windows/nuget.exe' - args = ['pack', targetNuspecPath, '-BasePath', atomDir, '-OutputDirectory', buildDir] - - 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/update.com' - args = ['--releasify', path.join(buildDir, pkgs), '-r', releasesDir, '-g', 'build/windows/install-spinner.gif'] - spawn {cmd, args}, (error, result, code) -> done(error) diff --git a/build/windows/NuGet.exe b/build/windows/NuGet.exe deleted file mode 100644 index c41a0d0de..000000000 Binary files a/build/windows/NuGet.exe and /dev/null differ diff --git a/build/windows/Setup.exe b/build/windows/Setup.exe deleted file mode 100644 index 2a60e4b73..000000000 Binary files a/build/windows/Setup.exe and /dev/null differ diff --git a/build/windows/Setup.pdb b/build/windows/Setup.pdb deleted file mode 100644 index ae786355d..000000000 Binary files a/build/windows/Setup.pdb and /dev/null differ diff --git a/build/windows/SyncGitHubReleases.exe b/build/windows/SyncGitHubReleases.exe deleted file mode 100644 index d84fe66e1..000000000 Binary files a/build/windows/SyncGitHubReleases.exe and /dev/null differ diff --git a/build/windows/SyncGitHubReleases.exe.pdb b/build/windows/SyncGitHubReleases.exe.pdb deleted file mode 100644 index 349ec11bb..000000000 Binary files a/build/windows/SyncGitHubReleases.exe.pdb and /dev/null differ diff --git a/build/windows/Update.com b/build/windows/Update.com deleted file mode 100644 index 31bb30230..000000000 Binary files a/build/windows/Update.com and /dev/null differ diff --git a/build/windows/Update.exe b/build/windows/Update.exe deleted file mode 100644 index 720f6c16d..000000000 Binary files a/build/windows/Update.exe and /dev/null differ diff --git a/build/windows/Update.exe.pdb b/build/windows/Update.exe.pdb deleted file mode 100644 index 8016435ca..000000000 Binary files a/build/windows/Update.exe.pdb and /dev/null differ diff --git a/build/windows/atom.nuspec.erb b/build/windows/atom.nuspec.erb deleted file mode 100644 index 277bd001d..000000000 --- a/build/windows/atom.nuspec.erb +++ /dev/null @@ -1,31 +0,0 @@ - - - - <%= name %> - <%= version %> - The Atom Community - The Atom Community - https://raw.githubusercontent.com/atom/atom/master/resources/win/atom.ico - false - <%= description %> - - - - - - - - - - - - - - - - - - - - - diff --git a/build/windows/install-spinner.gif b/build/windows/install-spinner.gif deleted file mode 100644 index 9be998f3d..000000000 Binary files a/build/windows/install-spinner.gif and /dev/null differ