Commit Graph

6088 Commits

Author SHA1 Message Date
probablycorey
0fe570fc47 Log warning instead of throwing error when installing atom binary 2013-03-04 15:44:49 -08:00
Joshua Peek
04ec1b01be Fallback to /usr/local/bin/atom 2013-03-04 14:45:24 -06:00
probablycorey
fd2d1f2dfc Peg CoffeeScript to 1.5.x 2013-03-04 09:42:54 -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
6511d0e111 Replace ## in package-generator templates with __
This is a workaround for
<http://code.google.com/p/gyp/issues/detail?id=323>.

A future change will cause gyp to generate Makefiles to compile
.coffee/.cson files to .js/.json. Makefiles use # as the comment
character, and gyp isn't smart enough to escape the #. So now we don't
use # in filenames to work around this bug.
2013-03-04 11:21:29 -05:00
Adam Roben
c96e9acb64 Merge pull request #326 from github/framework
Move all code and resources into Atom.framework
2013-03-04 06:10:27 -08:00
Kevin Sawicki
b0e7abac60 Update image in README 2013-03-03 11:54:07 -08:00
Kevin Sawicki
7952dfc196 Add command after first argument
This forces the object to be interpreted as the
second argument to the callWorkerMethod function
instead of as the first argument to function returned
from callWorkerMethod.

Closes #338
2013-03-03 11:07:52 -08:00
probablycorey
32d57892a2 Use correct resource path in dev mode 2013-03-01 16:58:31 -08:00
probablycorey
d6309ec31c Add autorelease pool wrappers around CefV8Handler::Execute methods
This removes all BlahBlahBlah was not autoreleased console warnings.
2013-03-01 15:01:14 -08:00
probablycorey
5e25d3634c Set CFBundleTypeRole to Editor
This gets ride of an annoying console warning.
2013-03-01 14:56:42 -08:00
probablycorey
467e30aeb1 Remove worker log message 2013-03-01 14:55:44 -08:00
probablycorey
591aba3faf Revert "wip"
This reverts commit 2966cdb033.
2013-03-01 14:09:43 -08:00
probablycorey
4e971b085e Now that specs can handle symlinks, put atom-build in /tmp 2013-03-01 13:54:19 -08:00
probablycorey
b7976cac68 Use the /Applications directory to test cwd on Child Processes 2013-03-01 13:54:19 -08:00
Corey Johnson
2966cdb033 wip 2013-03-01 13:54:19 -08:00
Corey Johnson
595cf71d93 Return absolute path for Git repo 2013-03-01 13:54:19 -08:00
Corey Johnson
5e1701f8db Call stringByStandardizingPath on moved paths 2013-03-01 13:54:19 -08:00
Corey Johnson
82bce082ef Always call stringByStandardizingPath on the resource path
stringByStandardizingPath has an interesting quirk that causes it to
remove `/private` from the path if the result still indicates an 
existing file or directory
2013-03-01 13:54:19 -08:00
Adam Roben
8a3b395613 Use gyp's copies facility instead of cp -r
This is more portable, and ensures that we won't screw up symlinks like
cp -r would.
2013-03-01 16:35:48 -05:00
Adam Roben
225aca016b Preserve symlinks during rake install
This prevents resources within Atom.framework from getting duplicated
within the bundle.

This shrinks a `rake install`-ed Atom.app from 124MB to 82MB.
2013-03-01 16:35:47 -05:00
Adam Roben
a3c48df25b Move all code and resources into Atom.framework
All our native code now gets built into Atom.framework. Atom.app and
Atom Helper.app both link against this framework. All resources other
than a couple of main-bundle-only ones (e.g., atom.icns) go into
Atom.framework.

Note that this means that there's no compile- or link-time separation
between main process code and helper process code. We could introduce a
compile-time separation by building main process and helper process code
into separate static libraries with mutually exclusive include paths, if
we want.

Atom.framework exports a single symbol: AtomMain(). Atom.app and Atom
Helper.app contain a single source file: main.cpp. main() just calls
AtomMain().

All frameworks are placed in Atom.app/Contents/Frameworks. We now link
against all frameworks using @rpath-based install names, which allows
Atom.app and Atom Helper.app to find them automatically based on their
own LD_RUNPATH_SEARCH_PATH settings. We use install_name_tool at build
time on each of our three binaries (Atom.app, Atom Helper.app,
Atom.framework) to set the install names.

By reducing duplication of code and resources between Atom.app and Atom
Helper.app (and the EH/NP copies of Atom Helper.app), this reduces the
size of the total installed Atom.app bundle from 145MB to 82MB. By
compiling .coffee and .cson files only once, clean build time drops from
114 seconds to 79 seconds on my MacBook Pro.
2013-03-01 16:35:42 -05:00
Kevin Sawicki
31c1a202fd Bump version to 0.3 2013-03-01 11:08:21 -08:00
Kevin Sawicki
58bd83a225 Always unsubscribe when changing buffers
Previously subscribeToBuffer() returned early
in certain cases without first unsubscribing to
the current buffer.
2013-03-01 10:54:52 -08:00
Kevin Sawicki
7bfb07a25a Lock on shared NSSpellChecker and use release pool
Closes #335
2013-03-01 10:45:01 -08:00
Adam Roben
1c13ab8511 Add "rake download-cef-symbols" to...download CEF symbols 2013-03-01 13:19:23 -05:00
Nathan Sobo
305963c66a Merge pull request #336 from github/split-doc-edits
Split Pane Doc Updates
2013-03-01 10:14:43 -08:00
Nathan Sobo
a650635c97 Clarify key binding a bit
I added an *or* to make sure it was clear that `ctrl-|` and `ctrl-w v`
are separate bindings.
2013-03-01 11:07:32 -07:00
Adam Roben
e27ad21932 Bump prebuilt-cef so we can download debug symbols 2013-03-01 13:03:45 -05:00
Jon Maddox
fef9a67914 Updates do split pane docs
Updated this section to include the new (albeit wierd!) key commands
for creating splits and moving through them.
2013-03-01 12:53:09 -05:00
Kevin Sawicki
14bd7741d1 Change octicon based on creating file or folder 2013-02-28 16:04:18 -08:00
Kevin Sawicki
9de3a91c9c Correct typos in comment 2013-02-28 15:28:43 -08:00
Kevin Sawicki
cb6ce5aece Bump version to 0.2 2013-02-28 15:21:24 -08:00
Kevin Sawicki
e36a3c18fb Remove .coffee extension from package main 2013-02-28 15:15:09 -08:00
Kevin Sawicki
35ca8a42a1 Display error when symbol's file does not exist 2013-02-28 15:06:48 -08:00
Kevin Sawicki
1b71796698 Check for escaped backslashes in tag patterns
Previously readtags.c was not checking if the
end pattern / was preceded by an escaped \
which would cause segmentation faults for patterns
that ended with an escaped \.
2013-02-28 14:49:30 -08:00
Kevin Sawicki
56d92fe029 Hide/show loading message instead of toggling 2013-02-28 11:25:02 -08:00
Corey Johnson & Kevin Sawicki
352607f9b4 Remove bump-patch-number from Rakefile 2013-02-28 10:16:01 -08:00
Corey Johnson & Kevin Sawicki
ec2f59836a Make patch version segment optional in spec 2013-02-28 10:15:24 -08:00
Corey Johnson
4f7a01a202 Set version to 0.1 2013-02-28 10:04:06 -08:00
Corey Johnson
057ccf7157 Add - to nonWordCharacters 2013-02-28 09:45:19 -08:00
Corey Johnson
40d50c58c4 Remove worthless line from Rakefile
/cc @aroben
2013-02-28 09:26:51 -08:00
Adam Roben
b0be4c0321 Merge pull request #324 from github/ci-testing
Get Atom building on the new Mac Janky slave
2013-02-28 05:37:03 -08:00
Adam Roben
eb0f118cd0 Remove "[object Object]" output from tests 2013-02-28 08:36:35 -05:00
Adam Roben
492a5d2ff0 Merge branch 'dev' of https://github.com/github/atom into ci-testing
Conflicts:
	.gitmodules
2013-02-28 08:34:19 -05:00
Garen Torikian
68c926b0bc Merge pull request #318 from github/add-popular-tmlanguages
Add popular tmlanguages
2013-02-27 20:12:04 -08:00
Garen Torikian
6c389629b7 Add less tmbundle 2013-02-27 15:40:38 -08:00
Garen Torikian
18e089571c Add SASS TMBundle 2013-02-27 15:39:10 -08:00
Garen Torikian
318e86b821 Add Perl TMBundle 2013-02-27 15:38:22 -08:00