Commit Graph

671 Commits

Author SHA1 Message Date
Laurent Sansonetti
21b9318ef8 add app.permissions’ a shortcut that allows uses-permission’ elements to be added to the manifest file 2014-08-22 19:34:21 +02:00
Eloy Durán
5ddd0e4a41 [vendor] Traverse symlink dirs when finding headers. 2014-08-20 14:38:27 +02:00
Watson
57f09234d7 [iOS8] add codesigning for embedded frameworks
http://hipbyte.myjetbrains.com/youtrack/issue/RM-558
2014-08-20 15:17:37 +09:00
Laurent Sansonetti
3962728508 pass '-Wl,-no_pie' to the linker in order to remove the 'ld: warning: PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in _vm_gc_wb from...' message, please revert the change if it causes any problem 2014-08-19 17:22:06 +02:00
Watson
3da04dde6e [iOS8] fix @executable_path for iOS platform
http://hipbyte.myjetbrains.com/youtrack/issue/RM-558
2014-08-19 17:00:13 +09:00
Watson
a03c7bfbbd [iOS8] move embedded_frameworks configurations to xcode_config.rb in order to use OSX and iOS platform
http://hipbyte.myjetbrains.com/youtrack/issue/RM-558
2014-08-19 16:59:54 +09:00
Watson
8a4b58bf05 clear xcode_version value when change xcode dir path
http://hipbyte.myjetbrains.com/youtrack/issue/RM-566

If change the Xcode dir path via "app.xcode_dir", already cache the @xcode_version value with '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild'.
We cannot retrieve iOS 8 simulator device name from Xcode 5.
So, 'iPhone 4s / iOS 7' simulator is always launched as default.
2014-08-18 23:39:13 +09:00
Eloy Durán
4d797271e8 [Instruments] All instrument templates seem to work with Xcode 6. 2014-08-18 14:04:28 +02:00
Eloy Durán
a5d6ea1627 [Instruments] Ensure we only deal with the templates part of the output. 2014-08-18 13:09:26 +02:00
Eloy Durán
ce150dbab3 [Instruments] Always try to find the instrument CLI tool in the right xcode_dir. 2014-08-18 13:01:51 +02:00
Watson
a7dd9c405b [iOS8] fix a bug which invalid template path would be generated
If specify template with `rake profile template="XXXX"',
it will generate invalid template path which contains unnecessary `"' as following.

		<key>XrayTemplatePath</key>
		<string>"/Applications/Xcode6-Beta5.app/Contents/Applications/Instruments.app/Contents/Resources/templates/Time Profiler.tracetemplate</string>
2014-08-18 12:26:12 +09:00
Watson
ec3e808e3d [iOS8] fix where Instruments does not launch
http://hipbyte.myjetbrains.com/youtrack/issue/RM-563

Since iOS 8, simulator UUID will be required to launch.
2014-08-18 12:18:08 +09:00
Watson
88293d0666 use absolute xcodebuild path to remove "xcodebuild: error" message
http://hipbyte.myjetbrains.com/youtrack/issue/RM-562
2014-08-16 15:05:03 +09:00
Laurent Sansonetti
70224dc851 make sure we use 'adb -d' since an emulator could be running at the same time 2014-08-14 18:22:26 -04:00
Watson
c794a3ee45 add validation into app.vendor_project('xxx', :xcode, ...) because xcodebuild command fails if xcode project directory is not writable 2014-08-13 20:00:50 +09:00
Watson
3d1e080c25 fix a bug where vendor library contained in gem causes a build error with system bundled ruby
http://hipbyte.myjetbrains.com/youtrack/issue/RM-553
2014-08-13 19:11:26 +09:00
Laurent Sansonetti
8f5c3dce69 before installing an app, verify that the usb-connected device runs an API version higher or equal to the app's one 2014-08-09 21:23:24 +02:00
Laurent Sansonetti
b4cb35616e fail with a proper error message in case the NDK does not support the API level we want; lower the API level in the NDK when needed (ex. 10 and 11 should use 9 since NDK does not support these) 2014-08-09 12:30:02 +02:00
Laurent Sansonetti
f13425acc9 Fixed detection of the build tools directory. In some installations of the NDK, the directory can be a version number (ex. '20.0.0').
Patch by Mark Villacampa.
2014-08-09 11:26:44 +02:00
Laurent Sansonetti
3fe0821c88 Remove configChanges from the manifest.
Gives problems in older versions and also Google recommends using it as a last resort

"Using this attribute should be avoided and used only as a last resort."
http://developer.android.com/guide/topics/manifest/activity-element.html

Patch by Mark Villacampa.
2014-08-09 11:26:44 +02:00
Laurent Sansonetti
ee36b4b967 Use System.loadLibrary() to load the payload. This is what JNI sample apps use.
Line 64:
https://android.googlesource.com/platform/development/+/android-4.4.4_r2/ndk/samples/hello-jni/src/com/example/hellojni/HelloJni.java

This makes RubyMotion work on older Android versions (such as API 8).

Patch by Mark Villacampa.
2014-08-09 11:26:44 +02:00
Laurent Sansonetti
39c8890c08 JDK 7 requires explicitly setting this. Should work in JDK 6 too.
"Caution: As of JDK 7, the default signing algorithim has changed, requiring you to specify the signature and digest algorithims (-sigalg and -digestalg) when you sign an APK."

Google Cache:
http://webcache.googleusercontent.com/search?q=cache:OjyaP-Zoz-MJ:developer.android.com/tools/publishing/app-signing.html+&cd=1&hl=es&ct=clnk&client=safari

(Patch by Mark Villacampa)
2014-08-09 11:26:44 +02:00
Laurent Sansonetti
afc8381d54 better zipalign detection with a fallback on tools/zipalign (old SDKs) 2014-08-08 23:29:05 +02:00
Laurent Sansonetti
c4e7ba6919 better detection of default API version 2014-08-08 17:32:47 +02:00
Laurent Sansonetti
ab466d9cee remove zipalign_path variable (it's best if it's not exposed to the user) 2014-08-08 17:00:01 +02:00
Watson
9ff1dab9eb fix zipalign path 2014-08-08 23:11:54 +09:00
Laurent Sansonetti
3f25fd2f89 retrieve values for app.sdk_path and app.ndk_path from the respective RUBYMOTION_ANDROID_SDK and RUBYMOTION_ANDROID_NDK environment variables 2014-08-07 16:09:08 +02:00
Eloy Durán
facf63d024 [osx] Merge all Info.plist data in one place and ensure there's always a principal class. 2014-08-06 11:29:22 +02:00
Eloy Durán
51538c0ac7 [osx] Allow the user to configure a NSApplication subclass and use that instead.
Fixes http://hipbyte.myjetbrains.com/youtrack/issue/RM-539
2014-08-05 14:41:27 +02:00
Watson
ed5521ad56 [android] fix an error which /usr/bin/keytool causes if '~/.android' is not existed
This should fix the following error

    /usr/bin/keytool -genkeypair -alias androiddebugkey -keypass android -keystore "/Users/watson/.android/debug.keystore" -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=ja_JP.UTF-8
    keytool エラー: java.io.FileNotFoundException: /Users/watson/.android/debug.keystore (No such file or directory)
2014-08-01 12:40:14 +09:00
Watson
04fd944ebe fix __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ for OSX 10.10
The definition rule of MAC_OS_X_VERSION_10_XX is changed at OS X 10.10

#define MAC_OS_X_VERSION_10_8         1080
#define MAC_OS_X_VERSION_10_9         1090
#define MAC_OS_X_VERSION_10_10      101000
2014-07-09 22:42:47 +09:00
Laurent Sansonetti
1fb3160fea Merge branch 'master' of github.com:lrz/RubyMotion 2014-07-01 14:52:58 +02:00
Watson
aabaa110bc [OSX] fix a 'not precompiled' error if specify old version as deployment_target on Yosemite
http://hipbyte.myjetbrains.com/youtrack/issue/RM-525
2014-07-01 13:58:58 +09:00
Watson
a4e313d3ef [OSX] add CoreServices to detect OS X version to convert NSKnownKeysDictionary into NSDictionary 2014-07-01 10:56:49 +09:00
Watson
543bb00d54 [OSX] fix a wrong default deployment_target on OS X 10.8
http://hipbyte.myjetbrains.com/youtrack/issue/RM-524

'10.8' should be used as default deployment target on OS X 10.8.
However, '10.9' was used.
2014-07-01 08:33:14 +09:00
Laurent Sansonetti
51dc4dab9f update path of zipalign tool 2014-06-27 19:11:14 +02:00
Watson
a692ef4a20 Revert "generate object file from Ruby code directly"
This reverts commit ebc11886ef.
2014-06-27 22:05:11 +09:00
Watson
ebc11886ef generate object file from Ruby code directly 2014-06-27 09:46:32 +09:00
Ignacio Piantanida
db4b3b6020 [spec] Add spec helpers subdirs to #spec_files.
Signed-off-by: Eloy Durán <eloy.de.enige@gmail.com>
2014-06-24 14:56:35 +02:00
Laurent Sansonetti
6d662e4d21 re-generate classes.dex if one of the vendored jar is newer 2014-06-11 00:28:59 +02:00
Watson
9bfb8f4ef7 [iOS8] add "device_name" parameter
Usage:
	$ rake device_name="iPad Air"

We can use the following device name for iOS 8 simulator.
	"iPhone 4s"
	"iPhone 5"
	"iPhone 5s"
	"iPad 2"
	"iPad Retina"
	"iPad Air"
	"Resizable iPhone"
	"Resizable iPad"
2014-06-07 09:30:55 +09:00
Watson
493a06f1d7 [iOS8] fix device family string in order to select device 2014-06-07 09:22:38 +09:00
Watson
d2caa4a5ac accept the lower SDK version in `app.deployment_target' on Yosemite 2014-06-04 10:20:01 +09:00
Watson
1d7886db98 should not drop "10.10" from supported sdk version list
This should allow to use "10.10" sdk on Yosemite
2014-06-04 10:05:46 +09:00
Watson
591a616a68 build an app even if resources and assets directories does exists
This should fix the following error.
Because, now, android samples does not have resources and assets directories.

$ rake device
   Compile ./app/main_activity.rb
    Create ./build/Development-18/lib/armeabi/libpayload.so
    Create ./build/Development-18/lib/armeabi/gdbserver
    Create ./build/Development-18/lib/armeabi/gdb.setup
    Create ./build/Development-18/AndroidManifest.xml
ERROR: resource directory './resources' does not exist
rake aborted!
2014-05-29 05:03:34 -07:00
Laurent Sansonetti
6009476dcd fix build when manifest entries could be nil/empty 2014-05-27 09:57:50 -07:00
Laurent Sansonetti
d2b5ec0bfc fix rake start_avd’ task to honor the avd’ env variable which can be used to override the default AVD configuration that should be used 2014-05-27 09:56:35 -07:00
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
274b13770e move app.version from config to xcodeconfig 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