-
Notifications
You must be signed in to change notification settings - Fork 611
[OPEN] Update grunt build scripts for linux #288
Conversation
I've also uploaded a debian package for testing. There's a little churn going on with Sprint 28 due to some new crashes with the latest CEF. This build https://github.com/jasonsanjose/brackets-shell/releases/download/cef-builds/Brackets.Sprint.28.deb includes CEF 3.1547.1337 which will likely be ahead of what Sprint 28 releases with officially. |
use correct fs.symlink on mac and linux add arch support for linux 64-bit update grunt tasks for linux add linux installer to grunt tasks fix linux clean installer task update grunt for node on linux. move linux tools to an npm postinstall script. rename debian package to Brackets Sprint NN.deb fix 64 bit build update debian package version and 64-bit dep
Jason, this is what I'm seeing on 64bit Ubuntu 12.04 with node 0.10.15 npm 1.3.5. I have installed node per the official wiki page for Linux Running 'npm install' in brackets-shell directory as per the 'Install Dependencies' section on the Wiki build page, I see:
Loading "curl.js" tasks...ERROR
Running "cef" task Running "cef-download" task Aborted due to warnings. Some sort of curl dependency I'm guessing. I'm not overly familiar with Grunt atm. |
Looks like I need to update this wiki page https://github.com/adobe/brackets-shell/wiki/Building-brackets-shell. The Linux prerequisites are basically covered in the gist https://gist.github.com/jasonsanjose/5514813 that I posted in https://github.com/adobe/brackets/wiki/Linux-Development-for-Contributors. That gist follows the same node and npm setup and also runs I wonder if something went wrong during npm install. Try this
|
Thanks. After the npm cleanup and re-install, I can confirm that 'grunt build' now builds out/Release/Brackets for me. And it runs as expected. Presumably, there will be some coordination on the Adobe side for Mac/Win/Linux CEF builds when the Gruntfile.js CEF version line changes? Not that that worries me since I will be doing a CEF3 build myself. But I will be looking at the Gruntfile.js version reference to see what CEF version is currently being tracked. Great to have similar build management on all 3 platforms. +1 to merge. |
Thanks! Yep, now that we're hosting the CEF builds we will coordinate updating Gruntfile.js. Also, I haven't forgotten about your node pull request. I've been using my free time to get the build in shape. I hope to free up next week though. @JeffryBooher you can go ahead with the code review since @timburgess took care of testing, no hurry though. |
No worries. I didn't anticipate the node PR going into Sprint 28. Would be nice for 29 though. |
I just tried using the script to build the shell on a Linux Mint 64-bit machine and ran into a tiny problem with the gist script. The sudo before npm install threw the error:
After the script finished, I ran I noticed that after running npm install, I still had to manually copy the src and samples directories from the core to the release directory. Is that just an oversight? |
OK. I just spent some time chasing this whole problem down. The line at the very end of the gist script threw me off. According to the way the grunt scripts are working, the final brackets binary with the src and samples directories copied to it is built in the installer/linux/debian/usr/bin directory NOT out/Release/Brackets. I think this might be a good thing to clear up in the script somewhere. I also reran the script after completely purging node from apt-get and still ran into the problem with the last command in the script with the same error (below).
I do believe that the last line should be To sum it all up, the grunt scripts seem to all be working beautifully, but there seems to be a problem with the setup script in you gist @jasonsanjose. |
Thanks @DaBungalow for trying it out. I made a change to the new gist so that it only compiles the binaries at the end (previously it did build the installer). To build the installer, you have to run I'm a bit confused though on your comment about |
I guess what I was trying to say was that On 8/6/13, Jason San Jose notifications@github.com wrote:
Danny Seymour |
@jasonsanjose
Any idea what is wrong? I am not very familiar with grunt either. |
I am noticing that a number of the grunt commands aren't working (grunt package for instance). Do you want me to go through the whole list in the wiki and report back? |
I wonder if something got stuck in node. Can you try what I recommended to @timburgess:
|
I tried the above and here are the results:
I am working on trying to compile form scratch. |
I compiled from scratch and I DID need to use However, npm still threw the error:
before installing the modules and it threw the error
after module installation. All of this I KNOW has to do with permissions because Despite uninstalling and reinstalling node, I still end up with the error
on
|
I just figured out what the
Which will obviously cause the the regex to have a fit and not return anything, thus the null error. I then tried:
I am now thinking that Update: I ran it and the output is exactly that same as the first error. |
@DaBungalow @timburgess sorry for the slow turnaround. We weren't able to complete a good chunk of our stories this sprint and didn't have much free time left. We'll have to bump this out to sprint 30. We did though officially release this branch |
Thank you so much @jasonsanjose! I just update my local build and can confirm that grunt is working On Fri, Aug 9, 2013 at 11:13 AM, Jason San Jose notifications@github.comwrote:
Danny Seymour |
Replaces
scripts/setup_linux_build.sh
@timburgess @DaBungalow would you like to test out these updates? Someone else with committer rights will need to handle merging though.
These changes bring the Linux setup and build Grunt tasks up to par with mac and windows. This doesn't replace the one-line
wget
(see https://gist.github.com/jasonsanjose/5514813) required for downloading the git repositories and installing Node.js and Grunt.Here are the highlights:
Debug
folder. For folks like @timburgess that are doing work with the native shell, it won't be too hard for them to get the full binaries manually.grunt
to setup and build.grunt installer
will produce the debian packagepostinstall
hook afternpm install
to install the compile-time dependenciesgrunt build
or simplymake
as before