commit
64aaa2bcb1
24 changed files with 277 additions and 190 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,4 +10,5 @@ node_modules/
|
||||||
*.xcodeproj
|
*.xcodeproj
|
||||||
*.swp
|
*.swp
|
||||||
*.pyc
|
*.pyc
|
||||||
|
debug.log
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
|
3
atom.gyp
3
atom.gyp
|
@ -2,6 +2,7 @@
|
||||||
'variables': {
|
'variables': {
|
||||||
'project_name%': 'atom',
|
'project_name%': 'atom',
|
||||||
'product_name%': 'Atom',
|
'product_name%': 'Atom',
|
||||||
|
'version%': '0.23.0',
|
||||||
|
|
||||||
'atom_source_root': '<!(["python", "tools/atom_source_root.py"])',
|
'atom_source_root': '<!(["python", "tools/atom_source_root.py"])',
|
||||||
},
|
},
|
||||||
|
@ -142,8 +143,6 @@
|
||||||
'<(libchromiumcontent_dir)/natives_blob.bin',
|
'<(libchromiumcontent_dir)/natives_blob.bin',
|
||||||
'<(libchromiumcontent_dir)/snapshot_blob.bin',
|
'<(libchromiumcontent_dir)/snapshot_blob.bin',
|
||||||
'external_binaries/d3dcompiler_47.dll',
|
'external_binaries/d3dcompiler_47.dll',
|
||||||
'external_binaries/msvcp120.dll',
|
|
||||||
'external_binaries/msvcr120.dll',
|
|
||||||
'external_binaries/vccorlib120.dll',
|
'external_binaries/vccorlib120.dll',
|
||||||
'external_binaries/xinput1_3.dll',
|
'external_binaries/xinput1_3.dll',
|
||||||
],
|
],
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<key>CFBundleIconFile</key>
|
<key>CFBundleIconFile</key>
|
||||||
<string>atom.icns</string>
|
<string>atom.icns</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>0.22.3</string>
|
<string>0.23.0</string>
|
||||||
<key>LSMinimumSystemVersion</key>
|
<key>LSMinimumSystemVersion</key>
|
||||||
<string>10.8.0</string>
|
<string>10.8.0</string>
|
||||||
<key>NSMainNibFile</key>
|
<key>NSMainNibFile</key>
|
||||||
|
|
|
@ -50,8 +50,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 0,22,3,0
|
FILEVERSION 0,23,0,0
|
||||||
PRODUCTVERSION 0,22,3,0
|
PRODUCTVERSION 0,23,0,0
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -68,12 +68,12 @@ BEGIN
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "CompanyName", "GitHub, Inc."
|
VALUE "CompanyName", "GitHub, Inc."
|
||||||
VALUE "FileDescription", "Atom-Shell"
|
VALUE "FileDescription", "Atom-Shell"
|
||||||
VALUE "FileVersion", "0.22.3"
|
VALUE "FileVersion", "0.23.0"
|
||||||
VALUE "InternalName", "atom.exe"
|
VALUE "InternalName", "atom.exe"
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2013 GitHub, Inc. All rights reserved."
|
VALUE "LegalCopyright", "Copyright (C) 2013 GitHub, Inc. All rights reserved."
|
||||||
VALUE "OriginalFilename", "atom.exe"
|
VALUE "OriginalFilename", "atom.exe"
|
||||||
VALUE "ProductName", "Atom-Shell"
|
VALUE "ProductName", "Atom-Shell"
|
||||||
VALUE "ProductVersion", "0.22.3"
|
VALUE "ProductVersion", "0.23.0"
|
||||||
VALUE "SquirrelAwareVersion", "1"
|
VALUE "SquirrelAwareVersion", "1"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
#define ATOM_VERSION_H
|
#define ATOM_VERSION_H
|
||||||
|
|
||||||
#define ATOM_MAJOR_VERSION 0
|
#define ATOM_MAJOR_VERSION 0
|
||||||
#define ATOM_MINOR_VERSION 22
|
#define ATOM_MINOR_VERSION 23
|
||||||
#define ATOM_PATCH_VERSION 3
|
#define ATOM_PATCH_VERSION 0
|
||||||
|
|
||||||
#define ATOM_VERSION_IS_RELEASE 1
|
#define ATOM_VERSION_IS_RELEASE 1
|
||||||
|
|
||||||
|
|
64
common.gypi
64
common.gypi
|
@ -107,27 +107,50 @@
|
||||||
'OTHER_LDFLAGS': [ '-Wl,-all_load' ],
|
'OTHER_LDFLAGS': [ '-Wl,-all_load' ],
|
||||||
},
|
},
|
||||||
}],
|
}],
|
||||||
['OS=="win" and libchromiumcontent_component==0', {
|
['OS=="win"', {
|
||||||
'libraries': [ '-lwinmm.lib' ],
|
'libraries': [ '-lwinmm.lib' ],
|
||||||
'msvs_settings': {
|
'conditions': [
|
||||||
'VCLinkerTool': {
|
['libchromiumcontent_component==0', {
|
||||||
# There is nothing like "whole-archive" on Windows, so we
|
'variables': {
|
||||||
# have to manually force some objets files to be included
|
'conditions': [
|
||||||
# by referencing them.
|
['target_arch=="ia32"', {
|
||||||
'ForceSymbolReferences': [
|
'reference_symbols': [
|
||||||
'_u_errorName_52',
|
'_u_errorName_52',
|
||||||
'_ubidi_setPara_52',
|
'_ubidi_setPara_52',
|
||||||
'_ucsdet_getName_52',
|
'_ucsdet_getName_52',
|
||||||
'_ulocdata_close_52',
|
'_ulocdata_close_52',
|
||||||
'_uregex_matches_52',
|
'_uregex_matches_52',
|
||||||
'_uscript_getCode_52',
|
'_uscript_getCode_52',
|
||||||
'_usearch_setPattern_52',
|
'_usearch_setPattern_52',
|
||||||
'?createInstance@Transliterator@icu_52@@SAPAV12@ABVUnicodeString@2@W4UTransDirection@@AAW4UErrorCode@@@Z',
|
'?createInstance@Transliterator@icu_52@@SAPAV12@ABVUnicodeString@2@W4UTransDirection@@AAW4UErrorCode@@@Z',
|
||||||
'?nameToUnicodeUTF8@IDNA@icu_52@@UBEXABVStringPiece@2@AAVByteSink@2@AAVIDNAInfo@2@AAW4UErrorCode@@@Z',
|
'?nameToUnicodeUTF8@IDNA@icu_52@@UBEXABVStringPiece@2@AAVByteSink@2@AAVIDNAInfo@2@AAW4UErrorCode@@@Z',
|
||||||
'?kLineOffsetNotFound@Function@v8@@2HB',
|
'?kLineOffsetNotFound@Function@v8@@2HB',
|
||||||
], # '/INCLUDE'
|
],
|
||||||
},
|
}, {
|
||||||
},
|
'reference_symbols': [
|
||||||
|
'u_errorName_52',
|
||||||
|
'ubidi_setPara_52',
|
||||||
|
'ucsdet_getName_52',
|
||||||
|
'uidna_openUTS46_52',
|
||||||
|
'ulocdata_close_52',
|
||||||
|
'uregex_matches_52',
|
||||||
|
'uscript_getCode_52',
|
||||||
|
'usearch_setPattern_52',
|
||||||
|
'?createInstance@Transliterator@icu_52@@SAPEAV12@AEBVUnicodeString@2@W4UTransDirection@@AEAW4UErrorCode@@@Z'
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'msvs_settings': {
|
||||||
|
'VCLinkerTool': {
|
||||||
|
# There is nothing like "whole-archive" on Windows, so we
|
||||||
|
# have to manually force some objets files to be included
|
||||||
|
# by referencing them.
|
||||||
|
'ForceSymbolReferences': [ '<@(reference_symbols)' ], # '/INCLUDE'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}],
|
||||||
|
],
|
||||||
}],
|
}],
|
||||||
['OS=="linux" and libchromiumcontent_component==0', {
|
['OS=="linux" and libchromiumcontent_component==0', {
|
||||||
# Prevent the linker from stripping symbols.
|
# Prevent the linker from stripping symbols.
|
||||||
|
@ -192,6 +215,7 @@
|
||||||
4005, # (node.h) macro redefinition
|
4005, # (node.h) macro redefinition
|
||||||
4189, # local variable is initialized but not referenced
|
4189, # local variable is initialized but not referenced
|
||||||
4201, # (uv.h) nameless struct/union
|
4201, # (uv.h) nameless struct/union
|
||||||
|
4267, # conversion from 'size_t' to 'int', possible loss of data
|
||||||
4503, # decorated name length exceeded, name was truncated
|
4503, # decorated name length exceeded, name was truncated
|
||||||
4800, # (v8.h) forcing value to bool 'true' or 'false'
|
4800, # (v8.h) forcing value to bool 'true' or 'false'
|
||||||
4819, # The file contains a character that cannot be represented in the current code page
|
4819, # The file contains a character that cannot be represented in the current code page
|
||||||
|
|
|
@ -1,15 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "atom-shell",
|
"name": "atom-shell",
|
||||||
"version": "0.22.3",
|
|
||||||
"licenses": [
|
|
||||||
{
|
|
||||||
"type": "MIT",
|
|
||||||
"url": "http://github.com/atom/atom-shell/raw/master/LICENSE.md"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"asar": "0.2.2",
|
"asar": "0.2.2",
|
||||||
"atom-package-manager": "0.144.0",
|
|
||||||
"coffee-script": "~1.7.1",
|
"coffee-script": "~1.7.1",
|
||||||
"coffeelint": "~1.3.0",
|
"coffeelint": "~1.3.0",
|
||||||
"request": "*",
|
"request": "*",
|
||||||
|
|
|
@ -4,9 +4,9 @@ import argparse
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, \
|
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, PLATFORM, \
|
||||||
enable_verbose_mode, is_verbose_mode
|
enable_verbose_mode, is_verbose_mode, get_target_arch
|
||||||
from lib.util import execute_stdout, scoped_cwd
|
from lib.util import execute_stdout, get_atom_shell_version, scoped_cwd
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -19,8 +19,7 @@ def main():
|
||||||
os.chdir(SOURCE_ROOT)
|
os.chdir(SOURCE_ROOT)
|
||||||
|
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
if (args.yes is False and
|
if not args.yes and PLATFORM != 'win32':
|
||||||
sys.platform not in ('win32', 'cygwin')):
|
|
||||||
check_root()
|
check_root()
|
||||||
if args.verbose:
|
if args.verbose:
|
||||||
enable_verbose_mode()
|
enable_verbose_mode()
|
||||||
|
@ -28,12 +27,12 @@ def main():
|
||||||
update_win32_python()
|
update_win32_python()
|
||||||
update_submodules()
|
update_submodules()
|
||||||
update_node_modules('.')
|
update_node_modules('.')
|
||||||
bootstrap_brightray(args.dev, args.url)
|
bootstrap_brightray(args.dev, args.url, args.target_arch)
|
||||||
|
|
||||||
create_chrome_version_h()
|
create_chrome_version_h()
|
||||||
touch_config_gypi()
|
touch_config_gypi()
|
||||||
update_atom_shell()
|
update_atom_shell()
|
||||||
update_atom_modules('spec')
|
update_atom_modules('spec', args.target_arch)
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
|
@ -53,8 +52,11 @@ def parse_args():
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='Run non-interactively by assuming "yes" to all ' \
|
help='Run non-interactively by assuming "yes" to all ' \
|
||||||
'prompts.')
|
'prompts.')
|
||||||
|
parser.add_argument('--target_arch', default=get_target_arch(),
|
||||||
|
help='Manually specify the arch to build for')
|
||||||
return parser.parse_args()
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
def check_root():
|
def check_root():
|
||||||
if os.geteuid() == 0:
|
if os.geteuid() == 0:
|
||||||
print "We suggest not running this as root, unless you're really sure."
|
print "We suggest not running this as root, unless you're really sure."
|
||||||
|
@ -68,29 +70,34 @@ def update_submodules():
|
||||||
execute_stdout(['git', 'submodule', 'update', '--init', '--recursive'])
|
execute_stdout(['git', 'submodule', 'update', '--init', '--recursive'])
|
||||||
|
|
||||||
|
|
||||||
def bootstrap_brightray(is_dev, url):
|
def bootstrap_brightray(is_dev, url, target_arch):
|
||||||
bootstrap = os.path.join(VENDOR_DIR, 'brightray', 'script', 'bootstrap')
|
bootstrap = os.path.join(VENDOR_DIR, 'brightray', 'script', 'bootstrap')
|
||||||
args = ['--commit', LIBCHROMIUMCONTENT_COMMIT, url]
|
args = [
|
||||||
|
'--commit', LIBCHROMIUMCONTENT_COMMIT,
|
||||||
|
'--target_arch', target_arch,
|
||||||
|
url,
|
||||||
|
]
|
||||||
if is_dev:
|
if is_dev:
|
||||||
args = ['--dev'] + args
|
args = ['--dev'] + args
|
||||||
execute_stdout([sys.executable, bootstrap] + args)
|
execute_stdout([sys.executable, bootstrap] + args)
|
||||||
|
|
||||||
|
|
||||||
def update_node_modules(dirname):
|
def update_node_modules(dirname, env=None):
|
||||||
|
if env is None:
|
||||||
|
env = os.environ
|
||||||
with scoped_cwd(dirname):
|
with scoped_cwd(dirname):
|
||||||
if is_verbose_mode():
|
if is_verbose_mode():
|
||||||
execute_stdout([NPM, 'install', '--verbose'])
|
execute_stdout([NPM, 'install', '--verbose'], env)
|
||||||
else:
|
else:
|
||||||
execute_stdout([NPM, 'install'])
|
execute_stdout([NPM, 'install'], env)
|
||||||
|
|
||||||
|
|
||||||
def update_atom_modules(dirname):
|
def update_atom_modules(dirname, target_arch):
|
||||||
with scoped_cwd(dirname):
|
env = os.environ.copy()
|
||||||
apm = os.path.join(SOURCE_ROOT, 'node_modules', '.bin', 'apm')
|
env['npm_config_arch'] = target_arch
|
||||||
if sys.platform in ['win32', 'cygwin']:
|
env['npm_config_target'] = get_atom_shell_version()
|
||||||
apm = os.path.join(SOURCE_ROOT, 'node_modules', 'atom-package-manager',
|
env['npm_config_disturl'] = 'https://atom.io/download/atom-shell'
|
||||||
'bin', 'apm.cmd')
|
update_node_modules(dirname, env)
|
||||||
execute_stdout([apm, 'install'])
|
|
||||||
|
|
||||||
|
|
||||||
def update_win32_python():
|
def update_win32_python():
|
||||||
|
|
|
@ -27,12 +27,11 @@ def main():
|
||||||
version = '.'.join(versions[:3])
|
version = '.'.join(versions[:3])
|
||||||
|
|
||||||
with scoped_cwd(SOURCE_ROOT):
|
with scoped_cwd(SOURCE_ROOT):
|
||||||
update_package_json(version)
|
update_atom_gyp(version)
|
||||||
update_win_rc(version, versions)
|
update_win_rc(version, versions)
|
||||||
update_version_h(versions)
|
update_version_h(versions)
|
||||||
update_info_plist(version)
|
update_info_plist(version)
|
||||||
tag_version(version)
|
tag_version(version)
|
||||||
git_push()
|
|
||||||
|
|
||||||
|
|
||||||
def increase_version(versions, index):
|
def increase_version(versions, index):
|
||||||
|
@ -42,15 +41,15 @@ def increase_version(versions, index):
|
||||||
return versions
|
return versions
|
||||||
|
|
||||||
|
|
||||||
def update_package_json(version):
|
def update_atom_gyp(version):
|
||||||
pattern = re.compile(' *"version" *: *"[0-9.]+"')
|
pattern = re.compile(" *'version%' *: *'[0-9.]+'")
|
||||||
with open('package.json', 'r') as f:
|
with open('atom.gyp', 'r') as f:
|
||||||
lines = f.readlines()
|
lines = f.readlines()
|
||||||
|
|
||||||
for i in range(0, len(lines)):
|
for i in range(0, len(lines)):
|
||||||
if pattern.match(lines[i]):
|
if pattern.match(lines[i]):
|
||||||
lines[i] = ' "version": "{0}",\n'.format(version)
|
lines[i] = " 'version%': '{0}',\n".format(version)
|
||||||
with open('package.json', 'w') as f:
|
with open('atom.gyp', 'w') as f:
|
||||||
f.write(''.join(lines))
|
f.write(''.join(lines))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -118,10 +117,5 @@ def tag_version(version):
|
||||||
execute(['git', 'tag', 'v{0}'.format(version)])
|
execute(['git', 'tag', 'v{0}'.format(version)])
|
||||||
|
|
||||||
|
|
||||||
def git_push():
|
|
||||||
execute(['git', 'push'])
|
|
||||||
execute(['git', 'push', '--tags'])
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
sys.exit(main())
|
sys.exit(main())
|
||||||
|
|
20
script/clean.py
Executable file
20
script/clean.py
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from lib.util import rm_rf
|
||||||
|
|
||||||
|
|
||||||
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
os.chdir(SOURCE_ROOT)
|
||||||
|
rm_rf('node_modules')
|
||||||
|
rm_rf('out')
|
||||||
|
rm_rf('spec/node_modules')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
|
@ -7,8 +7,8 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
import stat
|
import stat
|
||||||
|
|
||||||
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, TARGET_PLATFORM, \
|
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, PLATFORM, \
|
||||||
DIST_ARCH
|
get_target_arch
|
||||||
from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \
|
from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \
|
||||||
execute, get_chromedriver_version
|
execute, get_chromedriver_version
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ def main():
|
||||||
copy_chromedriver()
|
copy_chromedriver()
|
||||||
copy_license()
|
copy_license()
|
||||||
|
|
||||||
if TARGET_PLATFORM == 'linux':
|
if PLATFORM == 'linux':
|
||||||
strip_binaries()
|
strip_binaries()
|
||||||
copy_system_libraries()
|
copy_system_libraries()
|
||||||
|
|
||||||
|
@ -95,17 +95,17 @@ def force_build():
|
||||||
|
|
||||||
|
|
||||||
def copy_binaries():
|
def copy_binaries():
|
||||||
for binary in TARGET_BINARIES[TARGET_PLATFORM]:
|
for binary in TARGET_BINARIES[PLATFORM]:
|
||||||
shutil.copy2(os.path.join(OUT_DIR, binary), DIST_DIR)
|
shutil.copy2(os.path.join(OUT_DIR, binary), DIST_DIR)
|
||||||
|
|
||||||
for directory in TARGET_DIRECTORIES[TARGET_PLATFORM]:
|
for directory in TARGET_DIRECTORIES[PLATFORM]:
|
||||||
shutil.copytree(os.path.join(OUT_DIR, directory),
|
shutil.copytree(os.path.join(OUT_DIR, directory),
|
||||||
os.path.join(DIST_DIR, directory),
|
os.path.join(DIST_DIR, directory),
|
||||||
symlinks=True)
|
symlinks=True)
|
||||||
|
|
||||||
|
|
||||||
def copy_chromedriver():
|
def copy_chromedriver():
|
||||||
if TARGET_PLATFORM == 'win32':
|
if PLATFORM == 'win32':
|
||||||
chromedriver = 'chromedriver.exe'
|
chromedriver = 'chromedriver.exe'
|
||||||
else:
|
else:
|
||||||
chromedriver = 'chromedriver'
|
chromedriver = 'chromedriver'
|
||||||
|
@ -122,7 +122,7 @@ def copy_license():
|
||||||
|
|
||||||
|
|
||||||
def strip_binaries():
|
def strip_binaries():
|
||||||
for binary in TARGET_BINARIES[TARGET_PLATFORM]:
|
for binary in TARGET_BINARIES[PLATFORM]:
|
||||||
if binary.endswith('.so') or '.' not in binary:
|
if binary.endswith('.so') or '.' not in binary:
|
||||||
execute(['strip', os.path.join(DIST_DIR, binary)])
|
execute(['strip', os.path.join(DIST_DIR, binary)])
|
||||||
|
|
||||||
|
@ -155,25 +155,25 @@ def create_symbols():
|
||||||
|
|
||||||
def create_dist_zip():
|
def create_dist_zip():
|
||||||
dist_name = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
dist_name = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
||||||
TARGET_PLATFORM, DIST_ARCH)
|
PLATFORM, get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
files = TARGET_BINARIES[TARGET_PLATFORM] + ['LICENSE', 'version']
|
files = TARGET_BINARIES[PLATFORM] + ['LICENSE', 'version']
|
||||||
if TARGET_PLATFORM == 'linux':
|
if PLATFORM == 'linux':
|
||||||
files += [lib for lib in SYSTEM_LIBRARIES if os.path.exists(lib)]
|
files += [lib for lib in SYSTEM_LIBRARIES if os.path.exists(lib)]
|
||||||
dirs = TARGET_DIRECTORIES[TARGET_PLATFORM]
|
dirs = TARGET_DIRECTORIES[PLATFORM]
|
||||||
make_zip(zip_file, files, dirs)
|
make_zip(zip_file, files, dirs)
|
||||||
|
|
||||||
|
|
||||||
def create_chromedriver_zip():
|
def create_chromedriver_zip():
|
||||||
dist_name = 'chromedriver-{0}-{1}-{2}.zip'.format(get_chromedriver_version(),
|
dist_name = 'chromedriver-{0}-{1}-{2}.zip'.format(get_chromedriver_version(),
|
||||||
TARGET_PLATFORM, DIST_ARCH)
|
PLATFORM, get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
files = ['LICENSE']
|
files = ['LICENSE']
|
||||||
if TARGET_PLATFORM == 'win32':
|
if PLATFORM == 'win32':
|
||||||
files += ['chromedriver.exe']
|
files += ['chromedriver.exe']
|
||||||
else:
|
else:
|
||||||
files += ['chromedriver']
|
files += ['chromedriver']
|
||||||
|
@ -182,8 +182,8 @@ def create_chromedriver_zip():
|
||||||
|
|
||||||
def create_symbols_zip():
|
def create_symbols_zip():
|
||||||
dist_name = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
dist_name = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
||||||
TARGET_PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from lib.config import TARGET_PLATFORM
|
from lib.config import PLATFORM
|
||||||
from lib.util import execute, rm_rf
|
from lib.util import atom_gyp, execute, rm_rf
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -15,20 +15,20 @@ CHROMIUM_DIR = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor',
|
||||||
|
|
||||||
|
|
||||||
def main(destination):
|
def main(destination):
|
||||||
if TARGET_PLATFORM == 'win32':
|
if PLATFORM == 'win32':
|
||||||
register_required_dll()
|
register_required_dll()
|
||||||
|
|
||||||
rm_rf(destination)
|
rm_rf(destination)
|
||||||
(project_name, product_name) = get_names_from_gyp()
|
(project_name, product_name) = get_names_from_gyp()
|
||||||
|
|
||||||
if TARGET_PLATFORM in ['darwin', 'linux']:
|
if PLATFORM in ['darwin', 'linux']:
|
||||||
# Generate the dump_syms tool.
|
# Generate the dump_syms tool.
|
||||||
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
build = os.path.join(SOURCE_ROOT, 'script', 'build.py')
|
||||||
execute([sys.executable, build, '-c', 'R', '-t', 'dump_syms'])
|
execute([sys.executable, build, '-c', 'R', '-t', 'dump_syms'])
|
||||||
|
|
||||||
generate_breakpad_symbols = os.path.join(SOURCE_ROOT, 'tools', 'posix',
|
generate_breakpad_symbols = os.path.join(SOURCE_ROOT, 'tools', 'posix',
|
||||||
'generate_breakpad_symbols.py')
|
'generate_breakpad_symbols.py')
|
||||||
if TARGET_PLATFORM == 'darwin':
|
if PLATFORM == 'darwin':
|
||||||
start = os.path.join(OUT_DIR, '{0}.app'.format(product_name), 'Contents',
|
start = os.path.join(OUT_DIR, '{0}.app'.format(product_name), 'Contents',
|
||||||
'MacOS', product_name)
|
'MacOS', product_name)
|
||||||
else:
|
else:
|
||||||
|
@ -60,10 +60,8 @@ def register_required_dll():
|
||||||
|
|
||||||
|
|
||||||
def get_names_from_gyp():
|
def get_names_from_gyp():
|
||||||
gyp = os.path.join(SOURCE_ROOT, 'atom.gyp')
|
variables = atom_gyp()
|
||||||
with open(gyp) as f:
|
return (variables['project_name%'], variables['product_name%'])
|
||||||
o = eval(f.read());
|
|
||||||
return (o['variables']['project_name%'], o['variables']['product_name%'])
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,23 +1,15 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import errno
|
||||||
|
import os
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
BASE_URL = 'http://gh-contractor-zcbenz.s3.amazonaws.com/libchromiumcontent'
|
BASE_URL = 'http://gh-contractor-zcbenz.s3.amazonaws.com/libchromiumcontent'
|
||||||
LIBCHROMIUMCONTENT_COMMIT = 'f1ad1412461ba3345a27cfe935ffc872dba0ac5b'
|
LIBCHROMIUMCONTENT_COMMIT = 'f1ad1412461ba3345a27cfe935ffc872dba0ac5b'
|
||||||
|
|
||||||
ARCH = {
|
PLATFORM = {
|
||||||
'cygwin': '32bit',
|
|
||||||
'darwin': '64bit',
|
|
||||||
'linux2': platform.architecture()[0],
|
|
||||||
'win32': '32bit',
|
|
||||||
}[sys.platform]
|
|
||||||
DIST_ARCH = {
|
|
||||||
'32bit': 'ia32',
|
|
||||||
'64bit': 'x64',
|
|
||||||
}[ARCH]
|
|
||||||
|
|
||||||
TARGET_PLATFORM = {
|
|
||||||
'cygwin': 'win32',
|
'cygwin': 'win32',
|
||||||
'darwin': 'darwin',
|
'darwin': 'darwin',
|
||||||
'linux2': 'linux',
|
'linux2': 'linux',
|
||||||
|
@ -26,10 +18,51 @@ TARGET_PLATFORM = {
|
||||||
|
|
||||||
verbose_mode = False
|
verbose_mode = False
|
||||||
|
|
||||||
|
|
||||||
|
def get_target_arch():
|
||||||
|
# Always build 64bit on OS X.
|
||||||
|
if PLATFORM == 'darwin':
|
||||||
|
return 'x64'
|
||||||
|
# Only build for host's arch on Linux.
|
||||||
|
elif PLATFORM == 'linux':
|
||||||
|
if platform.architecture()[0] == '32bit':
|
||||||
|
return 'ia32'
|
||||||
|
else:
|
||||||
|
return 'x64'
|
||||||
|
# On Windows it depends on user.
|
||||||
|
elif PLATFORM == 'win32':
|
||||||
|
try:
|
||||||
|
target_arch_path = os.path.join(__file__, '..', '..', '..', 'vendor',
|
||||||
|
'brightray', 'vendor', 'download',
|
||||||
|
'libchromiumcontent', '.target_arch')
|
||||||
|
with open(os.path.normpath(target_arch_path)) as f:
|
||||||
|
return f.read().strip()
|
||||||
|
except IOError as e:
|
||||||
|
if e.errno != errno.ENOENT:
|
||||||
|
raise
|
||||||
|
# Build 32bit by default.
|
||||||
|
return 'ia32'
|
||||||
|
# Maybe we will support other platforms in future.
|
||||||
|
else:
|
||||||
|
return 'x64'
|
||||||
|
|
||||||
|
|
||||||
|
def s3_config():
|
||||||
|
config = (os.environ.get('ATOM_SHELL_S3_BUCKET', ''),
|
||||||
|
os.environ.get('ATOM_SHELL_S3_ACCESS_KEY', ''),
|
||||||
|
os.environ.get('ATOM_SHELL_S3_SECRET_KEY', ''))
|
||||||
|
message = ('Error: Please set the $ATOM_SHELL_S3_BUCKET, '
|
||||||
|
'$ATOM_SHELL_S3_ACCESS_KEY, and '
|
||||||
|
'$ATOM_SHELL_S3_SECRET_KEY environment variables')
|
||||||
|
assert all(len(c) for c in config), message
|
||||||
|
return config
|
||||||
|
|
||||||
|
|
||||||
def enable_verbose_mode():
|
def enable_verbose_mode():
|
||||||
print 'Running in verbose mode'
|
print 'Running in verbose mode'
|
||||||
global verbose_mode
|
global verbose_mode
|
||||||
verbose_mode = True
|
verbose_mode = True
|
||||||
|
|
||||||
|
|
||||||
def is_verbose_mode():
|
def is_verbose_mode():
|
||||||
return verbose_mode
|
return verbose_mode
|
||||||
|
|
|
@ -129,11 +129,11 @@ def safe_mkdir(path):
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
|
||||||
def execute(argv):
|
def execute(argv, env=os.environ):
|
||||||
if is_verbose_mode():
|
if is_verbose_mode():
|
||||||
print ' '.join(argv)
|
print ' '.join(argv)
|
||||||
try:
|
try:
|
||||||
output = subprocess.check_output(argv, stderr=subprocess.STDOUT)
|
output = subprocess.check_output(argv, stderr=subprocess.STDOUT, env=env)
|
||||||
if is_verbose_mode():
|
if is_verbose_mode():
|
||||||
print output
|
print output
|
||||||
return output
|
return output
|
||||||
|
@ -142,20 +142,28 @@ def execute(argv):
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
|
||||||
def execute_stdout(argv):
|
def execute_stdout(argv, env=os.environ):
|
||||||
if is_verbose_mode():
|
if is_verbose_mode():
|
||||||
print ' '.join(argv)
|
print ' '.join(argv)
|
||||||
try:
|
try:
|
||||||
subprocess.check_call(argv)
|
subprocess.check_call(argv, env=env)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
print e.output
|
print e.output
|
||||||
raise e
|
raise e
|
||||||
else:
|
else:
|
||||||
execute(argv)
|
execute(argv, env)
|
||||||
|
|
||||||
|
|
||||||
|
def atom_gyp():
|
||||||
|
SOURCE_ROOT = os.path.abspath(os.path.join(__file__, '..', '..', '..'))
|
||||||
|
gyp = os.path.join(SOURCE_ROOT, 'atom.gyp')
|
||||||
|
with open(gyp) as f:
|
||||||
|
obj = eval(f.read());
|
||||||
|
return obj['variables']
|
||||||
|
|
||||||
|
|
||||||
def get_atom_shell_version():
|
def get_atom_shell_version():
|
||||||
return subprocess.check_output(['git', 'describe', '--tags']).strip()
|
return atom_gyp()['version%']
|
||||||
|
|
||||||
|
|
||||||
def get_chromedriver_version():
|
def get_chromedriver_version():
|
||||||
|
@ -176,17 +184,6 @@ def parse_version(version):
|
||||||
return vs + ['0'] * (4 - len(vs))
|
return vs + ['0'] * (4 - len(vs))
|
||||||
|
|
||||||
|
|
||||||
def s3_config():
|
|
||||||
config = (os.environ.get('ATOM_SHELL_S3_BUCKET', ''),
|
|
||||||
os.environ.get('ATOM_SHELL_S3_ACCESS_KEY', ''),
|
|
||||||
os.environ.get('ATOM_SHELL_S3_SECRET_KEY', ''))
|
|
||||||
message = ('Error: Please set the $ATOM_SHELL_S3_BUCKET, '
|
|
||||||
'$ATOM_SHELL_S3_ACCESS_KEY, and '
|
|
||||||
'$ATOM_SHELL_S3_SECRET_KEY environment variables')
|
|
||||||
assert all(len(c) for c in config), message
|
|
||||||
return config
|
|
||||||
|
|
||||||
|
|
||||||
def s3put(bucket, access_key, secret_key, prefix, key_prefix, files):
|
def s3put(bucket, access_key, secret_key, prefix, key_prefix, files):
|
||||||
args = [
|
args = [
|
||||||
's3put',
|
's3put',
|
||||||
|
|
|
@ -4,7 +4,7 @@ import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from lib.config import DIST_ARCH
|
from lib.config import get_target_arch
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -23,14 +23,6 @@ def update_external_binaries():
|
||||||
|
|
||||||
|
|
||||||
def update_gyp():
|
def update_gyp():
|
||||||
target_arch = DIST_ARCH
|
|
||||||
if sys.platform == 'darwin':
|
|
||||||
# Only have 64bit build on OS X.
|
|
||||||
target_arch = 'x64'
|
|
||||||
elif sys.platform in ['cygwin', 'win32']:
|
|
||||||
# Only have 32bit build on Windows.
|
|
||||||
target_arch = 'ia32'
|
|
||||||
|
|
||||||
# Since gyp doesn't support specify link_settings for each configuration,
|
# Since gyp doesn't support specify link_settings for each configuration,
|
||||||
# we are not able to link to different libraries in "Debug" and "Release"
|
# we are not able to link to different libraries in "Debug" and "Release"
|
||||||
# configurations.
|
# configurations.
|
||||||
|
@ -38,6 +30,7 @@ def update_gyp():
|
||||||
# for twice, one is to generate "Debug" config, the other one to generate
|
# for twice, one is to generate "Debug" config, the other one to generate
|
||||||
# the "Release" config. And the settings are controlled by the variable
|
# the "Release" config. And the settings are controlled by the variable
|
||||||
# "libchromiumcontent_component" which is defined before running gyp.
|
# "libchromiumcontent_component" which is defined before running gyp.
|
||||||
|
target_arch = get_target_arch()
|
||||||
return (run_gyp(target_arch, 0) or run_gyp(target_arch, 1))
|
return (run_gyp(target_arch, 0) or run_gyp(target_arch, 1))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,8 @@ import hashlib
|
||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from lib.util import download, rm_rf, s3_config, s3put
|
from lib.config import s3_config
|
||||||
|
from lib.util import download, rm_rf, s3put
|
||||||
|
|
||||||
|
|
||||||
DIST_URL = 'https://atom.io/download/atom-shell/'
|
DIST_URL = 'https://atom.io/download/atom-shell/'
|
||||||
|
|
31
script/upload-index-json.py
Executable file
31
script/upload-index-json.py
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from lib.config import PLATFORM, s3_config
|
||||||
|
from lib.util import execute, s3put, scoped_cwd
|
||||||
|
|
||||||
|
|
||||||
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
# Upload the index.json.
|
||||||
|
with scoped_cwd(SOURCE_ROOT):
|
||||||
|
atom_shell = os.path.join(OUT_DIR, 'atom')
|
||||||
|
if PLATFORM == 'win32':
|
||||||
|
atom_shell += '.exe'
|
||||||
|
index_json = os.path.relpath(os.path.join(OUT_DIR, 'index.json'))
|
||||||
|
execute([atom_shell,
|
||||||
|
os.path.join('tools', 'dump-version-info.js'),
|
||||||
|
index_json])
|
||||||
|
|
||||||
|
bucket, access_key, secret_key = s3_config()
|
||||||
|
s3put(bucket, access_key, secret_key, OUT_DIR, 'atom-shell/dist',
|
||||||
|
[index_json])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
|
@ -7,8 +7,8 @@ import shutil
|
||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
|
|
||||||
from lib.config import TARGET_PLATFORM
|
from lib.config import PLATFORM, get_target_arch, s3_config
|
||||||
from lib.util import execute, safe_mkdir, scoped_cwd, s3_config, s3put
|
from lib.util import execute, safe_mkdir, scoped_cwd, s3put
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -47,11 +47,6 @@ def main():
|
||||||
bucket, access_key, secret_key = s3_config()
|
bucket, access_key, secret_key = s3_config()
|
||||||
upload_node(bucket, access_key, secret_key, args.version)
|
upload_node(bucket, access_key, secret_key, args.version)
|
||||||
|
|
||||||
# Upload the SHASUMS.txt.
|
|
||||||
execute([sys.executable,
|
|
||||||
os.path.join(SOURCE_ROOT, 'script', 'upload-checksums.py'),
|
|
||||||
'-v', args.version])
|
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
parser = argparse.ArgumentParser(description='upload sumsha file')
|
parser = argparse.ArgumentParser(description='upload sumsha file')
|
||||||
|
@ -109,39 +104,21 @@ def upload_node(bucket, access_key, secret_key, version):
|
||||||
s3put(bucket, access_key, secret_key, DIST_DIR,
|
s3put(bucket, access_key, secret_key, DIST_DIR,
|
||||||
'atom-shell/dist/{0}'.format(version), glob.glob('node-*.tar.gz'))
|
'atom-shell/dist/{0}'.format(version), glob.glob('node-*.tar.gz'))
|
||||||
|
|
||||||
if TARGET_PLATFORM == 'win32':
|
if PLATFORM == 'win32':
|
||||||
|
if get_target_arch() == 'ia32':
|
||||||
|
node_lib = os.path.join(DIST_DIR, 'node.lib')
|
||||||
|
else:
|
||||||
|
node_lib = os.path.join(DIST_DIR, 'x64', 'node.lib')
|
||||||
|
safe_mkdir(os.path.dirname(node_lib))
|
||||||
|
|
||||||
# Copy atom.lib to node.lib
|
# Copy atom.lib to node.lib
|
||||||
node_lib = os.path.join(OUT_DIR, 'node.lib')
|
|
||||||
atom_lib = os.path.join(OUT_DIR, 'node.dll.lib')
|
atom_lib = os.path.join(OUT_DIR, 'node.dll.lib')
|
||||||
shutil.copy2(atom_lib, node_lib)
|
shutil.copy2(atom_lib, node_lib)
|
||||||
|
|
||||||
# Upload the 32bit node.lib.
|
# Upload the node.lib.
|
||||||
s3put(bucket, access_key, secret_key, OUT_DIR,
|
s3put(bucket, access_key, secret_key, DIST_DIR,
|
||||||
'atom-shell/dist/{0}'.format(version), [node_lib])
|
'atom-shell/dist/{0}'.format(version), [node_lib])
|
||||||
|
|
||||||
# Upload the fake 64bit node.lib.
|
|
||||||
touch_x64_node_lib()
|
|
||||||
node_lib = os.path.join(OUT_DIR, 'x64', 'node.lib')
|
|
||||||
s3put(bucket, access_key, secret_key, OUT_DIR,
|
|
||||||
'atom-shell/dist/{0}'.format(version), [node_lib])
|
|
||||||
|
|
||||||
# Upload the index.json
|
|
||||||
with scoped_cwd(SOURCE_ROOT):
|
|
||||||
atom_shell = os.path.join(OUT_DIR, 'atom.exe')
|
|
||||||
index_json = os.path.relpath(os.path.join(OUT_DIR, 'index.json'))
|
|
||||||
execute([atom_shell,
|
|
||||||
os.path.join('script', 'dump-version-info.js'),
|
|
||||||
index_json])
|
|
||||||
s3put(bucket, access_key, secret_key, OUT_DIR, 'atom-shell/dist',
|
|
||||||
[index_json])
|
|
||||||
|
|
||||||
|
|
||||||
def touch_x64_node_lib():
|
|
||||||
x64_dir = os.path.join(OUT_DIR, 'x64')
|
|
||||||
safe_mkdir(x64_dir)
|
|
||||||
with open(os.path.join(x64_dir, 'node.lib'), 'w+') as node_lib:
|
|
||||||
node_lib.write('Invalid library')
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
sys.exit(main())
|
sys.exit(main())
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
import os
|
import os
|
||||||
import glob
|
import glob
|
||||||
|
|
||||||
from lib.util import execute, rm_rf, safe_mkdir, s3put, s3_config
|
from lib.config import s3_config
|
||||||
|
from lib.util import execute, rm_rf, safe_mkdir, s3put
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -11,6 +12,7 @@ SYMBOLS_DIR = 'dist\\symbols'
|
||||||
DOWNLOAD_DIR = 'vendor\\brightray\\vendor\\download\\libchromiumcontent'
|
DOWNLOAD_DIR = 'vendor\\brightray\\vendor\\download\\libchromiumcontent'
|
||||||
PDB_LIST = [
|
PDB_LIST = [
|
||||||
'out\\R\\atom.exe.pdb',
|
'out\\R\\atom.exe.pdb',
|
||||||
|
'out\\R\\node.dll.pdb',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from lib.config import DIST_ARCH, TARGET_PLATFORM
|
from lib.config import PLATFORM, get_target_arch
|
||||||
from lib.util import execute, get_atom_shell_version, parse_version, \
|
from lib.util import execute, get_atom_shell_version, parse_version, \
|
||||||
get_chromedriver_version, scoped_cwd
|
get_chromedriver_version, scoped_cwd
|
||||||
from lib.github import GitHub
|
from lib.github import GitHub
|
||||||
|
@ -21,14 +21,14 @@ SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
|
OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
|
||||||
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
||||||
DIST_NAME = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
DIST_NAME = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
||||||
TARGET_PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
SYMBOLS_NAME = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
SYMBOLS_NAME = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
||||||
TARGET_PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
CHROMEDRIVER_NAME = 'chromedriver-{0}-{1}-{2}.zip'.format(CHROMEDRIVER_VERSION,
|
CHROMEDRIVER_NAME = 'chromedriver-{0}-{1}-{2}.zip'.format(CHROMEDRIVER_VERSION,
|
||||||
TARGET_PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
@ -46,9 +46,26 @@ def main():
|
||||||
sys.stderr.flush()
|
sys.stderr.flush()
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
# Upload atom-shell with GitHub Releases API.
|
|
||||||
github = GitHub(auth_token())
|
github = GitHub(auth_token())
|
||||||
release_id = create_or_get_release_draft(github, args.version)
|
release_id = create_or_get_release_draft(github, args.version)
|
||||||
|
|
||||||
|
if args.publish_release:
|
||||||
|
# Upload the SHASUMS.txt.
|
||||||
|
execute([sys.executable,
|
||||||
|
os.path.join(SOURCE_ROOT, 'script', 'upload-checksums.py'),
|
||||||
|
'-v', ATOM_SHELL_VERSION])
|
||||||
|
|
||||||
|
# Upload the index.json.
|
||||||
|
execute([sys.executable,
|
||||||
|
os.path.join(SOURCE_ROOT, 'script', 'upload-index-json.py')])
|
||||||
|
|
||||||
|
# Press the publish button.
|
||||||
|
publish_release(github, release_id)
|
||||||
|
|
||||||
|
# Do not upload other files when passed "-p".
|
||||||
|
return
|
||||||
|
|
||||||
|
# Upload atom-shell with GitHub Releases API.
|
||||||
upload_atom_shell(github, release_id, os.path.join(DIST_DIR, DIST_NAME))
|
upload_atom_shell(github, release_id, os.path.join(DIST_DIR, DIST_NAME))
|
||||||
upload_atom_shell(github, release_id, os.path.join(DIST_DIR, SYMBOLS_NAME))
|
upload_atom_shell(github, release_id, os.path.join(DIST_DIR, SYMBOLS_NAME))
|
||||||
|
|
||||||
|
@ -57,19 +74,15 @@ def main():
|
||||||
upload_atom_shell(github, release_id,
|
upload_atom_shell(github, release_id,
|
||||||
os.path.join(DIST_DIR, CHROMEDRIVER_NAME))
|
os.path.join(DIST_DIR, CHROMEDRIVER_NAME))
|
||||||
|
|
||||||
if args.publish_release:
|
if PLATFORM == 'win32':
|
||||||
if TARGET_PLATFORM == 'win32':
|
# Upload PDBs to Windows symbol server.
|
||||||
# Upload PDBs to Windows symbol server.
|
execute([sys.executable,
|
||||||
execute([sys.executable,
|
os.path.join(SOURCE_ROOT, 'script', 'upload-windows-pdb.py')])
|
||||||
os.path.join(SOURCE_ROOT, 'script', 'upload-windows-pdb.py')])
|
|
||||||
|
|
||||||
# Upload node headers.
|
# Upload node headers.
|
||||||
execute([sys.executable,
|
execute([sys.executable,
|
||||||
os.path.join(SOURCE_ROOT, 'script', 'upload-node-headers.py'),
|
os.path.join(SOURCE_ROOT, 'script', 'upload-node-headers.py'),
|
||||||
'-v', ATOM_SHELL_VERSION])
|
'-v', ATOM_SHELL_VERSION])
|
||||||
|
|
||||||
# Press the publish button.
|
|
||||||
publish_release(github, release_id)
|
|
||||||
|
|
||||||
|
|
||||||
def parse_args():
|
def parse_args():
|
||||||
|
@ -83,10 +96,10 @@ def parse_args():
|
||||||
|
|
||||||
|
|
||||||
def get_atom_shell_build_version():
|
def get_atom_shell_build_version():
|
||||||
if TARGET_PLATFORM == 'darwin':
|
if PLATFORM == 'darwin':
|
||||||
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'Atom.app',
|
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'Atom.app',
|
||||||
'Contents', 'MacOS', 'Atom')
|
'Contents', 'MacOS', 'Atom')
|
||||||
elif TARGET_PLATFORM == 'win32':
|
elif PLATFORM == 'win32':
|
||||||
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'atom.exe')
|
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'atom.exe')
|
||||||
else:
|
else:
|
||||||
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'atom')
|
atom_shell = os.path.join(SOURCE_ROOT, 'out', 'R', 'atom')
|
||||||
|
|
|
@ -17,6 +17,9 @@ describe 'crash-reporter module', ->
|
||||||
beforeEach -> w = new BrowserWindow(show: false)
|
beforeEach -> w = new BrowserWindow(show: false)
|
||||||
afterEach -> w.destroy()
|
afterEach -> w.destroy()
|
||||||
|
|
||||||
|
# It is not working on 64bit Windows.
|
||||||
|
return if process.platform is 'win32' and process.arch is 'x64'
|
||||||
|
|
||||||
it 'should send minidump when renderer crashes', (done) ->
|
it 'should send minidump when renderer crashes', (done) ->
|
||||||
@timeout 60000
|
@timeout 60000
|
||||||
server = http.createServer (req, res) ->
|
server = http.createServer (req, res) ->
|
||||||
|
|
|
@ -43,6 +43,8 @@ function getInfoForCurrentVersion() {
|
||||||
'linux-x64-symbols',
|
'linux-x64-symbols',
|
||||||
'win32-ia32',
|
'win32-ia32',
|
||||||
'win32-ia32-symbols',
|
'win32-ia32-symbols',
|
||||||
|
'win32-x64',
|
||||||
|
'win32-x64-symbols',
|
||||||
];
|
];
|
||||||
|
|
||||||
return json;
|
return json;
|
2
vendor/breakpad
vendored
2
vendor/breakpad
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 1e937567e92d2c3beed4556f3c68a4b0362b1e6d
|
Subproject commit 4427c1170387afe46eb3fad259436f1f9f5efa86
|
2
vendor/brightray
vendored
2
vendor/brightray
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit f2b33daa4ea5a1e1ba0a5b18a3f0470d99b6f962
|
Subproject commit 80a002c4a239f347cc4e0eea7378054977520726
|
Loading…
Add table
Add a link
Reference in a new issue