Commit Graph

261 Commits

Author SHA1 Message Date
Laurent Sansonetti
31af5b87fc Merge branch 'master' of github.com:lrz/RubyMotion 2013-04-26 17:15:24 +02:00
Laurent Sansonetti
a03cb908e4 add debug mode 2013-04-26 17:14:02 +02:00
Watson
fcd144d3a9 fix a bug in detecting file dependencies which cannot detect dependency when declare class/module with like "class XXX::YYY"
use @defined :
	module XXX::YYY
	    ...
	end

use @referred :
	class ZZZ
	  include XXX::YYY
	    ...
	end

add the value to @defined and @referred both,
because build system will cut the cyclic references.
2013-04-26 23:03:51 +09:00
Watson
6f48fd5d0b change the build directory for outside files of project
This changing will introduce:

1. When run 'rake clean', the object files of gem is not removed. To reduce the time when rebuild the project.
2. Across multiple projects that use the same gem, this changing will share the object files.
3. When update RubyMotion with 'motion update', it will remove the object files to clean up disk space.
2013-04-25 22:23:19 +09:00
Watson
c3574eb3c2 use i386 binary Ruby when build app for ARM 2013-04-25 17:35:37 +09:00
Laurent Sansonetti
105a915f3d mac port 2013-04-25 02:26:56 +02:00
Watson
cd5f87bfac fix a bug in build system where it would cause "stack level too deep" error
http://hipbyte.myjetbrains.com/youtrack/issue/RM-112

1) specify file dependencies in Rakefile with `app.files_dependencies' by user.
2) detect file dependencies by build system

When merge 1) and 2), it might cause a cyclic references.
So, we will use 1) to detect cyclic references.
2013-04-22 23:48:09 +09:00
Watson
126d006625 change the template directory path 2013-04-19 23:15:03 +09:00
Watson
990e352d62 add a feature which support the template 2013-04-19 23:02:49 +09:00
Watson
34e50e9036 display error message if does not exist spec files in spec directory
http://hipbyte.myjetbrains.com/youtrack/issue/RM-90
2013-04-13 14:24:29 +09:00
Clay Allsopp
a38f066148 change file dependency regex to accept absolute paths 2013-04-05 17:25:20 +09:00
Watson
42352abb44 fix a bug in build system which does not load all depended frameworks
http://hipbyte.myjetbrains.com/youtrack/issue/RM-97
2013-04-02 12:01:40 +09:00
Watson
61b94316f3 pass "-ObjC" flags to linker to load Objective-C class when "-force_load" is not used 2013-03-16 14:44:09 +09:00
Watson
4d5215a07c add :force_load option into configuration of `app.vendor_project'
There are 3rd-party library which would trigger "duplicate symbol" error at compile time.
It will be useful in such libraries when specify false in :force_load option.

When specify true in this option (by default), it behaves in the same manner as before.

Usage:
    app.vendor_project('vendor/OAuth2Client',
      :static,
      :force_load => false,
      :headers_dir => 'Sources/OAuth2Client'
      ....
2013-03-15 11:05:17 +09:00
Dave Lee
355cb36f1f Make _spec suffix optional when running rake spec files=...
With this change, the following invocations are equivalent:

    rake spec files=integration_spec

and

    rake spec files=integration
2013-03-14 13:24:15 +09:00
Steven Webb
a79c7e3d27 Include exception message in bacon error output 2013-03-14 13:16:45 +09:00
Watson
95b6055b67 rename method 2013-02-28 09:02:30 +09:00
Watson
a24596e830 fix a bug in build system which updated resource files are not copied 2013-02-27 23:34:38 +09:00
Watson
1466028bac slightly delay the start of spec execution
Because #tap method does not work when use a high performance machine
2013-02-26 13:51:09 +09:00
Watson
5573cc442a fix a bug which iOS simulator will be re-launched at every time with `rake'
RM-52 Should not re-launch iOS simulator at every time with `rake'
2013-02-26 13:31:00 +09:00
Watson
08341aef38 fix a bug which does not launch iOS simulator when `app.xcode_dir' is specified a path other than the '/Applications' folder 2013-02-26 11:14:22 +09:00
Watson
b17e5bb7e4 `app.resources_dir' will be deprecated 2013-02-26 01:00:51 +09:00
Watson
fa28dd86e3 fix a bug which cannot build an app when `app. xcode_dir' contains spaces
RM-40 Can't build with spaces in xcode.app path
2013-02-25 18:22:30 +09:00
Watson
505926d12e fix variable name 2013-02-25 15:56:22 +09:00
Watson
a160a13cc1 add a feature to support multiple resource directories
change `app.resources_dir' to accept an Array too, like:

    app.resources_dir = ["resources", "vendor/GoogleMaps.framework/Resources"]
2013-02-25 15:45:02 +09:00
Watson
2ebbd0d9f8 add a feature which creates Default-568h@2x.png' in resource directory by motion create' in order to support 4-inch screen by default 2013-02-12 12:05:27 +09:00
Watson
771b42c674 convert a string encoding which retrieved from filesystem
The OSX filesystem uses UTF8-MAC as file name encoding.
Its encoding has a character that does not match UTF-8 encoding.
(ex, "が" in Japanese)
2013-02-10 02:19:15 +09:00
Watson
a55a36b177 slightly delay the start of spec execution
Because #tap method does not work when use a high performance machine
2013-02-07 16:26:09 +09:00
yury
03c33372d7 Speed up build a little bit.
We use rubymotion v1.30 with new automatically detected file dependencies. We have very slow builds (about 30 secs on not cold builds) in project with only 52 ruby files.
After investigating I found that almost all build time rubymotion spend in `Motion::Project::Config#ordered_build_files` (about 24 secs).
`Array#uniq` does exactly what `orderd_build_files` is doing but much much faster.
With this change `Motion::Project::Config#ordered_build_files` takes only about 0.06 secs on my machine.
2013-01-23 15:13:44 +09:00
Watson
46583198af add app/pixate_code.rb into the default .gitignore file because it contains the Pixate license key 2013-01-20 17:43:36 +09:00
Watson
838ae1dee6 remove a `#' if it is included in first character in tap's description because its description will handled as comment in tap format 2013-01-18 18:16:39 +09:00
Watson
95fb1bd32a add a message of `describe' to description of tap's output
## before
not ok 1 - has one window: FAILED

## after
not ok 1 - Application 'test' has one window: FAILED
2013-01-18 17:26:04 +09:00
Watson
9b273d6f82 fix a tap format in `rake spec' to output the each test numbers instead of the total number
## before
$ rake spec output=tap
ok 34  - works with Assets
ok 34  - works with hash
…
ok 34  - should work
1..34
# 34 tests, 61 assertions, 0 failures, 0 errors

## after
$ rake spec output=tap
ok 1   - works with Assets
ok 2   - works with hash
…
ok 34  - should work
1..34
# 34 tests, 61 assertions, 0 failures, 0 errors
2013-01-18 11:52:09 +09:00
Watson
517cb186c1 fix a bug in `rake spec' which it would raise an ArgumentError when use "it" without block
A following spec will raise an ArgumentError.

	describe "Application 'test'" do
	  it "has one window"
	end

`instance_eval' will pass a receiver object into block.
When use a block which created by lambda, it should accept a receiver object as block parameter.

	b = lambda { self.upcase }
	"test".instance_eval(&b) #=> wrong number of arguments (1 for 0) (ArgumentError)
2013-01-18 11:08:43 +09:00
Watson
b69859fbdf fix a bug in detecting dependencies where it would cause build error when passed non-flat array into `app.files' 2013-01-15 15:53:25 +09:00
Watson
24fa3e1eb8 add .idea which is RubyMine project directory into the default .gitignore file 2012-12-25 10:43:49 +09:00
Watson
794c307fd1 add .sass-cache directory into the default .gitignore file 2012-12-25 10:35:00 +09:00
Laurent Sansonetti
2a8f81542d work around a compiler problem (time method signature) 2012-12-20 15:53:00 +05:30
Dennis Ushakov
716c765571 Added formatter for RubyMine tests runner 2012-11-29 00:34:31 +09:00
Watson
1132ae6ff7 fix a bug which cannot detecting file dependencies when include a nesting class
This patch will fix https://gist.github.com/4160705
2012-11-28 23:57:50 +09:00
Watson
96f39d66ea fix a build error when app files is not passed as flat array. 2012-11-17 18:18:51 +09:00
Watson
3992f8e92c remove cyclic dependencies to fix a `stack level too deep' 2012-11-17 14:28:23 +09:00
Watson
5a39c5f381 fix a bug in detection dependency which ignore definition of constants
The files that contains only constants (like a configuration file) have been ignored in detection dependency.

	$ cat app/config.rb
	USER_NAME = "Watson"
	MAIL = "watson1978@gmail.com"
2012-11-17 12:34:15 +09:00
Watson
40d19d655f fix a bug that cannot be loaded ripper on Ruby18 2012-11-17 08:35:27 +09:00
Watson
09e2cfef41 remove "Defined in:" section in `motion ri' 2012-11-14 16:02:29 +09:00
Watson
9320db598e install yard gem (v0.8.3) 2012-11-14 15:58:42 +09:00
Watson
7abb10940c fix the load path to load ripper for Ruby 1.8 2012-11-14 11:50:07 +09:00
Watson
2513369a65 change the default value in detect_dependencies 2012-11-11 21:01:45 +09:00
Watson
ec7f3be3f8 add detect_dependencies variable to resolve file dependencies 2012-11-11 10:02:35 +09:00
Watson
06c1b597ea use ripper gem if use Ruby18 2012-11-10 21:52:34 +09:00