anaisbetts / grunt-build-atom-shell

Grunt task to build Electron and rebuild node modules
MIT License
122 stars 11 forks source link

Build fails on v0.21.x #17

Closed bostondv closed 9 years ago

bostondv commented 9 years ago

Hey there,

I was able to successfully build atom-shell using v0.20.x and v1.1.5 of this script but trying to build atom-shell v0.21.1 fails.

Config:

'build-atom-shell': {
      tag: 'v0.21.1',
      nodeVersion: '0.20.0',
      buildDir: 'tmp',
      projectName: 'myapp',
      productName: 'MyApp'
    },

Result:

>> Traceback (most recent call last):
>>   File "script/bootstrap.py", line 127, in <module>
>>     sys.exit(main())
>>   File "script/bootstrap.py", line 26, in main
>>     update_submodules()
>>   File "script/bootstrap.py", line 54, in update_submodules
>>     execute_stdout(['git', 'submodule', 'update', '--init', '--recursive'])
>>   File "/Users/bostondv/Dev/pamfax-desktop/build/tmp/atom-shell/script/lib/util.py", line 150, in execute_stdout
>>     execute(argv)
>>   File "/Users/bostondv/Dev/pamfax-desktop/build/tmp/atom-shell/script/lib/util.py", line 138, in execute
>>     raise e
>> subprocess.CalledProcessError: Command '['git', 'submodule', 'update', '--init', '--recursive']' returned non-zero exit status 1
>> Traceback (most recent call last):
>>   File "script/bootstrap.py", line 127, in <module>
>>     sys.exit(main())
>>   File "script/bootstrap.py", line 26, in main
>>     update_submodules()
>>   File "script/bootstrap.py", line 54, in update_submodules
>>     execute_stdout(['git', 'submodule', 'update', '--init', '--recursive'])
>>   File "/Users/bostondv/Dev/pamfax-desktop/build/tmp/atom-shell/script/lib/util.py", line 150, in execute_stdout
>>     execute(argv)
>>   File "/Users/bostondv/Dev/pamfax-desktop/build/tmp/atom-shell/script/lib/util.py", line 138, in execute
>>     raise e
>> subprocess.CalledProcessError: Command '['git', 'submodule', 'update', '--init', '--recursive']' returned non-zero exit status 1
Warning: null Use --force to continue.

Thanks

unindented commented 9 years ago

@bostondv I think you should be using nodeVersion: '0.21.x'.

With these settings I still get an error though:

module.exports = {
  tag: 'v0.21.2',
  nodeVersion: '0.21.2',
  buildDir: os.tmpdir(),
  targetDir: 'dist',
  projectName: '<%= projectName %>',
  productName: '<%= productName %>'
};
>> In file included from ../src/xattr.cc:3:
>> ../node_modules/nan/nan.h:67:21: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
>> typedef v8::String::ExternalAsciiStringResource
>>         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
>>                     ExternalStringResource
>> /Users/dalvarez/.pong/.node-gyp/.node-gyp/0.21.2/deps/v8/include/v8.h:1936:19: note: 'ExternalStringResource' declared here
>>   class V8_EXPORT ExternalStringResource
>>                   ^
>> In file included from ../src/xattr.cc:3:

@paulcbetts any idea why this is happening?

anaisbetts commented 9 years ago

Your nodeVersion here should be '0.21.0'

unindented commented 9 years ago

Aaha, got it.

bostondv commented 9 years ago

Weird, I thought I had tried that. Works now though, thanks!

anaisbetts commented 9 years ago

@unindented Generally the rule has been for the past few releases is, every time the Atom Shell major version gets bumped by one, the nodeVersion gets bumped too. In the next version, io.js and Chrome 41 will both be synced up on the public release of V8, and we'll be able to rename this to iojsVersion and have it be a real version number (i.e. one that is actually released other places too)

unindented commented 9 years ago

@paulcbetts That's awesome news. Thanks for the explanation!