From 3d4491a4682a779f21232e08255d6fdaede04cc8 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Fri, 5 Dec 2014 23:01:03 -0800 Subject: [PATCH 01/19] Determine the Helper name from the App name --- atom/app/atom_main_delegate_mac.mm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/atom/app/atom_main_delegate_mac.mm b/atom/app/atom_main_delegate_mac.mm index 9795ee459c7b..856f510a439d 100644 --- a/atom/app/atom_main_delegate_mac.mm +++ b/atom/app/atom_main_delegate_mac.mm @@ -19,18 +19,28 @@ base::FilePath GetFrameworksPath() { .Append("Frameworks"); } +std::string GetApplicationName() { + std::string name = brightray::MainApplicationBundlePath().BaseName().AsUTF8Unsafe(); + return name.substr(0, name.length() - 4/*.app*/); +} + } // namespace void AtomMainDelegate::OverrideFrameworkBundlePath() { - base::mac::SetOverrideFrameworkBundlePath( - GetFrameworksPath().Append("Atom Framework.framework")); + base::FilePath bundlePath = GetFrameworksPath(); + std::string app_name = GetApplicationName(); + + base::mac::SetOverrideFrameworkBundlePath(bundlePath + .Append(app_name + " Framework.framework")); } void AtomMainDelegate::OverrideChildProcessPath() { - base::FilePath helper_path = GetFrameworksPath().Append("Atom Helper.app") + std::string app_name = GetApplicationName(); + + base::FilePath helper_path = GetFrameworksPath().Append(app_name + " Helper.app") .Append("Contents") .Append("MacOS") - .Append("Atom Helper"); + .Append(app_name + " Helper"); PathService::Override(content::CHILD_PROCESS_EXE, helper_path); } From 091357ad8e5b8bedac3c61026afd96190861bb20 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Fri, 5 Dec 2014 23:19:05 -0800 Subject: [PATCH 02/19] Find the MainMenu nib correctly --- atom/browser/atom_browser_main_parts_mac.mm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/atom/browser/atom_browser_main_parts_mac.mm b/atom/browser/atom_browser_main_parts_mac.mm index d31dde15dd68..c1a9eae3147f 100644 --- a/atom/browser/atom_browser_main_parts_mac.mm +++ b/atom/browser/atom_browser_main_parts_mac.mm @@ -13,6 +13,11 @@ namespace atom { +std::string GetApplicationName() { + std::string name = brightray::MainApplicationBundlePath().BaseName().AsUTF8Unsafe(); + return name.substr(0, name.length() - 4/*.app*/); +} + void AtomBrowserMainParts::PreMainMessageLoopStart() { // Initialize locale setting. l10n_util::OverrideLocaleWithCocoaLocale(); @@ -26,7 +31,7 @@ void AtomBrowserMainParts::PreMainMessageLoopStart() { base::FilePath frameworkPath = brightray::MainApplicationBundlePath() .Append("Contents") .Append("Frameworks") - .Append("Atom Framework.framework"); + .Append(GetApplicationName() + " Framework.framework"); NSBundle* frameworkBundle = [NSBundle bundleWithPath:base::mac::FilePathToNSString(frameworkPath)]; NSNib* mainNib = [[NSNib alloc] initWithNibNamed:@"MainMenu" From 743e8331b5d591bb4d6ef13ef4a9dfff5bb92d46 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Sun, 7 Dec 2014 18:42:59 +0300 Subject: [PATCH 03/19] Helps troubleshooting --- script/lib/util.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/script/lib/util.py b/script/lib/util.py index 83c3e05148b4..9734005ddb14 100644 --- a/script/lib/util.py +++ b/script/lib/util.py @@ -132,6 +132,8 @@ def safe_mkdir(path): def execute(argv): + if verbose_mode: + print ' '.join(argv) try: output = subprocess.check_output(argv, stderr=subprocess.STDOUT) if verbose_mode: From 3f4fec0864b5cb61b2fe3a10fdc2a6db7394af23 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Sun, 7 Dec 2014 18:46:12 +0300 Subject: [PATCH 04/19] Why not verbose? The silence are scary --- docs/development/build-instructions-windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/build-instructions-windows.md b/docs/development/build-instructions-windows.md index 3290a26a96b8..47f43c879db4 100644 --- a/docs/development/build-instructions-windows.md +++ b/docs/development/build-instructions-windows.md @@ -43,7 +43,7 @@ python script\bootstrap.py Build both Release and Debug targets: ```powershell -python script\build.py +python script\build.py -v ``` You can also only build the Debug target: From 2153e018a3cef4d89111fff5c72735b050c0d24d Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Sun, 7 Dec 2014 18:47:23 +0300 Subject: [PATCH 05/19] Bootstrap indeed --- docs/development/build-instructions-windows.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/development/build-instructions-windows.md b/docs/development/build-instructions-windows.md index 47f43c879db4..ae495034bffa 100644 --- a/docs/development/build-instructions-windows.md +++ b/docs/development/build-instructions-windows.md @@ -35,7 +35,7 @@ there is no Visual Studio project generated. ```powershell cd atom-shell -python script\bootstrap.py +python script\bootstrap.py -v ``` ## Building @@ -43,7 +43,7 @@ python script\bootstrap.py Build both Release and Debug targets: ```powershell -python script\build.py -v +python script\build.py ``` You can also only build the Debug target: From a5e1d8c97f8ff0662254c9c10ebf927e0c5a5a52 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 02:42:55 +0300 Subject: [PATCH 06/19] introduce execute_stdout `execute_stdout` does not return the output of the process. Instead it outputs directly to current stdout (in real-time - to see what is `npm` doing now) --- script/lib/util.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/script/lib/util.py b/script/lib/util.py index 9734005ddb14..852d2af194cc 100644 --- a/script/lib/util.py +++ b/script/lib/util.py @@ -144,6 +144,18 @@ def execute(argv): raise e +def execute_stdout(argv): + if verbose_mode: + print ' '.join(argv) + try: + subprocess.check_call(argv) + except subprocess.CalledProcessError as e: + print e.output + raise e + else: + return execute(argv) + + def get_atom_shell_version(): return subprocess.check_output(['git', 'describe', '--tags']).strip() From bf4c219766e245c69d3ae97338913dbafa7c50f5 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 02:47:05 +0300 Subject: [PATCH 07/19] Make use of execute_stdout execute_stdout makes stdout real-time --- script/bootstrap.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/script/bootstrap.py b/script/bootstrap.py index 516e0b4d0e9a..9a95b1e02aa1 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -5,7 +5,7 @@ import os import sys from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL -from lib.util import execute, scoped_cwd, enable_verbose_execute +from lib.util import execute, execute_stdout, scoped_cwd, enable_verbose_execute SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) @@ -49,19 +49,19 @@ def parse_args(): def update_submodules(): - execute(['git', 'submodule', 'sync']) - execute(['git', 'submodule', 'update', '--init', '--recursive']) + execute_stdout(['git', 'submodule', 'sync']) + execute_stdout(['git', 'submodule', 'update', '--init', '--recursive']) def bootstrap_brightray(url): bootstrap = os.path.join(VENDOR_DIR, 'brightray', 'script', 'bootstrap') - execute([sys.executable, bootstrap, '--commit', LIBCHROMIUMCONTENT_COMMIT, - url]) + execute_stdout([sys.executable, bootstrap, '--commit', LIBCHROMIUMCONTENT_COMMIT, + url]) def update_node_modules(dirname): with scoped_cwd(dirname): - execute([NPM, 'install']) + execute_stdout([NPM, 'install']) def update_atom_modules(dirname): @@ -70,20 +70,20 @@ def update_atom_modules(dirname): if sys.platform in ['win32', 'cygwin']: apm = os.path.join(SOURCE_ROOT, 'node_modules', 'atom-package-manager', 'bin', 'apm.cmd') - execute([apm, 'install']) + execute_stdout([apm, 'install']) def update_win32_python(): with scoped_cwd(VENDOR_DIR): if not os.path.exists('python_26'): - execute(['git', 'clone', PYTHON_26_URL]) + execute_stdout(['git', 'clone', PYTHON_26_URL]) def install_runas(): # TODO This is needed by the tools/win/register_msdia80_dll.js, should move # this to a better place. with scoped_cwd(os.path.join(SOURCE_ROOT, 'tools', 'win')): - execute([NPM, 'install', 'runas']) + execute_stdout([NPM, 'install', 'runas']) def create_chrome_version_h(): @@ -112,7 +112,7 @@ def touch_config_gypi(): def update_atom_shell(): update = os.path.join(SOURCE_ROOT, 'script', 'update.py') - execute([sys.executable, update]) + execute_stdout([sys.executable, update]) if __name__ == '__main__': From 19bba5c18cdf62d31dace404289cda700169959e Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 02:52:13 +0300 Subject: [PATCH 08/19] One more `verbose_mode` `bootstrap.py` new variable `verbose_mode` to run `npm install` with --verbose option --- script/bootstrap.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/script/bootstrap.py b/script/bootstrap.py index 9a95b1e02aa1..018599092b19 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -14,12 +14,17 @@ PYTHON_26_URL = 'https://chromium.googlesource.com/chromium/deps/python_26' NPM = 'npm.cmd' if sys.platform in ['win32', 'cygwin'] else 'npm' +verbose_mode = False + + def main(): os.chdir(SOURCE_ROOT) args = parse_args() if args.verbose: enable_verbose_execute() + global verbose_mode + verbose_mode = True update_submodules() update_node_modules('.') update_atom_modules('spec') @@ -61,7 +66,10 @@ def bootstrap_brightray(url): def update_node_modules(dirname): with scoped_cwd(dirname): - execute_stdout([NPM, 'install']) + if verbose_mode: + execute_stdout([NPM, 'install', '--verbose']) + else: + execute_stdout([NPM, 'install']) def update_atom_modules(dirname): From 20afd51a9d82b93824302c8e26b69ffe5ca5fbc7 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 02:58:04 +0300 Subject: [PATCH 09/19] Travis CI says long line detected Foldede the line --- script/bootstrap.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/script/bootstrap.py b/script/bootstrap.py index 018599092b19..35da6a5429a0 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -60,8 +60,8 @@ def update_submodules(): def bootstrap_brightray(url): bootstrap = os.path.join(VENDOR_DIR, 'brightray', 'script', 'bootstrap') - execute_stdout([sys.executable, bootstrap, '--commit', LIBCHROMIUMCONTENT_COMMIT, - url]) + execute_stdout([sys.executable, bootstrap, '--commit', + LIBCHROMIUMCONTENT_COMMIT, url]) def update_node_modules(dirname): From 7ff95ec25533aee53189f7f3536af21126ca3819 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 03:04:41 +0300 Subject: [PATCH 10/19] Travis CI says: execute unused Removed `execute` import --- script/bootstrap.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/bootstrap.py b/script/bootstrap.py index 35da6a5429a0..8431fe35092a 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -5,7 +5,7 @@ import os import sys from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL -from lib.util import execute, execute_stdout, scoped_cwd, enable_verbose_execute +from lib.util import execute_stdout, scoped_cwd, enable_verbose_execute SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) From 8eab230fe11250413f4ecc708eb3212c84385e1b Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Sun, 7 Dec 2014 21:06:47 -0800 Subject: [PATCH 11/19] Delete OverrideChildProcessPath and OverrideFrameworkBundlePath altogether --- atom.gyp | 1 - atom/app/atom_main_delegate.h | 4 --- atom/app/atom_main_delegate_mac.mm | 47 ------------------------------ 3 files changed, 52 deletions(-) delete mode 100644 atom/app/atom_main_delegate_mac.mm diff --git a/atom.gyp b/atom.gyp index e3c9eeab71cd..3b607589a124 100644 --- a/atom.gyp +++ b/atom.gyp @@ -58,7 +58,6 @@ 'atom/app/atom_content_client.h', 'atom/app/atom_main_delegate.cc', 'atom/app/atom_main_delegate.h', - 'atom/app/atom_main_delegate_mac.mm', 'atom/browser/api/atom_api_app.cc', 'atom/browser/api/atom_api_app.h', 'atom/browser/api/atom_api_auto_updater.cc', diff --git a/atom/app/atom_main_delegate.h b/atom/app/atom_main_delegate.h index 8cd4a28ee1c0..9f74386304a1 100644 --- a/atom/app/atom_main_delegate.h +++ b/atom/app/atom_main_delegate.h @@ -26,10 +26,6 @@ class AtomMainDelegate : public brightray::MainDelegate { scoped_ptr CreateContentClient() override; void AddDataPackFromPath( ui::ResourceBundle* bundle, const base::FilePath& pak_dir) override; -#if defined(OS_MACOSX) - void OverrideChildProcessPath() override; - void OverrideFrameworkBundlePath() override; -#endif private: brightray::ContentClient content_client_; diff --git a/atom/app/atom_main_delegate_mac.mm b/atom/app/atom_main_delegate_mac.mm deleted file mode 100644 index 856f510a439d..000000000000 --- a/atom/app/atom_main_delegate_mac.mm +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2013 GitHub, Inc. -// Use of this source code is governed by the MIT license that can be -// found in the LICENSE file. - -#include "atom/app/atom_main_delegate.h" - -#include "base/mac/bundle_locations.h" -#include "base/files/file_path.h" -#include "base/path_service.h" -#include "brightray/common/mac/main_application_bundle.h" -#include "content/public/common/content_paths.h" - -namespace atom { - -namespace { - -base::FilePath GetFrameworksPath() { - return brightray::MainApplicationBundlePath().Append("Contents") - .Append("Frameworks"); -} - -std::string GetApplicationName() { - std::string name = brightray::MainApplicationBundlePath().BaseName().AsUTF8Unsafe(); - return name.substr(0, name.length() - 4/*.app*/); -} - -} // namespace - -void AtomMainDelegate::OverrideFrameworkBundlePath() { - base::FilePath bundlePath = GetFrameworksPath(); - std::string app_name = GetApplicationName(); - - base::mac::SetOverrideFrameworkBundlePath(bundlePath - .Append(app_name + " Framework.framework")); -} - -void AtomMainDelegate::OverrideChildProcessPath() { - std::string app_name = GetApplicationName(); - - base::FilePath helper_path = GetFrameworksPath().Append(app_name + " Helper.app") - .Append("Contents") - .Append("MacOS") - .Append(app_name + " Helper"); - PathService::Override(content::CHILD_PROCESS_EXE, helper_path); -} - -} // namespace atom From d0f6c89e77dfdfb0389416522088797e225a230c Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Sun, 7 Dec 2014 21:26:13 -0800 Subject: [PATCH 12/19] Bump brightray to pick up brightray/brightray#85 --- vendor/brightray | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/brightray b/vendor/brightray index 4f04cc8121dd..bfb260091418 160000 --- a/vendor/brightray +++ b/vendor/brightray @@ -1 +1 @@ -Subproject commit 4f04cc8121dd05ed61a8c94edfa66201e12f0abb +Subproject commit bfb26009141811255e3faa9f165cc962fd3ffc26 From e87876671f582914008e6c4773db42e17f6f5587 Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Sun, 7 Dec 2014 21:38:29 -0800 Subject: [PATCH 13/19] Add some documentation about renaming Atom Shell --- docs/tutorial/application-distribution.md | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/docs/tutorial/application-distribution.md b/docs/tutorial/application-distribution.md index 8258028f2f4b..ff1030bbf7d5 100644 --- a/docs/tutorial/application-distribution.md +++ b/docs/tutorial/application-distribution.md @@ -27,6 +27,35 @@ Then execute `Atom.app` (or `atom` on Linux, and `atom.exe` on Windows), and atom-shell will start as your app. The `atom-shell` directory would then be your distribution that should be delivered to final users. +## Renaming Atom Shell for your app + +The best way to rename Atom Shell is to change the `atom.gyp` file, then build +from source. Open up `atom.gyp` and change the first lines: + +``` +'project_name': 'atom', +'product_name': 'Atom', +'framework_name': 'Atom Framework', +``` + +Once you make the change, re-run `script/bootstrap` then run the command: + +```sh +script/build.py -c Release -t $whatever_you_chose_for_project_name +``` + +If your app is OS X / Linux-only, you can also simply rename the "Atom.app" +folder as well as the names under "Framework" (i.e. "Atom Framework.framework" +=> "MyApp Framework.framework"), but this will break loading native Node +modules on Windows. + +Fixing this is complicated, but a Grunt task has been created that will handle +this automatically, +[grunt-build-atom-shell](https://github.com/paulcbetts/grunt-build-atom-shell). +This task will automatically handle editing the .gyp file, building from +source, then rebuilding your app's native Node modules to match the new +executable name. + ## Packaging your app into a file Apart from shipping your app by copying all its sources files, you can also From b88824a70cadba5217d2a5006b92e6446decd71d Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 20:00:35 +0300 Subject: [PATCH 14/19] verbose_mode getter/setter --- script/lib/config.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/script/lib/config.py b/script/lib/config.py index 21cc8828b509..395fcd36ea82 100644 --- a/script/lib/config.py +++ b/script/lib/config.py @@ -23,3 +23,13 @@ TARGET_PLATFORM = { 'linux2': 'linux', 'win32': 'win32', }[sys.platform] + +verbose_mode = False + +def enable_verbose_mode(): + print 'Running in verbose mode' + global verbose_mode + verbose_mode = True + +def is_verbose_mode(): + return verbose_mode From 0f29d9f30f6b192b63e3e2aff0c67e09e32d3b46 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 20:02:08 +0300 Subject: [PATCH 15/19] verbose_mode from config.py Also, no return value supposed for execute_stdout --- script/lib/util.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/script/lib/util.py b/script/lib/util.py index 852d2af194cc..c6f07cea7322 100644 --- a/script/lib/util.py +++ b/script/lib/util.py @@ -12,7 +12,7 @@ import urllib2 import os import zipfile -verbose_mode = False +from config import is_verbose_mode def tempdir(prefix=''): directory = tempfile.mkdtemp(prefix=prefix) @@ -20,12 +20,6 @@ def tempdir(prefix=''): return directory -def enable_verbose_execute(): - print 'Running in verbose mode' - global verbose_mode - verbose_mode = True - - @contextlib.contextmanager def scoped_cwd(path): cwd = os.getcwd() @@ -132,11 +126,11 @@ def safe_mkdir(path): def execute(argv): - if verbose_mode: + if is_verbose_mode(): print ' '.join(argv) try: output = subprocess.check_output(argv, stderr=subprocess.STDOUT) - if verbose_mode: + if is_verbose_mode(): print output return output except subprocess.CalledProcessError as e: @@ -145,7 +139,7 @@ def execute(argv): def execute_stdout(argv): - if verbose_mode: + if is_verbose_mode(): print ' '.join(argv) try: subprocess.check_call(argv) @@ -153,7 +147,7 @@ def execute_stdout(argv): print e.output raise e else: - return execute(argv) + execute(argv) def get_atom_shell_version(): From da900b309476f2d7342215e6f5abb8c09c968701 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 20:03:48 +0300 Subject: [PATCH 16/19] bootstrap.py also imports it --- script/bootstrap.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/script/bootstrap.py b/script/bootstrap.py index 8431fe35092a..5f288dce1c55 100755 --- a/script/bootstrap.py +++ b/script/bootstrap.py @@ -4,8 +4,9 @@ import argparse import os import sys -from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL -from lib.util import execute_stdout, scoped_cwd, enable_verbose_execute +from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, \ + enable_verbose_mode, is_verbose_mode +from lib.util import execute_stdout, scoped_cwd SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) @@ -14,17 +15,12 @@ PYTHON_26_URL = 'https://chromium.googlesource.com/chromium/deps/python_26' NPM = 'npm.cmd' if sys.platform in ['win32', 'cygwin'] else 'npm' -verbose_mode = False - - def main(): os.chdir(SOURCE_ROOT) args = parse_args() if args.verbose: - enable_verbose_execute() - global verbose_mode - verbose_mode = True + enable_verbose_mode() update_submodules() update_node_modules('.') update_atom_modules('spec') @@ -66,7 +62,7 @@ def bootstrap_brightray(url): def update_node_modules(dirname): with scoped_cwd(dirname): - if verbose_mode: + if is_verbose_mode(): execute_stdout([NPM, 'install', '--verbose']) else: execute_stdout([NPM, 'install']) From 4d5bbbc2d7d09c7ebd6a2136b79c46b671ecc0c7 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 20:07:00 +0300 Subject: [PATCH 17/19] bootstrap.py -v --- docs/development/build-instructions-linux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/build-instructions-linux.md b/docs/development/build-instructions-linux.md index 901446957e84..eb0df9ee3fbe 100644 --- a/docs/development/build-instructions-linux.md +++ b/docs/development/build-instructions-linux.md @@ -38,7 +38,7 @@ there is no `Makefile` generated. ```bash $ cd atom-shell -$ ./script/bootstrap.py +$ ./script/bootstrap.py -v ``` ## Building From 27710cd4f73187fff1179744001056b74c003724 Mon Sep 17 00:00:00 2001 From: IgorKlopov Date: Mon, 8 Dec 2014 20:07:29 +0300 Subject: [PATCH 18/19] bootstrap.py -v in mac --- docs/development/build-instructions-mac.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/build-instructions-mac.md b/docs/development/build-instructions-mac.md index 342f6e2a4d66..1a799a225993 100644 --- a/docs/development/build-instructions-mac.md +++ b/docs/development/build-instructions-mac.md @@ -25,7 +25,7 @@ there is no Xcode project generated. ```bash $ cd atom-shell -$ ./script/bootstrap.py +$ ./script/bootstrap.py -v ``` ## Building From aa3be09ab089bdf21b441afccadd66daa1f26c4f Mon Sep 17 00:00:00 2001 From: Paul Betts Date: Mon, 8 Dec 2014 20:26:09 -0800 Subject: [PATCH 19/19] Bump submodule to merged version --- vendor/brightray | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/brightray b/vendor/brightray index bfb260091418..f7bde9236474 160000 --- a/vendor/brightray +++ b/vendor/brightray @@ -1 +1 @@ -Subproject commit bfb26009141811255e3faa9f165cc962fd3ffc26 +Subproject commit f7bde923647448b1ae25fa4c1e3596d93febb7cf