New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #569: Merge Bramble with upstream Adobe Brackets (1.9 dev) #588

Merged
merged 16 commits into from Feb 16, 2017

Conversation

Projects
None yet
3 participants
@humphd
Member

humphd commented Feb 13, 2017

mozilla/brackets: 3754f1a (Wed Feb 8, 2017)
adobe/brackets: e9399ba (Sun Jan 29, 2017)

This is almost done. I've fixed all the merge conflicts, and am starting on fixing regressions. Once I'm done we'll need to test it for a while, since I have no idea how badly this will break things.

Fix #569: Merge Bramble with upstream Adobe Brackets (1.9 dev)
mozilla/brackets: 3754f1a (Wed Feb 8, 2017)
adobe/brackets: e9399ba (Sun Jan 29, 2017)

Common ancestor is c14890d (Tue May 26, 2015)
@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

Out of interest, some stats:

  • We split-off from Adobe in May 2015 at c14890d (21 months ago)
  • Since then, Adobe's repo has had 1063 commits
  • Since then, Mozilla's repo has had 485 commits
  • 1,548 commits total between us

It took me about 8 hours to deal with the conflicts between the two branches, which total +45,846 −27,697 = 18,149 LOC.

Member

humphd commented Feb 13, 2017

Out of interest, some stats:

  • We split-off from Adobe in May 2015 at c14890d (21 months ago)
  • Since then, Adobe's repo has had 1063 commits
  • Since then, Mozilla's repo has had 485 commits
  • 1,548 commits total between us

It took me about 8 hours to deal with the conflicts between the two branches, which total +45,846 −27,697 = 18,149 LOC.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

This seems to run now, and I've fixed all the new eslint issues. I've also merged in the latest stuff on master that landed after I started my big merge. The only conflict I had there was the new allowJavaScript pref stuff, which I think I fixed OK.

This needs a ton of testing before we land.

Member

humphd commented Feb 13, 2017

This seems to run now, and I've fixed all the new eslint issues. I've also merged in the latest stuff on master that landed after I started my big merge. The only conflict I had there was the new allowJavaScript pref stuff, which I think I fixed OK.

This needs a ton of testing before we land.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd
Member

humphd commented Feb 13, 2017

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

One thing I see on console is about a conflict in the keybindings:

Cannot assign Alt-W to cmd.switchPaneFocus. It is already assigned to file.close
_addBinding @ KeyBindingManager.js:747
addBinding @ KeyBindingManager.js:883
_initialize @ MainViewManager.js:1643
(anonymous) @ MainViewManager.js:1692
_callHandler @ AppInit.js:89
_dispatchReady @ AppInit.js:109
(anonymous) @ brackets.js:325
j @ jquery-2.1.3.min.js:2
fireWith @ jquery-2.1.3.min.js:2
e.(anonymous function) @ jquery-2.1.3.min.js:2
(anonymous) @ PreferencesBase.js:322
(anonymous) @ jquery-2.1.3.min.js:2
j @ jquery-2.1.3.min.js:2
fireWith @ jquery-2.1.3.min.js:2
e.(anonymous function) @ jquery-2.1.3.min.js:2
(anonymous) @ PreferencesBase.js:192
(anonymous) @ File.js:110
(anonymous) @ FilerFileSystem.js:235
(anonymous) @ BracketsFiler.js:118
remoteFSCallbackHandler @ RemoteFiler.js:27
Member

humphd commented Feb 13, 2017

One thing I see on console is about a conflict in the keybindings:

Cannot assign Alt-W to cmd.switchPaneFocus. It is already assigned to file.close
_addBinding @ KeyBindingManager.js:747
addBinding @ KeyBindingManager.js:883
_initialize @ MainViewManager.js:1643
(anonymous) @ MainViewManager.js:1692
_callHandler @ AppInit.js:89
_dispatchReady @ AppInit.js:109
(anonymous) @ brackets.js:325
j @ jquery-2.1.3.min.js:2
fireWith @ jquery-2.1.3.min.js:2
e.(anonymous function) @ jquery-2.1.3.min.js:2
(anonymous) @ PreferencesBase.js:322
(anonymous) @ jquery-2.1.3.min.js:2
j @ jquery-2.1.3.min.js:2
fireWith @ jquery-2.1.3.min.js:2
e.(anonymous function) @ jquery-2.1.3.min.js:2
(anonymous) @ PreferencesBase.js:192
(anonymous) @ File.js:110
(anonymous) @ FilerFileSystem.js:235
(anonymous) @ BracketsFiler.js:118
remoteFSCallbackHandler @ RemoteFiler.js:27
@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

@gideonthomas actually, I need some advice on fixing something. They have a new string that is messing up the localization scripts:

https://github.com/adobe/brackets/blob/master/src/nls/root/strings.js#L788

Is it because of the \n?

Tracing dependencies for: main

Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

Error: Line 670: Unexpected token ILLEGAL

In module tree:

    brackets

      language/LanguageManager

        file/FileUtils

          strings

            i18n

{ Error: Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

Error: Line 670: Unexpected token ILLEGAL

In module tree:

    brackets

      language/LanguageManager

        file/FileUtils

          strings

            i18n

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29530:47

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:30099:19

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3081:39

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3021:25

    at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

    at Object.errback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3020:26)

    at Object.callback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3006:23)

    at Object.then (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3060:23)

    at build (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:30056:12)

    at runBuild (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:32006:17)

    at Object.execCb (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:1941:33)

  originalError: 

   { Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

   Error: Line 670: Unexpected token ILLEGAL

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29530:47

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3063:37

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3011:25

       at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

       at Object.callback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3010:26)

       at Object.then (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3060:23)

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29506:69

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3063:37

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3011:25

       at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

     fileName: '/home/travis/build/mozilla/brackets/src/nls/root/strings.js',

     moduleTree: 

      [ 'i18n',

        'strings',

        'file/FileUtils',

        'language/LanguageManager',

        'brackets' ] } }

The command "grunt build-browser-compressed" exited with 1.
Member

humphd commented Feb 13, 2017

@gideonthomas actually, I need some advice on fixing something. They have a new string that is messing up the localization scripts:

https://github.com/adobe/brackets/blob/master/src/nls/root/strings.js#L788

Is it because of the \n?

Tracing dependencies for: main

Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

Error: Line 670: Unexpected token ILLEGAL

In module tree:

    brackets

      language/LanguageManager

        file/FileUtils

          strings

            i18n

{ Error: Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

Error: Line 670: Unexpected token ILLEGAL

In module tree:

    brackets

      language/LanguageManager

        file/FileUtils

          strings

            i18n

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29530:47

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:30099:19

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3081:39

    at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3021:25

    at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

    at Object.errback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3020:26)

    at Object.callback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3006:23)

    at Object.then (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3060:23)

    at build (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:30056:12)

    at runBuild (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:32006:17)

    at Object.execCb (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:1941:33)

  originalError: 

   { Error: Parse error using esprima for file: /home/travis/build/mozilla/brackets/src/nls/root/strings.js

   Error: Line 670: Unexpected token ILLEGAL

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29530:47

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3063:37

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3011:25

       at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

       at Object.callback (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3010:26)

       at Object.then (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3060:23)

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29506:69

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3063:37

       at /home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:3011:25

       at Function.prim.nextTick (/home/travis/build/mozilla/brackets/node_modules/requirejs/bin/r.js:29929:9)

     fileName: '/home/travis/build/mozilla/brackets/src/nls/root/strings.js',

     moduleTree: 

      [ 'i18n',

        'strings',

        'file/FileUtils',

        'language/LanguageManager',

        'brackets' ] } }

The command "grunt build-browser-compressed" exited with 1.
@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

@gideonthomas nvm, I figured it out and fixed locally.

Member

humphd commented Feb 13, 2017

@gideonthomas nvm, I figured it out and fixed locally.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 13, 2017

Member

This is getting closer and closer. Some notes:

  • I've fixed mozilla/thimble.mozilla.org#1670 which was causing eslint failures in the new build setup
  • I've dealt with a few Gruntfile issues, and the build works now
  • We seem to copy a lot of node_modules/* over, which doesn't seem necessary. However, avoiding all node_module/* copying into dist/ will be bad, since they use some code this way vs. submodules as before. We should untangle this and make it a bit cleaner
  • I think we can probably update to latest grunt-contrib-compress, but I'm not sure if that s3 bug is gone

I'd love to finish this and land things this week, so if you can help me @gideonthomas, it would be great!

Member

humphd commented Feb 13, 2017

This is getting closer and closer. Some notes:

  • I've fixed mozilla/thimble.mozilla.org#1670 which was causing eslint failures in the new build setup
  • I've dealt with a few Gruntfile issues, and the build works now
  • We seem to copy a lot of node_modules/* over, which doesn't seem necessary. However, avoiding all node_module/* copying into dist/ will be bad, since they use some code this way vs. submodules as before. We should untangle this and make it a bit cleaner
  • I think we can probably update to latest grunt-contrib-compress, but I'm not sure if that s3 bug is gone

I'd love to finish this and land things this week, so if you can help me @gideonthomas, it would be great!

@gideonthomas

This comment has been minimized.

Show comment
Hide comment
@gideonthomas

gideonthomas Feb 14, 2017

Member

I see three errors in the console:
screen shot 2017-02-14 at 10 35 05 am

EDIT: I feel like the first error is the real problem and it's causing the other two.

Member

gideonthomas commented Feb 14, 2017

I see three errors in the console:
screen shot 2017-02-14 at 10 35 05 am

EDIT: I feel like the first error is the real problem and it's causing the other two.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 14, 2017

Member

@gideonthomas I'll dig into those errors. Did you look at the copy stuff and node_modules?

Member

humphd commented Feb 14, 2017

@gideonthomas I'll dig into those errors. Did you look at the copy stuff and node_modules?

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 14, 2017

Member

To be honest, I'm not even clear why they install all these node_modules into dist/ at all. There seems to be very few places that actually uses any of it:

https://github.com/adobe/brackets/search?utf8=%E2%9C%93&q=node_modules

I wonder if we can just skip it?

Member

humphd commented Feb 14, 2017

To be honest, I'm not even clear why they install all these node_modules into dist/ at all. There seems to be very few places that actually uses any of it:

https://github.com/adobe/brackets/search?utf8=%E2%9C%93&q=node_modules

I wonder if we can just skip it?

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 14, 2017

Member

@gideonthomas that error is due to the change here: https://github.com/mozilla/brackets/pull/584/files#diff-cedef1a0021f9b0a7a54ca7d3c53caa9 which references a string and command that weren't added, which causes this to fail: https://github.com/mozilla/brackets/pull/584/files#diff-cedef1a0021f9b0a7a54ca7d3c53caa9R104. cc @peiying16.

I've pushed a patch that fixes it. When we aren't adding commands that need UI, we should prefer registerInternal() to register(), which differ only by the need for a UI string.

I've also fixed the same error in the bramble-move-file extension.

Member

humphd commented Feb 14, 2017

@gideonthomas that error is due to the change here: https://github.com/mozilla/brackets/pull/584/files#diff-cedef1a0021f9b0a7a54ca7d3c53caa9 which references a string and command that weren't added, which causes this to fail: https://github.com/mozilla/brackets/pull/584/files#diff-cedef1a0021f9b0a7a54ca7d3c53caa9R104. cc @peiying16.

I've pushed a patch that fixes it. When we aren't adding commands that need UI, we should prefer registerInternal() to register(), which differ only by the need for a UI string.

I've also fixed the same error in the bramble-move-file extension.

@gideonthomas

This comment has been minimized.

Show comment
Hide comment
@gideonthomas

gideonthomas Feb 14, 2017

Member

Ah, nice catch @humphd! Yeah I'm looking through the copy stuff right now (it's hard to find where some of these are being used).

Member

gideonthomas commented Feb 14, 2017

Ah, nice catch @humphd! Yeah I'm looking through the copy stuff right now (it's hard to find where some of these are being used).

@gideonthomas

This comment has been minimized.

Show comment
Hide comment
@gideonthomas

gideonthomas Feb 14, 2017

Member

I'm not sure I understand why Move File isn't working though...it has the string defined here: https://github.com/mozilla/brackets/blob/master/locales/en-US/editor.properties#L184

Member

gideonthomas commented Feb 14, 2017

I'm not sure I understand why Move File isn't working though...it has the string defined here: https://github.com/mozilla/brackets/blob/master/locales/en-US/editor.properties#L184

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 14, 2017

Member

These commits might point at things:

Member

humphd commented Feb 14, 2017

These commits might point at things:

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 14, 2017

Member

Probably it's a src/ vs. dist/ thing, where you have to run your localization scripts to merge strings, and it's not there in the base Brackets' strings? Just a guess, but my fix is the better way to solve this. We could also remove that string from the editor.properties file?

Member

humphd commented Feb 14, 2017

Probably it's a src/ vs. dist/ thing, where you have to run your localization scripts to merge strings, and it's not there in the base Brackets' strings? Just a guess, but my fix is the better way to solve this. We could also remove that string from the editor.properties file?

@gideonthomas

This comment has been minimized.

Show comment
Hide comment
@gideonthomas

gideonthomas Feb 14, 2017

Member

@humphd fyi, doesn't look like we can use registerInternal for move file. The string does not show up in the UI (right-click on a file) when I check dist/hosted.html

Member

gideonthomas commented Feb 14, 2017

@humphd fyi, doesn't look like we can use registerInternal for move file. The string does not show up in the UI (right-click on a file) when I check dist/hosted.html

Show outdated Hide outdated Gruntfile.js
@@ -660,7 +660,7 @@ module.exports = function (grunt) {
/*'cssmin',*/
/*'uglify',*/
'copy:dist',
'npm-install',
// 'npm-install',

This comment has been minimized.

@Pomax

Pomax Feb 14, 2017

it's git so you can always get this line back. If this isn't a work-in-progress PR, might as well just remove the line (and the commented lines above maybe?)

@Pomax

Pomax Feb 14, 2017

it's git so you can always get this line back. If this isn't a work-in-progress PR, might as well just remove the line (and the commented lines above maybe?)

@gideonthomas

This comment has been minimized.

Show comment
Hide comment
@gideonthomas

gideonthomas Feb 15, 2017

Member

This patch also fixes:

@humphd we have Cut/Copy/Paste enabled in the context menu. Cut and Copy work perfectly for me but paste doesn't. Interestingly, paste in general (even if we don't use the context menu) doesn't work - which is pretty bad.

Other than this, I tested this and couldn't find other issues.

Member

gideonthomas commented Feb 15, 2017

This patch also fixes:

@humphd we have Cut/Copy/Paste enabled in the context menu. Cut and Copy work perfectly for me but paste doesn't. Interestingly, paste in general (even if we don't use the context menu) doesn't work - which is pretty bad.

Other than this, I tested this and couldn't find other issues.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

Thanks for testing this so well! I'll do more on this tomorrow, but I had to research the paste issue. I'm so glad you caught that, I totally missed it.

So it seems they switched over to use document.execCommand(), which I've never used before, but allows you to send cut, copy, and sometimes paste to the browser, see docs. However, it doesn't seem to work perfectly in all browsers, or for paste in most.

I think for the purposes of getting this merge to happen, we should revert to ignoring those 3 key events, and let the browser handle them. Then we should consider filing a new bug to implement this with something like https://clipboardjs.com/. @Pomax, have you got a handle on where things are these days on cross-browser clipboard handling?

I'll try to finish this up tomorrow and land it.

Member

humphd commented Feb 16, 2017

Thanks for testing this so well! I'll do more on this tomorrow, but I had to research the paste issue. I'm so glad you caught that, I totally missed it.

So it seems they switched over to use document.execCommand(), which I've never used before, but allows you to send cut, copy, and sometimes paste to the browser, see docs. However, it doesn't seem to work perfectly in all browsers, or for paste in most.

I think for the purposes of getting this merge to happen, we should revert to ignoring those 3 key events, and let the browser handle them. Then we should consider filing a new bug to implement this with something like https://clipboardjs.com/. @Pomax, have you got a handle on where things are these days on cross-browser clipboard handling?

I'll try to finish this up tomorrow and land it.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

Related question: since cut and copy actually work, should we leave those in, and just revert the paste bit? Should it be all-or-none?

Member

humphd commented Feb 16, 2017

Related question: since cut and copy actually work, should we leave those in, and just revert the paste bit? Should it be all-or-none?

Revert adobe/brackets "Add cut/copy/paste to the context menu" which
relies on document.execCommand() which doesn't work well (esp. for paste)
in browsers.  See adobe#12674.

This reverts commit d93ccc5.
@Pomax

This comment has been minimized.

Show comment
Hide comment
@Pomax

Pomax Feb 16, 2017

I had not heard of execCommand before, I'm basically in favour of doing as much "letting brackets do what it does" so I'd be okay with the new behaviour if supported... http://caniuse.com/#search=execCommand suggests there is broad support for it now, and If I check chrome, copy/cut/paste are all supported, but firefox reports false on all three. So maybe we hold off on execCommands for now.

(I'm sure it works brilliant in an electron wrapped because of V8, but not so much on the web)

Pomax commented Feb 16, 2017

I had not heard of execCommand before, I'm basically in favour of doing as much "letting brackets do what it does" so I'd be okay with the new behaviour if supported... http://caniuse.com/#search=execCommand suggests there is broad support for it now, and If I check chrome, copy/cut/paste are all supported, but firefox reports false on all three. So maybe we hold off on execCommands for now.

(I'm sure it works brilliant in an electron wrapped because of V8, but not so much on the web)

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

@Pomax not for paste, which will only run in privileged scripts (e.g., in an extension).

Also, I tracked down the final console error that this merge is causing:

KeyBindingManager.js:747 Cannot assign Alt-W to cmd.switchPaneFocus. It is already assigned to file.close

In #474 we stole Alt-W for file.Close, but Brackets now wants it for "pane switching"

src/view/MainViewManager.js:        // Listen to key Alt-W to toggle between panes
src/view/MainViewManager.js:        KeyBindingManager.addBinding(Commands.CMD_SWITCH_PANE_FOCUS, {key: 'Alt-W'});

Which one should I take?

Member

humphd commented Feb 16, 2017

@Pomax not for paste, which will only run in privileged scripts (e.g., in an extension).

Also, I tracked down the final console error that this merge is causing:

KeyBindingManager.js:747 Cannot assign Alt-W to cmd.switchPaneFocus. It is already assigned to file.close

In #474 we stole Alt-W for file.Close, but Brackets now wants it for "pane switching"

src/view/MainViewManager.js:        // Listen to key Alt-W to toggle between panes
src/view/MainViewManager.js:        KeyBindingManager.addBinding(Commands.CMD_SWITCH_PANE_FOCUS, {key: 'Alt-W'});

Which one should I take?

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

I've filed #590 to do this process again down the road.

Member

humphd commented Feb 16, 2017

I've filed #590 to do this process again down the road.

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

@gideonthomas I've just removed our totally-unguessable Alt-W keybinding to get rid of this error.

I think I'm done here. If you're OK, I'd like to merge. Let me know.

Member

humphd commented Feb 16, 2017

@gideonthomas I've just removed our totally-unguessable Alt-W keybinding to get rid of this error.

I think I'm done here. If you're OK, I'd like to merge. Let me know.

@humphd humphd merged commit 0c3a1dc into mozilla:master Feb 16, 2017

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

@flukeout, @Pomax, etc. a note about this. If you see students having troubles, or other community people, here is how you update to get this patch locally (assuming Mozilla's Brackets repo is named upstream):

git checkout master
git pull upstream master
git submodule update --init
rm -fr src/extensions/default/JavaScriptCodeHints/thirdparty/acorn
rm -fr src/extensions/default/JavaScriptCodeHints/thirdparty/tern
npm install
Member

humphd commented Feb 16, 2017

@flukeout, @Pomax, etc. a note about this. If you see students having troubles, or other community people, here is how you update to get this patch locally (assuming Mozilla's Brackets repo is named upstream):

git checkout master
git pull upstream master
git submodule update --init
rm -fr src/extensions/default/JavaScriptCodeHints/thirdparty/acorn
rm -fr src/extensions/default/JavaScriptCodeHints/thirdparty/tern
npm install
@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

For future reference, this introduces a non-fatal build error installing the iltorb module for grunt-contrib-compress:

make: Entering directory `/home/travis/build/mozilla/brackets/node_modules/iltorb/build'
  CC(target) Release/obj.target/decode/brotli/common/dictionary.o
  CC(target) Release/obj.target/decode/brotli/dec/bit_reader.o
  CC(target) Release/obj.target/decode/brotli/dec/decode.o
  CC(target) Release/obj.target/decode/brotli/dec/huffman.o
  CC(target) Release/obj.target/decode/brotli/dec/state.o
  CXX(target) Release/obj.target/decode/src/common/allocator.o
In file included from ../src/common/allocator.cc:2:0:
../../nan/nan.h:43:3: error: #error This version of node/NAN/v8 requires a C++11 compiler
In file included from /home/travis/.node-gyp/6.9.5/include/node/node.h:42:0,
...
make: *** [Release/obj.target/decode/src/common/allocator.o] Error 1
make: Leaving directory `/home/travis/build/mozilla/brackets/node_modules/iltorb/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/travis/.nvm/versions/node/v6.9.5/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.8.12-040812-generic
gyp ERR! command "/home/travis/.nvm/versions/node/v6.9.5/bin/node" "/home/travis/.nvm/versions/node/v6.9.5/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/travis/build/mozilla/brackets/node_modules/iltorb
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

The error can safely be ignored, since this module is optional. We should also fix our travis setup to get around this: https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Node.js-v4-(or-io.js-v3)-compiler-requirements

Member

humphd commented Feb 16, 2017

For future reference, this introduces a non-fatal build error installing the iltorb module for grunt-contrib-compress:

make: Entering directory `/home/travis/build/mozilla/brackets/node_modules/iltorb/build'
  CC(target) Release/obj.target/decode/brotli/common/dictionary.o
  CC(target) Release/obj.target/decode/brotli/dec/bit_reader.o
  CC(target) Release/obj.target/decode/brotli/dec/decode.o
  CC(target) Release/obj.target/decode/brotli/dec/huffman.o
  CC(target) Release/obj.target/decode/brotli/dec/state.o
  CXX(target) Release/obj.target/decode/src/common/allocator.o
In file included from ../src/common/allocator.cc:2:0:
../../nan/nan.h:43:3: error: #error This version of node/NAN/v8 requires a C++11 compiler
In file included from /home/travis/.node-gyp/6.9.5/include/node/node.h:42:0,
...
make: *** [Release/obj.target/decode/src/common/allocator.o] Error 1
make: Leaving directory `/home/travis/build/mozilla/brackets/node_modules/iltorb/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/travis/.nvm/versions/node/v6.9.5/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.8.12-040812-generic
gyp ERR! command "/home/travis/.nvm/versions/node/v6.9.5/bin/node" "/home/travis/.nvm/versions/node/v6.9.5/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/travis/build/mozilla/brackets/node_modules/iltorb
gyp ERR! node -v v6.9.5
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

The error can safely be ignored, since this module is optional. We should also fix our travis setup to get around this: https://docs.travis-ci.com/user/languages/javascript-with-nodejs#Node.js-v4-(or-io.js-v3)-compiler-requirements

@humphd

This comment has been minimized.

Show comment
Hide comment
@humphd

humphd Feb 16, 2017

Member

Filed #592 on the build error.

Member

humphd commented Feb 16, 2017

Filed #592 on the build error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment