Commit Graph

198 Commits

Author SHA1 Message Date
probablycorey
7163d8dc71 Make atom work with constructicon 2013-06-20 12:15:34 -07:00
probablycorey
128f7b851a Better constructicon output 2013-06-20 12:15:34 -07:00
probablycorey
90bc5f58f7 Bootstrap atom before constructicon build 2013-06-20 12:15:34 -07:00
probablycorey
c89328fa14 Set permissions for prebuild script 2013-06-20 12:15:34 -07:00
probablycorey
af655b3674 Make atom work with constructicon 2013-06-20 12:15:34 -07:00
probablycorey
fcaa952973 Simplify gyp
Gyp is only used for construction now.
2013-06-20 12:15:34 -07:00
probablycorey
65c02328b3 Remove polite curl 2013-06-20 12:15:34 -07:00
probablycorey
ed4f4a699b Remove typo that causes everything to fail 2013-06-20 12:15:34 -07:00
probablycorey
22b7ae2136 Move plist code into update-info-plist 2013-06-20 12:15:33 -07:00
probablycorey
032d865c92 Move plist code into update-info-plist 2013-06-20 12:15:33 -07:00
Cheng Zhao
feab9862ac Update apm for node v0.10.9. 2013-06-06 09:57:03 +08:00
Cheng Zhao
94e7011413 Update node version to v0.10.9.
Should make this default settings after atom-shell branch is merged.
2013-06-02 10:25:35 +08:00
Cheng Zhao
92f071de93 Add script to clean up "open with" menu.
By compiling and running Atom again and again, the "open with" menu
would be polluted with various Atoms... This script cleans them.
2013-05-30 22:11:24 +08:00
Kevin Sawicki
5a691a1b1e Merge branch 'master' into atom-shell 2013-05-29 13:23:23 -07:00
Corey Johnson & Kevin Sawicki
17a83933d4 Use two -f flags to clean all git dirs 2013-05-29 10:01:33 -07:00
Cheng Zhao
c6d4942295 Generate Info.plist for App and Helper. 2013-05-29 19:33:48 +08:00
Cheng Zhao
9a08ea10cc Copy icon files and speakeasy.pem to bundle. 2013-05-29 18:57:02 +08:00
probablycorey
0eaec66ba6 Remove all native code 2013-05-28 11:46:19 -07:00
Kevin Sawicki
2bd95a2b57 Merge branch 'master' into atom-shell
Conflicts:
	.gitmodules
2013-05-28 10:47:46 -07:00
Kevin Sawicki
6690598024 Use TextMate packages instead of vendoring bundles 2013-05-28 09:25:22 -07:00
Cheng Zhao
0fa5ca3782 Generate version after all files are copied.
And also note that <(PRODUCT_DIR) cannot work in postbuilds.
2013-05-24 23:58:01 +08:00
Cheng Zhao
a00fe91fca Show Atom's version. 2013-05-24 23:24:46 +08:00
Cheng Zhao
61f8878e05 Merge branch 'master' into atom-shell
Conflicts:
	package.json
	script/bootstrap
	spec/app/window-spec.coffee
	src/app/window.coffee
2013-05-22 20:52:42 +08:00
Cheng Zhao
1254561724 There is no need to call node-gyp externally any more.
From npm v1.2.19, the npm_config_disturl is supported to set dist-url
for node-gyp, so we don't need to interactive with node-gyp ourselves
any more.
2013-05-20 15:27:12 +08:00
Kevin Sawicki
276c6c1725 Add --silent flag to apm/npm commands 2013-05-17 15:37:26 -07:00
Kevin Sawicki
851febd495 Use apm to install modules 2013-05-14 12:30:35 -07:00
Kevin Sawicki
81f7354fb5 Use season for compiling cson to json 2013-05-14 11:08:32 -07:00
Cheng Zhao
77963aaf88 Keep symbol links when copying atom-shell bundle. 2013-05-13 16:46:48 +08:00
Cheng Zhao
02d5ca78d5 Clean unused native build scripts. 2013-05-13 15:16:42 +08:00
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