rjb 1.3.8 → 1.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +5 -0
- data/ext/extconf.h +9 -0
- data/ext/jniwrap.h +4 -2
- data/ext/load.c +10 -1
- data/ext/rjb.c +3 -2
- data/ext/rjb.h +2 -1
- data/readme.txt +35 -28
- data/test/jp/co/infoseek/hp/arton/rjb/IBase.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/Test$TestTypes.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/Test.class +0 -0
- data/test/rjbtest.jar +0 -0
- data/test/test_unload.rb +0 -0
- metadata +3 -4
- data/test/jp/co/infoseek/hp/arton/rjb/Base.class +0 -0
- data/test/jp/co/infoseek/hp/arton/rjb/ExtBase.class +0 -0
data/ChangeLog
CHANGED
data/ext/extconf.h
ADDED
data/ext/jniwrap.h
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
13
|
* Lesser General Public License for more details.
|
14
14
|
*
|
15
|
-
* $Id: jniwrap.h
|
15
|
+
* $Id: jniwrap.h 181 2012-01-28 05:28:41Z arton $
|
16
16
|
*/
|
17
17
|
#ifndef _Included_jniwrap
|
18
18
|
#define _Included_jniwrap
|
@@ -21,7 +21,9 @@ extern "C" {
|
|
21
21
|
#endif
|
22
22
|
|
23
23
|
#if defined(__GNUC__) && (defined(__CYGWIN32__) || defined(__MINGW32__))
|
24
|
-
|
24
|
+
#if !defined(__int64)
|
25
|
+
typedef long long __int64;
|
26
|
+
#endif
|
25
27
|
#endif
|
26
28
|
|
27
29
|
#include <jni.h>
|
data/ext/load.c
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
13
|
* Lesser General Public License for more details.
|
14
14
|
*
|
15
|
-
* $Id: load.c
|
15
|
+
* $Id: load.c 180 2011-12-05 16:34:29Z arton $
|
16
16
|
*/
|
17
17
|
|
18
18
|
#include <stdlib.h>
|
@@ -271,6 +271,15 @@ static int load_bridge(JNIEnv* jenv)
|
|
271
271
|
return 0;
|
272
272
|
}
|
273
273
|
|
274
|
+
void rjb_unload_vm()
|
275
|
+
{
|
276
|
+
if (RTEST(jvmdll))
|
277
|
+
{
|
278
|
+
rb_funcall(jvmdll, rb_intern("close"), 0);
|
279
|
+
jvmdll = Qnil;
|
280
|
+
}
|
281
|
+
}
|
282
|
+
|
274
283
|
int rjb_create_jvm(JNIEnv** pjenv, JavaVMInitArgs* vm_args, char* userpath, VALUE argv)
|
275
284
|
{
|
276
285
|
static JavaVMOption soptions[] = {
|
data/ext/rjb.c
CHANGED
@@ -12,10 +12,10 @@
|
|
12
12
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
13
|
* Lesser General Public License for more details.
|
14
14
|
*
|
15
|
-
* $Id: rjb.c
|
15
|
+
* $Id: rjb.c 181 2012-01-28 05:28:41Z arton $
|
16
16
|
*/
|
17
17
|
|
18
|
-
#define RJB_VERSION "1.3.
|
18
|
+
#define RJB_VERSION "1.3.9"
|
19
19
|
|
20
20
|
#include "ruby.h"
|
21
21
|
#include "extconf.h"
|
@@ -1892,6 +1892,7 @@ static VALUE rjb_s_unload(int argc, VALUE* argv, VALUE self)
|
|
1892
1892
|
(*jenv)->ExceptionClear(jenv);
|
1893
1893
|
result = (*rjb_jvm)->DestroyJavaVM(rjb_jvm);
|
1894
1894
|
rjb_jvm = NULL;
|
1895
|
+
rjb_unload_vm();
|
1895
1896
|
}
|
1896
1897
|
return INT2NUM(result);
|
1897
1898
|
}
|
data/ext/rjb.h
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
13
|
* Lesser General Public License for more details.
|
14
14
|
*
|
15
|
-
* $Id: rjb.h
|
15
|
+
* $Id: rjb.h 180 2011-12-05 16:34:29Z arton $
|
16
16
|
* $Log: rjb.h,v $
|
17
17
|
* Revision 1.1 2005/01/16 17:36:10 arton
|
18
18
|
* Initial revision
|
@@ -72,6 +72,7 @@ extern JNIEnv* rjb_attach_current_thread(void);
|
|
72
72
|
extern jclass rjb_find_class(JNIEnv* jenv, VALUE name);
|
73
73
|
extern void rjb_release_string(JNIEnv *jenv, jstring str, const char* chrs);
|
74
74
|
extern VALUE rjb_load_vm_default();
|
75
|
+
extern void rjb_unload_vm();
|
75
76
|
extern VALUE rjb_safe_funcall(VALUE args);
|
76
77
|
extern VALUE jv2rv(JNIEnv* jenv, jvalue val);
|
77
78
|
extern jobject get_systemloader(JNIEnv* jenv);
|
data/readme.txt
CHANGED
@@ -1,28 +1,35 @@
|
|
1
|
-
Rjb is Ruby-Java bridge using Java Native Interface.
|
2
|
-
|
3
|
-
How to install
|
4
|
-
|
5
|
-
you need to install Java2 sdk, and setup JAVA_HOME enviromental varible except for OS X.
|
6
|
-
I assume that OS X's JAVA_HOME is fixed as '/System/Library/Frameworks/JavaVM.framework'.
|
7
|
-
|
8
|
-
then,
|
9
|
-
|
10
|
-
ruby setup.rb config
|
11
|
-
ruby setup.rb setup
|
12
|
-
|
13
|
-
(in Unix)
|
14
|
-
sudo ruby setup.rb install
|
15
|
-
or
|
16
|
-
(in win32)
|
17
|
-
ruby setup.rb install
|
18
|
-
|
19
|
-
How to test
|
20
|
-
in Win32
|
21
|
-
cd test
|
22
|
-
ruby test.rb
|
23
|
-
|
24
|
-
in Unix
|
25
|
-
see test/readme.unix
|
26
|
-
you must set LD_LIBRARY_PATH environmental variable to run rjb.
|
27
|
-
|
28
|
-
|
1
|
+
Rjb is Ruby-Java bridge using Java Native Interface.
|
2
|
+
|
3
|
+
How to install
|
4
|
+
|
5
|
+
you need to install Java2 sdk, and setup JAVA_HOME enviromental varible except for OS X.
|
6
|
+
I assume that OS X's JAVA_HOME is fixed as '/System/Library/Frameworks/JavaVM.framework'.
|
7
|
+
|
8
|
+
then,
|
9
|
+
|
10
|
+
ruby setup.rb config
|
11
|
+
ruby setup.rb setup
|
12
|
+
|
13
|
+
(in Unix)
|
14
|
+
sudo ruby setup.rb install
|
15
|
+
or
|
16
|
+
(in win32)
|
17
|
+
ruby setup.rb install
|
18
|
+
|
19
|
+
How to test
|
20
|
+
in Win32
|
21
|
+
cd test
|
22
|
+
ruby test.rb
|
23
|
+
|
24
|
+
in Unix
|
25
|
+
see test/readme.unix
|
26
|
+
you must set LD_LIBRARY_PATH environmental variable to run rjb.
|
27
|
+
|
28
|
+
-- Notice for opening non-ASCII 7bit filename
|
29
|
+
If you'll plan to open the non-ascii character named file by Java class through Rjb, it may require to set LC_ALL environment variable in you sciprt.
|
30
|
+
For example in Rails, set above line in production.rb as your environment.
|
31
|
+
ENV['LC_ALL'] = 'en_us.utf8' # or ja_JP.utf8 etc.
|
32
|
+
cf: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4733494
|
33
|
+
(Thanks Paul for this information).
|
34
|
+
|
35
|
+
artonx@yahoo.co.jp
|
Binary file
|
Binary file
|
Binary file
|
data/test/rjbtest.jar
CHANGED
File without changes
|
data/test/test_unload.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: rjb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.3.
|
5
|
+
version: 1.3.9
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- arton
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
13
|
+
date: 2012-01-28 00:00:00 Z
|
14
14
|
dependencies: []
|
15
15
|
|
16
16
|
description: |
|
@@ -31,6 +31,7 @@ files:
|
|
31
31
|
- ext/rjb.c
|
32
32
|
- ext/jp_co_infoseek_hp_arton_rjb_RBridge.h
|
33
33
|
- ext/riconv.h
|
34
|
+
- ext/extconf.h
|
34
35
|
- ext/jniwrap.h
|
35
36
|
- ext/rjb.h
|
36
37
|
- ext/depend
|
@@ -44,11 +45,9 @@ files:
|
|
44
45
|
- test/test_unload.rb
|
45
46
|
- test/test_osxjvm.rb
|
46
47
|
- test/gctest.rb
|
47
|
-
- test/jp/co/infoseek/hp/arton/rjb/Base.class
|
48
48
|
- test/jp/co/infoseek/hp/arton/rjb/IBase.class
|
49
49
|
- test/jp/co/infoseek/hp/arton/rjb/Test.class
|
50
50
|
- test/jp/co/infoseek/hp/arton/rjb/Test$TestTypes.class
|
51
|
-
- test/jp/co/infoseek/hp/arton/rjb/ExtBase.class
|
52
51
|
- test/TwoCaller.class
|
53
52
|
- test/Two.class
|
54
53
|
- test/rjbtest.jar
|
Binary file
|
Binary file
|