rjb 1.3.8 → 1.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|