Commit Graph

80 Commits

Author SHA1 Message Date
Cheng Zhao
347ba6c7ee Bundle offical node binary with Atom.
This is required for using child_process.fork.
2013-03-13 20:15:41 +08:00
Kevin Sawicki
10fe754dfd Only install headers if directory does not exist 2013-03-11 15:59:34 -07:00
Kevin Sawicki
f3990722e3 Install node-gyp with custom node distribution
This should be done before the rest of the dependencies
are installed to that the correct headers are used for
compiling native modules.
2013-03-11 15:38:15 -07:00
Kevin Sawicki
b0ec0cda7f Merge remote-tracking branch 'origin/dev' into cefode 2013-03-07 11:44:46 -08:00
Kevin Sawicki
ce2d0389e1 Use ctags node module
Remove internal ctags code and defer to
new node module for finding tags and listing
tags.
2013-03-07 09:41:04 -08:00
Adam Roben
192f8841bb Let Rakefile take care of running npm 2013-03-05 14:32:51 -08:00
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
Adam Roben
01e0e886e6 Turn on code signing in Constructicon 2013-03-05 14:32:50 -08:00
Adam Roben
aae5ebc810 Ensure gyp is in Constructicon's PATH 2013-03-05 14:32:50 -08:00
Adam Roben
ebaa344164 Put Constructicon's node in PATH 2013-03-05 14:32:50 -08:00
Adam Roben
caf0dec598 Make the prebuild script noisy while we debug 2013-03-05 14:32:50 -08:00
Adam Roben
5f2bd9edd7 Add a prebuild script for Constructicon
Constructicon will run this just before building the project, so this is
our chance to install the node modules we need and create the
.xcodeproj.
2013-03-05 14:32:50 -08:00
Kevin Sawicki
91347f14f2 Build libgit2 with thread safe option enabled 2013-03-05 14:27:19 -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
Adam Roben
550cd8348c Echo commands in script/cibuild for debugging purposes 2013-02-27 14:38:05 -05:00
Corey Johnson
d07d59353e Remove atom.githubapp.com private key 2013-02-27 10:48:38 -08:00
Corey Johnson
e618850712 Update script/cibuild to work with the Mac Janky server 2013-02-27 10:47:53 -08:00
Kevin Sawicki
d35c871e17 Install atom executable during window.startup()
Previously this was done during `rake install`.

Also default to `~/github/atom` as the default resource path
when no `--resource-path` argument is specified.  This argument
will now be required when running in dev mode if the repository
is not at the default location.

Closes #300
2013-02-22 21:19:34 -08:00
Kevin Sawicki
b04c1ad766 Include dot-atom directory in bundle 2013-02-22 14:46:29 -08:00
Adam Roben
668921d336 Remove CEF from the repo and download it as needed
We now use github/prebuilt-cef to download CEF from S3, then build
against that. This means we no longer need to have CEF committed to the
repo.

Fixes #280.
2013-02-17 11:59:06 -05:00
Corey Johnson
e7a8e4e3c4 Add atom.update and atom.getUpdateStatus 2013-02-14 16:40:24 -08:00
Nathan Sobo
aeb1e3fd3c Add a script to fix the author w/ git-filter-branch 2013-01-30 16:53:36 -07:00
Corey Johnson & Nathan Sobo
493ed5f006 Merge branch 'web-workers' into dev 2013-01-28 15:02:57 -07:00
Corey Johnson & Nathan Sobo
1190644e76 Make update-cef script tolerate multiple cef binaries in chromium/src/cef 2013-01-28 14:52:45 -07:00
Kevin Sawicki
a8a1d09dac Output updated paths after changing id 2013-01-28 09:39:50 -08:00
Kevin Sawicki
fbfdd6ab65 Doc libgit2 build and verification steps in update script 2013-01-28 09:38:01 -08:00
Kevin Sawicki
97e808620e Copy themes folder to bundle 2013-01-17 16:50:25 -08:00
Kevin Sawicki
781f58e33a Precompile cson files to json 2013-01-17 16:50:25 -08:00
Kevin Sawicki
f1efc9ce60 Upgrade to latest libgit2 development branch 2013-01-04 14:57:14 -08:00
Kevin Sawicki
3e8913f518 Be quiet 2013-01-04 08:18:52 -08:00
Kevin Sawicki
b0d38d0ac7 Sync submodules before updating 2013-01-04 08:18:52 -08:00
Kevin Sawicki
4078046ac6 Vendor textmate bundles as submodules 2013-01-04 08:18:52 -08:00
Corey Johnson
d77fc88ff4 Merge remote-tracking branch 'origin/master' into config 2012-12-27 10:38:24 -08:00
Corey Johnson
83af57db41 cibuild removes ~./atom before running specs 2012-12-26 18:08:18 -08:00
Corey Johnson
e5e5c497e1 Load themes from ~/.atom/themes 2012-12-26 17:41:48 -08:00
Corey Johnson
207281aa1c Stole clean-merged-branches from github/github 2012-11-08 09:55:00 -08:00
Corey Johnson
80529c2f25 Uncommented needed lines in update-cef script 2012-11-08 09:51:30 -08:00
Corey Johnson
b436d9467e Enhance ./script/update-cef
It will now update or download a specific release of CEF and Chromium, compile CEF/Chromium, and copy the needed files to Atom.
2012-10-30 14:26:19 -07:00
Corey Johnson
540f651061 Only compile coffee files in src static and vendor 2012-10-26 15:36:15 -07:00
Kevin Sawicki
d58954145b Remove brew check
This was added for the gyp formula install
which has been removed
2012-10-18 16:04:43 -07:00
Will Farrington
fcc6795e83 no more custom gyp 2012-10-18 16:00:14 -07:00
Corey Johnson
0dfc57a98f add new build-bot private key 2012-10-16 09:44:31 -07:00
Corey Johnson
6ea19bc765 When building, only compile coffeescript if needed.
Also doesn't copy coffeescript files to bundle.
2012-10-15 11:49:19 -07:00
Corey Johnson
fbe9a8b671 Fail Xcode build if any coffeescript file fails to compile 2012-10-15 09:01:26 -07:00
Corey Johnson
49d270d4ec Taking the the gyp formula out of the formula directory
I'm a shallow directory fan, when we have more than one formula I'd be done with adding it back.
2012-10-12 09:25:51 -07:00
Kevin Sawicki
82af5e826c Use specific gyp revision 2012-10-09 12:06:27 -07:00