Commit Graph

6 Commits

Author SHA1 Message Date
Adam Roben
9e1b975773 Try finding node where it's installed on Constructicon 2013-03-05 14:32:51 -08:00
Adam Roben
7b32560ce2 Fix syntax errors 2013-03-05 14:32:50 -08:00
Adam Roben
28d4ea0456 Don't source env.sh unless it exists 2013-03-05 14:32:50 -08:00
Kevin Sawicki & Nathan Sobo
41e1ce4a09 Remove cson2json dependency
The latest release does not work because of CoffeeScript
changes so use a simple compile script to convert CSON
files to JSON files when buildilng.

Closes #348
2013-03-04 18:27:51 -08:00
Adam Roben
73e0b72479 Only source /opt/github/env.sh if needed
If node is already in PATH and functional, we don't need to spend a
bunch of time running all of Boxen's setup scripts.

This reduces clean build time on my MacBook Pro from 46 seconds to 31
seconds.
2013-03-04 11:52:51 -05:00
Adam Roben
83ee2d23b3 Use gyp's rules functionality to compile .coffee/.cson files
Instead of finding and compiling all .coffee/.cson files in
script/copy-files-to-bundle, we now tell gyp how to do this for us. It
works like this:

1. Rakefile invokes the new script/generate-sources-gypi script to
   generate sources.gypi. This file lists all the .coffee/.cson files in
   the src, static, and vendor directories, as well as a new
   compiled_sources_dir variable that specifies where the compiled
   versions of the files should be placed.
2. atom.gyp includes sources.gypi.
3. atom.gyp has a new target, generated_sources, which contains all the
   .coffee/.cson files, and uses two rules to tell gyp how to compile
   them. The rules invoke the new script/compile-coffee and
   script/compile-cson files once for each file.
4. gyp generates one Makefile for each rule to actually perform the
   compilation.
5. script/copy-files-to-bundle now takes the compiled_sources_dir
   variable as an argument, and copies files both from there and from
   the repository into the Resources directory.

By putting the compilation into a different target, we can do it in
parallel with compiling/linking our binaries. And gyp automatically runs
make using -j$(sysctl -n hw.ncpu), so compilation of .coffee/.cson files
happens in parallel, too.

These changes reduce clean build time on my MacBook Pro from 55 seconds
to 46 seconds.
2013-03-04 11:32:06 -05:00