Commit Graph

169 Commits

Author SHA1 Message Date
Cheng Zhao
e99fe93029 Don't build native code and use atom-shell's binary instead. 2013-05-13 13:49:31 +08:00
Cheng Zhao
548021dd40 Download atom-shell and remove cefode. 2013-05-12 19:51:31 +08:00
Kevin Sawicki
8172618bec Remove unused libgit2 script 2013-05-10 11:19:40 -07:00
Kevin Sawicki
f16c7247a9 Clean cefode cache during prebuild 2013-05-08 11:17:30 -07:00
probablycorey
915d2e42b7 Store cefode versions in /tmp/atom-cached-cefodes
This will make rake cleaning go faster
2013-04-24 15:19:11 -07:00
Kevin Sawicki
7e9c39fd55 Remove less hack
less is no longer vendored and so the previous
window hack is no longer needed.
2013-04-24 11:36:18 -07:00
Kevin Sawicki
8fb61168b0 doc: mention cson and less files 2013-04-24 10:12:30 -07:00
Kevin Sawicki
36e725d5d5 Precompile theme metadata to JSON 2013-04-24 10:12:29 -07:00
Kevin Sawicki
df9c30d174 Precompile .less theme files 2013-04-24 10:12:29 -07:00
Kevin Sawicki
865b70e16d Don't exclude node_modules/less
Less is no longer vendored and so it should now be
copied over.
2013-04-16 08:46:13 -07:00
Nathan Sobo
1ce9cdff0c Make precompilation of less stylesheets work with @import directives 2013-04-15 20:45:56 -06:00
Kevin Sawicki
78dc676f0f Exclude .less/.cson/.coffee files at root of src
Previously the rsync exclude rules required files to be two-levels
deep to be excluded which would keep the window-bootstrap.coffee in
the bundle since it was at the root of the src folder.

Now if cson, less, or coffee files end up in src/ they will be
correctly excluded from the bundle when synced.
2013-04-11 12:36:40 -07:00
Nathan Sobo
7967dada4b Make script/bootstrap exit on subprocess errors 2013-04-11 13:07:16 -06:00
Nathan Sobo
b1e79b4634 Run rake clean on prebuild to clear out node_modules 2013-04-11 12:53:32 -06:00
Nathan Sobo
d56946fa6e Export VERSION to rake task in prebuild script 2013-04-10 15:57:17 -06:00
Cheng Zhao
1fcc0adf6c Update cefode2 to cefode3. 2013-04-05 23:00:58 +08:00
probablycorey
a048d2994e Use [ -t 1 ] to check if we should output progress bar. 2013-04-04 12:22:37 -07:00
probablycorey
44d78ed30d move files int tools/mac to scripts dir 2013-04-04 10:04:45 -07:00
Cheng Zhao
20083b97c6 Update node to v0.10.3 2013-04-04 21:18:21 +08:00
Kevin Sawicki
52d47f555f Don't run clean before test
Clean should be optional
2013-04-03 12:11:45 -07:00
Kevin Sawicki
326910eeed Don't output curl progress bar during ci build 2013-04-02 17:28:26 -07:00
Kevin Sawicki
4971a73c01 Merge branch 'master' into tweak-coffee 2013-04-02 08:27:35 -07:00
Cheng Zhao
371fdde4f9 Use atom/cefode. 2013-03-27 12:25:54 +08:00
Cheng Zhao
67c2a1473c Cefode is using node v0.8.22. 2013-03-27 12:25:54 +08:00
Cheng Zhao
215cd64c9a Use the node binary compiled with V8 used by Chromium.
The official node is using a different V8 version with the one used by
cefode, which causes incompatibility with cefode on native modules, this
special node binary fixes it.

The source code of this node binary can be found at:
https://github.com/atom/cefode-node/tree/chromium-v8
2013-03-27 12:25:54 +08:00
probablycorey
75fbab94b1 Make npm install quieter 2013-03-26 14:32:40 -07:00
Kevin Sawicki
858f58da97 Precompile less files to css during build
This mirrors the CSON to JSONS compilation step.

Closes #440
2013-03-26 12:05:12 -04:00
Kevin Sawicki
43dc7fcf9e Correct typo in error message 2013-03-26 11:45:47 -04:00
Cheng Zhao
c9cb5016b7 Script to translate addresses in crash log into function lines. 2013-03-26 15:47:30 +08:00
Cheng Zhao
f969927c69 💄 2013-03-24 19:53:51 +08:00
Cheng Zhao
e4995091d3 Always check and download newest cefode. 2013-03-24 13:43:19 +08:00
Kevin Sawicki
b006841fa7 Install npm locally and use during bootstrap
This ensures the expected version is used regardless
of the global version already installed.

Closes #439
2013-03-21 10:56:43 -07:00
Corey Johnson & Nathan Sobo
dfa91f0f3c Use explicit path for node-gyp 2013-03-19 12:32:50 -07:00
John Barnette
c720274221 Alphabetize flags 2013-03-15 19:49:19 -07:00
John Barnette
8a1c16c35e Enable source maps
We'll figure out how to use them later.
2013-03-15 13:32:57 -07:00
Nathan Sobo
aba0f8e362 Change condition for installing a local node-gyp 2013-03-13 18:58:33 -06:00
Cheng Zhao
c393a0677e Update cefode for child_process.fork. 2013-03-13 21:57:12 +08:00
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
Corey Johnson
709d9738ef Revert "Exclude package-generator templates from coffee compilation"
This reverts commit f432ad350f.
2013-03-08 09:27:44 -08:00
Corey Johnson
f432ad350f Exclude package-generator templates from coffee compilation
Closes #359
2013-03-08 09:16:19 -08: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
Kevin Sawicki
304d4f741e Exit unless brew exists 2012-10-09 11:51:28 -07:00
Kevin Sawicki
aa5b68e9a9 Install gyp via custom formula 2012-10-09 11:47:07 -07:00
Corey Johnson
e9e0e24ce3 make cibuild work on updated build machine 2012-09-27 11:38:15 -07:00
Corey Johnson
646d9778e5 npm, not np 2012-09-21 13:30:55 -07:00
Corey Johnson
27dbf5798b No longer being clever when compiling coffeescript 2012-09-20 15:48:18 -07:00
Corey Johnson
ece908a10a Make paths with spaces work with coffee compiler 2012-09-20 13:28:33 -07:00
Corey Johnson
981a6dff81 script/bootstrap verifies that Xcode and npm are installed 2012-09-19 17:42:36 -07:00
Corey Johnson
f624d2277e Compiling coffeescript is slow, so only compile the .coffee files if they are newer than the .js files
If a coffeescript file is deleted, this will not remove that file from the bundle. This is the source of a future bug that I'm hoping to avoid.
2012-09-19 16:08:26 -07:00
Corey Johnson
cb48ad9019 Add update-cef script 2012-09-18 15:00:03 -07:00
Corey Johnson
61c8068171 Add The Setup's env when Xcode copy files to bundle. 2012-09-17 15:35:55 -07:00
John Barnette
7fbb7b70e8 Stub script/bootstrap
Consistency is awesome. This should probably check for Xcode proper at
some point too.
2012-09-13 11:29:54 -07:00