Commit Graph

221 Commits

Author SHA1 Message Date
Laurent Sansonetti
bbe51897e7 add app.version_name, app.version_code, and app.version(code, name) to specify app versioning when generating the manifest file 2014-05-20 12:01:08 +02:00
Laurent Sansonetti
66f4c8cff8 add `rake release’ task which creates an apk build suitable for play store submissions, fix build to use a distinct directory for development/release build objects 2014-05-19 16:30:29 +02:00
Laurent Sansonetti
8e8201c519 add app.release_keystore(path, alias_name) method to set up the code signing for release builds (play store) 2014-05-19 16:28:07 +02:00
Laurent Sansonetti
4549026078 damnit 2014-05-19 10:52:11 +02:00
Laurent Sansonetti
e89343c126 fix a bug where the ‘class_path’ local variable was shadowed 2014-05-19 10:47:22 +02:00
Laurent Sansonetti
ea4a041b8f read extra packages paths from the manifest files, rebuild the R.java files if *any* resource file is newer than them 2014-05-19 10:41:21 +02:00
Laurent Sansonetti
04d11e1c99 fix app.vendor_project to accept a manifest’ key/value pair (when resources’ is provided), generate R.java files for the project’s resources + libraries’ resources 2014-05-19 10:22:05 +02:00
Laurent Sansonetti
1949f57c58 remove app.manifest_metadata, add app.manifest_entry() which can be used to provide any element at either the top-level element or ‘application’ 2014-05-19 10:18:50 +02:00
Laurent Sansonetti
16ab93948d fix code when called within the class 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
8b06cc055b add app.logs_components which can be used to customize the components we will be logging messages from in the development terminal 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
e67a6e4123 introduce app.vendor_project which receives a hash (mandatory, :jar key/value, optional, :resources key/value), fix build system to include 3rd-party resources directories into the apk 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
1e235c909e add app.manifest_metadata which can be used to provide <meta-data …> elements to the AndroidManifest.xml file 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
8bf34a724a add app.icon which must contain the name of an icon file in resources/drawable 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
c629a10ddf app.resources_dirs are now used for android resources, introduce app.assets_dirs to store raw assets (and it defaults to the ‘assets’ project directory) 2014-05-19 00:20:34 +02:00
Laurent Sansonetti
3426b6cfba support for 3rd-party android libraries: the build system will vendor all .jar files that are inside the ‘vendor’ sub-directory, and also generate .bridgesupport metadata for them 2014-05-15 20:04:17 +02:00
Laurent Sansonetti
92f1fdefd0 log informational messages from dalvikvm 2014-05-13 16:22:51 +02:00
Laurent Sansonetti
e146102969 force a rebuild of .rb files if the kernel bitcode changed 2014-05-11 00:40:21 +08:00
Laurent Sansonetti
c2da1b0c89 re-create the payload library if the librubymotion-static.a archive changed 2014-04-27 23:47:46 +02:00
Laurent Sansonetti
4675a36840 fix typo 2014-04-27 17:41:02 +02:00
Laurent Sansonetti
59d23e6217 better fix for when we need to rebuild classes.dex if a .class file changed 2014-04-27 16:26:30 +02:00
Laurent Sansonetti
8c43ad838e don’t print when creating java files, to not confuse the user with how rubymotion works 2014-04-27 16:25:55 +02:00
Laurent Sansonetti
aeba249d76 on-demand build for classes.dex, AndroidManifest.xml, apk file 2014-04-27 16:16:58 +02:00
Laurent Sansonetti
5451197a33 create the debug keystore regardless if we have to create the apk file 2014-04-27 16:07:36 +02:00
Laurent Sansonetti
0688166578 on demand build for ruby bit code, payload library, java/class files (+ remove old java/class files that are not referred in the class map anymore) 2014-04-27 16:03:51 +02:00
Laurent Sansonetti
fc4785d58c follow java map generation change 2014-04-26 14:08:25 +02:00
Laurent Sansonetti
9a3f14022c support for Java interfaces when generating the Java description of Ruby classes 2014-04-25 15:32:12 +02:00
Laurent Sansonetti
ec7abfe3f3 add .gitignore android project file 2014-04-24 13:50:29 +02:00
Laurent Sansonetti
836f6bc0ab `motion create —template=android’ now creates an empty MainActivity class 2014-04-24 13:48:43 +02:00
Laurent Sansonetti
737f50d95b log chromium messages (useful to debug apps using webkit) 2014-04-21 19:14:58 +02:00
Laurent Sansonetti
03b12ab6e1 resource directories are now considered “assets” and not Android resources (which are apparently a completely different beast) 2014-04-21 19:14:23 +02:00
Laurent Sansonetti
a192545b12 log errors from AndroidRuntime (ex. app crashing due to an uncaught exception) 2014-04-16 14:12:47 +02:00
Laurent Sansonetti
cf46459c2e clean up local references created by the ruby source init functions 2014-04-16 13:08:35 +02:00
Laurent Sansonetti
504994345b ditto 2014-04-10 15:29:00 +02:00
Laurent Sansonetti
68a3f6ab45 make sure .class files as well as the DEX file are really re-generated every time (for now) 2014-04-10 15:28:59 +02:00
Laurent Sansonetti
1581fd16b4 honor the `app.files’ variable 2014-04-09 17:09:27 +02:00
Watson
402a942918 fix a build error in environment which uses Ruby 1.8
http://hipbyte.myjetbrains.com/youtrack/issue/RM-463
2014-04-09 14:16:02 +09:00
Eloy Durán
7d2ea52374 [bacon-ui] Get rid of a false positive warning. 2014-04-07 15:01:05 +02:00
Laurent Sansonetti
9bab907d2c link with rubymotion.jar 2014-04-05 18:51:56 +02:00
Mark Rickert
378aa6730b Add gemspec to Gemfile for gem template.
Since spec.add_development_dependency "rake" is already in the gemspec template, we don't need it in the Gemfile and we should always defer to the gemspec for our dependencies except for advanced use cases.
2014-04-03 10:33:46 +09:00
Laurent Sansonetti
dc6e39e351 don’t try to force-kill the app if it’s already dead 2014-03-26 17:44:11 +01:00
Laurent Sansonetti
2170e6098d follow compiler changes, which now generates bitcode instead of assembly, we now pass the bitcode file to the linker 2014-03-26 15:39:20 +01:00
Laurent Sansonetti
3d8d36ed61 kill the app when pressing ^C 2014-03-26 13:24:13 +01:00
Laurent Sansonetti
7e338ef32b this function isn't used anymore 2014-03-26 13:09:27 +01:00
Laurent Sansonetti
e78dd0fd49 build ruby object files into the obj/local/<arm-abi-directory-name> directory, similar to how NDK projects work 2014-03-26 00:48:04 +01:00
Laurent Sansonetti
7b7a8894d5 the -mtune flag should be passed to the compiler, not the assembler 2014-03-26 00:46:54 +01:00
Laurent Sansonetti
dc3c5b2737 use proper armeabi directory name when compiling for an arch 2014-03-26 00:35:30 +01:00
Laurent Sansonetti
31c71c14ec use proper arch-related flags 2014-03-26 00:35:29 +01:00
Watson
0f9242dd20 fix a build error when “Resource” is contained as resource directory path
This should fix the following case which uses "HTBResources.bundle" as resource.

```
% rake
    ERROR! An iOS application cannot be installed if it contains a directory called `resources'. Please rename the directory at path `vendor/Pods/Resources/HTBResources.bundle' to, for instance, `vendor/Pods/Resources/assets'.
````
2014-03-24 08:29:20 +09:00
Watson
7bb8f69a2e fix a bug where nested array cannot be handled
it cause an error If app.resources_dirs has nested array

  app.resources_dirs << ['Images']

```
% rake
rake aborted!
no implicit conversion of Array into String
/Library/RubyMotion/lib/motion/project/template/ios.rb:51:in `exists?'
/Library/RubyMotion/lib/motion/project/template/ios.rb:51:in `block in pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:50:in `each'
/Library/RubyMotion/lib/motion/project/template/ios.rb:50:in `pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:67:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/ios.rb:122:in `block in <top (required)>'
Tasks: TOP => build:simulator
(See full trace by running task with --trace)
```
2014-03-23 02:38:06 +09:00
Watson
a4cd4a4cec fix build error if resource directory does not exits
This bug is introduced by 064672443d

% motion create hello && cd hello
% rm -rf resources
% rake
rake aborted!
No such file or directory @ dir_initialize - ./resources
/Library/RubyMotion/lib/motion/project/template/ios.rb:51:in `open'
/Library/RubyMotion/lib/motion/project/template/ios.rb:51:in `entries'
/Library/RubyMotion/lib/motion/project/template/ios.rb:51:in `block in pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:50:in `each'
/Library/RubyMotion/lib/motion/project/template/ios.rb:50:in `pre_build_actions'
/Library/RubyMotion/lib/motion/project/template/ios.rb:66:in `block (2 levels) in <top (required)>'
/Library/RubyMotion/lib/motion/project/template/ios.rb:121:in `block in <top (required)>'
Tasks: TOP => build:simulator
(See full trace by running task with --trace)
2014-03-23 00:39:16 +09:00