r2corba 1.4.1-x86-mingw32

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.
Files changed (267) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +159 -0
  3. data/LICENSE +59 -0
  4. data/README +62 -0
  5. data/THANKS +52 -0
  6. data/bin/r2corba +8 -0
  7. data/bin/r2corba.bat +20 -0
  8. data/bin/ridlc +11 -0
  9. data/bin/ridlc.bat +23 -0
  10. data/bin/rins +7 -0
  11. data/bin/rins.bat +19 -0
  12. data/ext/.keep +0 -0
  13. data/lib/corba/cbase/IORMap.rb +33 -0
  14. data/lib/corba/cbase/ORB.rb +231 -0
  15. data/lib/corba/cbase/Request.rb +134 -0
  16. data/lib/corba/cbase/Streams.rb +129 -0
  17. data/lib/corba/cbase/Stub.rb +19 -0
  18. data/lib/corba/cbase/Typecode.rb +441 -0
  19. data/lib/corba/cbase/Values.rb +129 -0
  20. data/lib/corba/cbase/exception.rb +66 -0
  21. data/lib/corba/cbase/poa.rb +23 -0
  22. data/lib/corba/cbase/policies.rb +78 -0
  23. data/lib/corba/cbase/post_require.rb +14 -0
  24. data/lib/corba/cbase/require.rb +28 -0
  25. data/lib/corba/cmds/base.rb +85 -0
  26. data/lib/corba/cmds/test.rb +30 -0
  27. data/lib/corba/common/Any.rb +91 -0
  28. data/lib/corba/common/IDL.rb +104 -0
  29. data/lib/corba/common/ORB.rb +368 -0
  30. data/lib/corba/common/Object.rb +208 -0
  31. data/lib/corba/common/Request.rb +20 -0
  32. data/lib/corba/common/Servant.rb +108 -0
  33. data/lib/corba/common/Struct.rb +22 -0
  34. data/lib/corba/common/Stub.rb +79 -0
  35. data/lib/corba/common/Typecode.rb +1121 -0
  36. data/lib/corba/common/Union.rb +56 -0
  37. data/lib/corba/common/Values.rb +92 -0
  38. data/lib/corba/common/const.rb +22 -0
  39. data/lib/corba/common/exception.rb +68 -0
  40. data/lib/corba/common/require.rb +27 -0
  41. data/lib/corba/common/version.rb +22 -0
  42. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  43. data/lib/corba/idl/CosNamingC.rb +461 -0
  44. data/lib/corba/idl/CosNamingS.rb +309 -0
  45. data/lib/corba/idl/IDL.rb +21 -0
  46. data/lib/corba/idl/IORTable.pidl +62 -0
  47. data/lib/corba/idl/IORTableC.rb +117 -0
  48. data/lib/corba/idl/MessagingC.rb +904 -0
  49. data/lib/corba/idl/POAC.rb +930 -0
  50. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  51. data/lib/corba/idl/TAO_ExtC.rb +179 -0
  52. data/lib/corba/idl/r2c_orb.rb +572 -0
  53. data/lib/corba/idl/require.rb +20 -0
  54. data/lib/corba/jbase/Any.rb +273 -0
  55. data/lib/corba/jbase/IORMap.rb +36 -0
  56. data/lib/corba/jbase/ORB.rb +99 -0
  57. data/lib/corba/jbase/Object.rb +98 -0
  58. data/lib/corba/jbase/Request.rb +226 -0
  59. data/lib/corba/jbase/Servant.rb +247 -0
  60. data/lib/corba/jbase/ServerRequest.rb +128 -0
  61. data/lib/corba/jbase/Streams.rb +671 -0
  62. data/lib/corba/jbase/Stub.rb +38 -0
  63. data/lib/corba/jbase/Typecode.rb +520 -0
  64. data/lib/corba/jbase/Values.rb +173 -0
  65. data/lib/corba/jbase/exception.rb +106 -0
  66. data/lib/corba/jbase/poa.rb +229 -0
  67. data/lib/corba/jbase/policies.rb +300 -0
  68. data/lib/corba/jbase/post_require.rb +14 -0
  69. data/lib/corba/jbase/require.rb +86 -0
  70. data/lib/corba/naming.rb +14 -0
  71. data/lib/corba/naming_service.rb +15 -0
  72. data/lib/corba/poa.rb +15 -0
  73. data/lib/corba/policies.rb +18 -0
  74. data/lib/corba/require.rb +17 -0
  75. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  76. data/lib/corba/svcs/ins/ins.rb +526 -0
  77. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  78. data/lib/corba.rb +16 -0
  79. data/lib/ridlbe/ruby/config.rb +336 -0
  80. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  81. data/lib/ridlbe/ruby/require.rb +16 -0
  82. data/lib/ridlbe/ruby/walker.rb +1582 -0
  83. data/mkrf_conf_bingem.rb +101 -0
  84. data/rakelib/bin.rake +80 -0
  85. data/rakelib/bin.rb +146 -0
  86. data/rakelib/build.rake +87 -0
  87. data/rakelib/config.rake +52 -0
  88. data/rakelib/config.rb +450 -0
  89. data/rakelib/ext.rake +242 -0
  90. data/rakelib/ext.rb +308 -0
  91. data/rakelib/ext_r2tao.rb +232 -0
  92. data/rakelib/gem.rake +212 -0
  93. data/rakelib/gem.rb +146 -0
  94. data/rakelib/package.rake +26 -0
  95. data/rakelib/test.rake +23 -0
  96. data/test/BiDirectional/Test.idl +34 -0
  97. data/test/BiDirectional/client.rb +132 -0
  98. data/test/BiDirectional/run_test.rb +68 -0
  99. data/test/BiDirectional/server.ior +1 -0
  100. data/test/BiDirectional/server.rb +169 -0
  101. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  105. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  106. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  107. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  108. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  109. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  110. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  111. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  112. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  113. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  114. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  115. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  116. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  117. data/test/Collocation/Diamond.idl +39 -0
  118. data/test/Collocation/run_test.rb +52 -0
  119. data/test/Collocation/test.rb +195 -0
  120. data/test/Connect_Timeout/Test.idl +27 -0
  121. data/test/Connect_Timeout/client.rb +111 -0
  122. data/test/Connect_Timeout/run_test.rb +52 -0
  123. data/test/DII/Test.idl +27 -0
  124. data/test/DII/client.rb +115 -0
  125. data/test/DII/run_test.rb +69 -0
  126. data/test/DII/server.ior +1 -0
  127. data/test/DII/server.rb +95 -0
  128. data/test/DSI/Test.idl +27 -0
  129. data/test/DSI/client.rb +66 -0
  130. data/test/DSI/run_test.rb +69 -0
  131. data/test/DSI/server.ior +1 -0
  132. data/test/DSI/server.rb +106 -0
  133. data/test/Exceptions/Test.idl +48 -0
  134. data/test/Exceptions/client.rb +118 -0
  135. data/test/Exceptions/run_test.rb +69 -0
  136. data/test/Exceptions/server.ior +1 -0
  137. data/test/Exceptions/server.rb +131 -0
  138. data/test/Hello/Test.idl +27 -0
  139. data/test/Hello/client.rb +78 -0
  140. data/test/Hello/run_test.rb +71 -0
  141. data/test/Hello/server.rb +95 -0
  142. data/test/IDL_Test/Test.idl +113 -0
  143. data/test/IDL_Test/Test_inc.idl +17 -0
  144. data/test/IDL_Test/client.rb +102 -0
  145. data/test/IDL_Test/run_test.rb +69 -0
  146. data/test/IDL_Test/server.ior +1 -0
  147. data/test/IDL_Test/server.rb +99 -0
  148. data/test/IORMap/Test.idl +27 -0
  149. data/test/IORMap/client.rb +73 -0
  150. data/test/IORMap/run_test.rb +69 -0
  151. data/test/IORMap/server.ior +1 -0
  152. data/test/IORMap/server.rb +114 -0
  153. data/test/IORTable/Test.idl +27 -0
  154. data/test/IORTable/client.rb +75 -0
  155. data/test/IORTable/run_test.rb +69 -0
  156. data/test/IORTable/server.ior +1 -0
  157. data/test/IORTable/server.rb +130 -0
  158. data/test/Implicit_Conversion/Test.idl +31 -0
  159. data/test/Implicit_Conversion/client.rb +110 -0
  160. data/test/Implicit_Conversion/run_test.rb +69 -0
  161. data/test/Implicit_Conversion/server.ior +1 -0
  162. data/test/Implicit_Conversion/server.rb +99 -0
  163. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  164. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  165. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  166. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  167. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  168. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  169. data/test/Multi_Threading/Simple/Test.idl +27 -0
  170. data/test/Multi_Threading/Simple/client.rb +88 -0
  171. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  172. data/test/Multi_Threading/Simple/server.ior +1 -0
  173. data/test/Multi_Threading/Simple/server.rb +118 -0
  174. data/test/Multi_Threading/Threads/Test.idl +31 -0
  175. data/test/Multi_Threading/Threads/client.rb +80 -0
  176. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  177. data/test/Multi_Threading/Threads/server.ior +1 -0
  178. data/test/Multi_Threading/Threads/server.rb +119 -0
  179. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  180. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  181. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  182. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  183. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  184. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  185. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  186. data/test/Nil/Test.idl +27 -0
  187. data/test/Nil/run_test.rb +52 -0
  188. data/test/Nil/test.rb +78 -0
  189. data/test/OBV/AbstractInterface/client.rb +179 -0
  190. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  191. data/test/OBV/AbstractInterface/server.ior +1 -0
  192. data/test/OBV/AbstractInterface/server.rb +149 -0
  193. data/test/OBV/AbstractInterface/test.idl +53 -0
  194. data/test/OBV/Custom/OBV.idl +18 -0
  195. data/test/OBV/Custom/OBV_impl.rb +40 -0
  196. data/test/OBV/Custom/client.rb +86 -0
  197. data/test/OBV/Custom/run_test.rb +69 -0
  198. data/test/OBV/Custom/server.ior +1 -0
  199. data/test/OBV/Custom/server.rb +100 -0
  200. data/test/OBV/Simple/OBV.idl +15 -0
  201. data/test/OBV/Simple/OBV_impl.rb +26 -0
  202. data/test/OBV/Simple/client.rb +86 -0
  203. data/test/OBV/Simple/run_test.rb +69 -0
  204. data/test/OBV/Simple/server.ior +1 -0
  205. data/test/OBV/Simple/server.rb +100 -0
  206. data/test/OBV/Simple_Event/Event.idl +15 -0
  207. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  208. data/test/OBV/Simple_Event/client.rb +86 -0
  209. data/test/OBV/Simple_Event/run_test.rb +69 -0
  210. data/test/OBV/Simple_Event/server.ior +1 -0
  211. data/test/OBV/Simple_Event/server.rb +100 -0
  212. data/test/OBV/Supports/client.rb +116 -0
  213. data/test/OBV/Supports/run_test.rb +69 -0
  214. data/test/OBV/Supports/server.ior +1 -0
  215. data/test/OBV/Supports/server.rb +103 -0
  216. data/test/OBV/Supports/supports.idl +33 -0
  217. data/test/OBV/Supports/supports_impl.rb +57 -0
  218. data/test/OBV/Tree/client.rb +116 -0
  219. data/test/OBV/Tree/run_test.rb +69 -0
  220. data/test/OBV/Tree/server.ior +1 -0
  221. data/test/OBV/Tree/server.rb +117 -0
  222. data/test/OBV/Tree/test.idl +32 -0
  223. data/test/OBV/Truncatable/Extra.idl +27 -0
  224. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  225. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  226. data/test/OBV/Truncatable/client.rb +279 -0
  227. data/test/OBV/Truncatable/run_test.rb +69 -0
  228. data/test/OBV/Truncatable/server.ior +1 -0
  229. data/test/OBV/Truncatable/server.rb +89 -0
  230. data/test/OBV/ValueBox/client.rb +497 -0
  231. data/test/OBV/ValueBox/run_test.rb +69 -0
  232. data/test/OBV/ValueBox/server.ior +1 -0
  233. data/test/OBV/ValueBox/server.rb +271 -0
  234. data/test/OBV/ValueBox/valuebox.idl +101 -0
  235. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  236. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  237. data/test/OBV/ValueBox/vb_union.idl +21 -0
  238. data/test/Object/Test.idl +27 -0
  239. data/test/Object/client.rb +103 -0
  240. data/test/Object/run_test.rb +69 -0
  241. data/test/Object/server.ior +1 -0
  242. data/test/Object/server.rb +126 -0
  243. data/test/POA/Test.idl +27 -0
  244. data/test/POA/run_test.rb +52 -0
  245. data/test/POA/test.rb +112 -0
  246. data/test/Param_Test/Test.idl +182 -0
  247. data/test/Param_Test/client.rb +277 -0
  248. data/test/Param_Test/run_test.rb +69 -0
  249. data/test/Param_Test/server.ior +1 -0
  250. data/test/Param_Test/server.rb +296 -0
  251. data/test/Performance/Simple/Test.idl +27 -0
  252. data/test/Performance/Simple/client.rb +90 -0
  253. data/test/Performance/Simple/run_test.rb +69 -0
  254. data/test/Performance/Simple/server.ior +1 -0
  255. data/test/Performance/Simple/server.rb +95 -0
  256. data/test/Policies/Test.idl +27 -0
  257. data/test/Policies/run_test.rb +52 -0
  258. data/test/Policies/test.rb +144 -0
  259. data/test/Timeout/client.rb +207 -0
  260. data/test/Timeout/run_test.rb +69 -0
  261. data/test/Timeout/server.ior +1 -0
  262. data/test/Timeout/server.rb +109 -0
  263. data/test/Timeout/test.idl +19 -0
  264. data/test/lib/assert.rb +43 -0
  265. data/test/lib/test.rb +542 -0
  266. data/test/test_runner.rb +193 -0
  267. metadata +342 -0
data/rakelib/gem.rake ADDED
@@ -0,0 +1,212 @@
1
+ #--------------------------------------------------------------------
2
+ # gem.rake - build file
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require File.join(File.dirname(__FILE__), 'gem.rb')
15
+
16
+ namespace :r2corba do
17
+ namespace :gem do
18
+ task :srcgem => ['r2corba:bin:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION)}.gem")]
19
+
20
+ task :bingem => ['r2corba:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :bin)}.gem")]
21
+
22
+ task :extbingem => ['r2corba:build', File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :extbin)}.gem")]
23
+
24
+ task :srcbuild => 'r2corba:build' do
25
+ ext_dir = File.expand_path('ext')
26
+ unless defined?(JRUBY_VERSION) || get_config('without-tao')
27
+ # install ACE+TAO dlls
28
+ R2CORBA::Ext.ace_shlibs.each do |acelib|
29
+ libmask = R2CORBA::Config.is_linux ? acelib+'.*' : acelib
30
+ path = Dir.glob(libmask).first
31
+ raise "Cannot find ACE+TAO library #{File.basename(acelib)}." unless path
32
+ FileUtils.install(path, ext_dir, :mode => 0555, :verbose => Rake.verbose)
33
+ # create unversioned symlink
34
+ ln_s(File.join(ext_dir, File.basename(path)), File.join(ext_dir, File.basename(acelib)), :force => true) if R2CORBA::Config.is_linux
35
+ end
36
+ # clean up (uninstall) taosource gem
37
+ require 'rubygems/uninstaller'
38
+ Gem::Uninstaller.new('taosource', :all => true).uninstall
39
+ end
40
+ end
41
+
42
+ task :binbuild => ['r2corba:bin:build', 'r2corba:build_idl'] do
43
+ if R2CORBA::Config.is_linux
44
+ # create unversioned ACE/TAO lib symlinks
45
+ R2CORBA::Ext.ace_shlibs('.so', 'ext').each do |acelib|
46
+ acelib_ver = File.expand_path(Dir[acelib+'.*'].first)
47
+ ln_s(acelib_ver, acelib)
48
+ end
49
+ end
50
+ unless defined?(JRUBY_VERSION) || R2CORBA::Config.is_win32
51
+ # patch RPATH setting of shared libs
52
+ R2CORBA::Gem.patch_extlib_rpath
53
+ end
54
+ end
55
+
56
+ unless defined?(JRUBY_VERSION)
57
+ task :taogem do
58
+ # get version of latest ACE release from internet
59
+ _ace_ver = R2CORBA::Ext.get_latest_ace_version
60
+ # make sure download target dir exists
61
+ Rake.mkdir_p('src')
62
+ # download latest TAO source archive from internet
63
+ R2CORBA::Ext.download_tao_source(_ace_ver, 'src')
64
+ # build gem
65
+ gemspec = R2CORBA::Gem.define_spec('taosource', _ace_ver) do |gem|
66
+ gem.summary = %Q{TAO sourcecode for building R2CORBA}
67
+ gem.description = %Q{TAO sourcecode for building R2CORBA.}
68
+ gem.email = 'mcorino@remedy.nl'
69
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
70
+ gem.authors = ['Martin Corino']
71
+ gem.files = Dir['lib/taosource/**/*']
72
+ gem.files.concat(Dir["src/ACE+TAO-src-#{_ace_ver}.tar.gz"])
73
+ gem.files << 'mkrf_conf_taogem.rb'
74
+ gem.extensions = ['mkrf_conf_taogem.rb']
75
+ gem.require_paths = %w{lib}
76
+ gem.executables = []
77
+ gem.required_ruby_version = '>= 1.8.6'
78
+ gem.licenses = ['ACE']
79
+ end
80
+ R2CORBA::Gem.build_gem(gemspec)
81
+ end
82
+ end
83
+ end
84
+ end
85
+
86
+ # source gem file
87
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION)}.gem") => R2CORBA::Gem.manifest do
88
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION) do |gem|
89
+ gem.summary = %Q{CORBA language mapping implementation for Ruby}
90
+ gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. }
91
+ gem.email = 'mcorino@remedy.nl'
92
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
93
+ gem.authors = ['Martin Corino']
94
+ gem.files = R2CORBA::Gem.manifest
95
+ gem.extensions = ['mkrf_conf_srcgem.rb']
96
+ gem.require_paths = %w{lib}
97
+ gem.executables = %w{ridlc rins r2corba}
98
+ gem.required_ruby_version = '>= 1.8.6'
99
+ gem.licenses = ['R2CORBA', 'ACE', 'GPL']
100
+ gem.require_paths << 'ext'
101
+ gem.add_dependency 'ridl', '>= 2.2.2'
102
+ gem.add_dependency 'rake', '>= 10.0.1'
103
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
104
+ end
105
+ R2CORBA::Gem.build_gem(gemspec)
106
+ end
107
+ t_.enhance ['mkrf_conf_srcgem.rb']
108
+
109
+ # Extension binaries gem file
110
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :extbin)}.gem") => R2CORBA::Gem.manifest(:extbin, true) do
111
+ unless defined?(JRUBY_VERSION)
112
+ # prepare required shared libs for ext libs
113
+ if R2CORBA::Config.is_win32
114
+ ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
115
+ elsif R2CORBA::Config.is_linux
116
+ ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
117
+ else
118
+ ext_deplibs = R2CORBA::Ext.ace_shlibs
119
+ end
120
+ ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
121
+ end
122
+ begin
123
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :extbin) do |gem|
124
+ gem.summary = %Q{CORBA language mapping implementation for Ruby (extension binaries)}
125
+ gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. (extension binaries)}
126
+ gem.email = 'mcorino@remedy.nl'
127
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
128
+ gem.authors = ['Martin Corino']
129
+ gem.files = R2CORBA::Gem.manifest(:extbin)
130
+ gem.extensions = []
131
+ gem.require_paths = %w{ext}
132
+ gem.executables = []
133
+ if R2CORBA::Config.rb_ver_major < 2
134
+ if R2CORBA::Config.rb_ver_minor > 8
135
+ gem.required_ruby_version = '>= 1.9.1'
136
+ else
137
+ gem.required_ruby_version = '>= 1.8.6'
138
+ end
139
+ else
140
+ gem.required_ruby_version = '>= 2.0.0'
141
+ end
142
+ gem.licenses = ['R2CORBA', 'ACE']
143
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
144
+ end
145
+ R2CORBA::Gem.build_gem(gemspec)
146
+ ensure
147
+ ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
148
+ end
149
+ end
150
+
151
+ # binary gem file
152
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :bin)}.gem") => R2CORBA::Gem.manifest(:bin, true) do
153
+ unless defined?(JRUBY_VERSION)
154
+ if ENV['FULL_BINGEM']
155
+ # prepare required shared libs for ext libs
156
+ if R2CORBA::Config.is_win32
157
+ ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
158
+ elsif R2CORBA::Config.is_linux
159
+ ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
160
+ else
161
+ ext_deplibs = R2CORBA::Ext.ace_shlibs
162
+ end
163
+ ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
164
+ else
165
+ touch(File.join('ext', '.keep'))
166
+ end
167
+ end
168
+ begin
169
+ # create gemspec
170
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :bin) do |gem|
171
+ gem.summary = %Q{CORBA language mapping implementation for Ruby}
172
+ gem.description = %Q{OMG CORBA v. 3.3 compliant CORBA language mapping implementation for Ruby. Depends on ridl gem for providing native Ruby IDL compiler. }
173
+ gem.email = 'mcorino@remedy.nl'
174
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
175
+ gem.authors = ['Martin Corino']
176
+ gem.files = R2CORBA::Gem.manifest(:bin)
177
+ gem.require_paths = %w{lib}
178
+ gem.executables = %w{ridlc rins r2corba}
179
+ gem.extensions = ['mkrf_conf_bingem.rb']
180
+ if defined?(JRUBY_VERSION)
181
+ gem.require_paths << 'jacorb/lib'
182
+ gem.required_ruby_version = '>= 1.5.0'
183
+ gem.licenses = ['R2CORBA', 'JacORB']
184
+ else
185
+ gem.files << File.join('ext', '.keep') unless ENV['FULL_BINGEM'] # to force installation of ext folder if libs are left out
186
+ gem.required_ruby_version = '>= 1.8.6'
187
+ gem.licenses = ['R2CORBA', 'ACE', 'GPL']
188
+ gem.require_paths << 'ext'
189
+ end
190
+ gem.add_dependency 'ridl', '>= 2.2.2'
191
+ gem.add_dependency 'rake', '>= 10.0.1'
192
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so'
193
+ end
194
+ R2CORBA::Gem.build_gem(gemspec)
195
+ ensure
196
+ if ENV['FULL_BINGEM']
197
+ ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
198
+ else
199
+ rm_f(File.join('ext', '.keep')) unless defined?(JRUBY_VERSION)
200
+ end
201
+ end
202
+ end
203
+ t_.enhance ['mkrf_conf_bingem.rb']
204
+
205
+ desc 'Build R2CORBA gem'
206
+ if defined?(JRUBY_VERSION)
207
+ task :gem => 'r2corba:gem:bingem'
208
+ elsif R2CORBA::Config.is_win32
209
+ task :gem => 'r2corba:gem:bingem'
210
+ else
211
+ task :gem => 'r2corba:gem:srcgem'
212
+ end
data/rakelib/gem.rb ADDED
@@ -0,0 +1,146 @@
1
+ #--------------------------------------------------------------------
2
+ # gem.rb - build file
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require 'rubygems'
15
+ begin
16
+ require 'rubygems/builder'
17
+ rescue LoadError
18
+ require 'rubygems/package'
19
+ end
20
+
21
+ require File.join(File.dirname(__FILE__), 'config.rb')
22
+ unless defined?(JRUBY_VERSION)
23
+ require File.join(File.dirname(__FILE__), 'ext.rb')
24
+ end
25
+
26
+ module R2CORBA
27
+
28
+ module Gem
29
+
30
+ unless defined?(JRUBY_VERSION)
31
+
32
+ @@ace_dlls = nil
33
+
34
+ def self.ace_dlls
35
+ unless @@ace_dlls
36
+ @@ace_dlls = []
37
+ # collect required dll paths
38
+ if R2CORBA::Config.is_win32
39
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs(R2CORBA::Ext.so_ext, 'ext'))
40
+ @@ace_dlls.concat(R2CORBA::Ext.sys_dlls.collect {|sysdll| File.join('ext', File.basename(sysdll))})
41
+ elsif R2CORBA::Config.is_linux
42
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| File.join('ext', File.basename(Dir.glob(acelib).first)) })
43
+ else
44
+ @@ace_dlls.concat(R2CORBA::Ext.ace_shlibs(R2CORBA::Ext.so_ext, 'ext'))
45
+ end
46
+ end
47
+ @@ace_dlls
48
+ end
49
+ end
50
+
51
+ def self.manifest(gemtype = :src, exclude_ace_dll = false)
52
+ # create MANIFEST list with included files
53
+ manifest = []
54
+ if gemtype == :bin
55
+ manifest.concat %w{bin/ridlc bin/rins bin/r2corba}
56
+ manifest.concat %w{bin/ridlc.bat bin/rins.bat bin/r2corba.bat} if R2CORBA::Config.is_win32 || defined?(JRUBY_VERSION)
57
+ if defined?(JRUBY_VERSION)
58
+ manifest.concat(Dir['jacorb/lib/*.jar'].select do |fnm|
59
+ !%w{idl jacorb-sources picocontainer wrapper}.any? {|nm| /^#{nm}/ =~ File.basename(fnm) }
60
+ end)
61
+ elsif ENV['FULL_BINGEM']
62
+ manifest.concat(R2CORBA::Gem.ace_dlls) unless exclude_ace_dll
63
+ manifest.concat(Dir['ext/*.so'])
64
+ end
65
+ manifest.concat Dir['lib/corba/**/*']
66
+ manifest.concat Dir['lib/ridlbe/**/*']
67
+ manifest << 'lib/corba.rb'
68
+ manifest.concat Dir['test/**/*']
69
+ manifest.concat %w{LICENSE README THANKS CHANGES mkrf_conf_bingem.rb}
70
+ manifest << 'LICENSE.jacorb' if defined?(JRUBY_VERSION)
71
+ elsif gemtype == :extbin
72
+ unless defined?(JRUBY_VERSION)
73
+ manifest.concat(R2CORBA::Gem.ace_dlls) unless exclude_ace_dll
74
+ manifest.concat(Dir['ext/*.so'])
75
+ end
76
+ else
77
+ manifest.concat %w{bin/ridlc bin/rins bin/r2corba}
78
+ manifest.concat Dir['ext/**/*.{rb,c,cpp,h,mwc}']
79
+ manifest.concat Dir['lib/corba/**/*[^CS].*'].select {|path| File.basename(path) != 'r2c_orb.rb'}
80
+ manifest.concat Dir['lib/ridlbe/**/*.[^p]*']
81
+ manifest << 'lib/corba.rb'
82
+ manifest.concat Dir['test/**/*']
83
+ manifest.concat %w{LICENSE README THANKS CHANGES mkrf_conf_srcgem.rb}
84
+ end
85
+ unless gemtype == :extbin
86
+ if defined?(JRUBY_VERSION)
87
+ manifest.concat(Dir['rakelib/**/*'].select {|fnm| /install|help|ext/ =~ fnm ? false : true })
88
+ else
89
+ manifest.concat(Dir['rakelib/**/*'].select {|fnm| /install|help/ =~ fnm ? false : true })
90
+ end
91
+ end
92
+ manifest
93
+ end
94
+
95
+ def self.define_spec(name, version, gemtype = :src, &block)
96
+ name += '_ext' if gemtype == :extbin && !defined?(JRUBY_VERSION)
97
+ name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
98
+ gemspec = ::Gem::Specification.new(name,version.dup)
99
+ if gemtype == :bin || gemtype == :extbin
100
+ gemspec.platform = ::Gem::Platform::CURRENT
101
+ end
102
+ gemspec.required_rubygems_version = ::Gem::Requirement.new(">= 0") if gemspec.respond_to? :required_rubygems_version=
103
+ block.call(gemspec) if block_given?
104
+ gemspec
105
+ end
106
+
107
+ def self.gem_name(name, version, gemtype = :src)
108
+ name += '_ext' if gemtype == :extbin && !defined?(JRUBY_VERSION)
109
+ name = "#{name}#{R2CORBA::Config.rb_ver_major}#{R2CORBA::Config.rb_ver_minor}" if (gemtype == :extbin || (gemtype == :bin && ENV['FULL_BINGEM'])) && !defined?(JRUBY_VERSION)
110
+ gemspec = ::Gem::Specification.new(name,version.dup)
111
+ if gemtype == :bin || gemtype == :extbin
112
+ gemspec.platform = ::Gem::Platform::CURRENT
113
+ end
114
+ gemspec.full_name
115
+ end
116
+
117
+ def self.build_gem(gemspec)
118
+ if defined?(::Gem::Builder)
119
+ gem_file_name = ::Gem::Builder.new(gemspec).build
120
+ else
121
+ gem_file_name = ::Gem::Package.build(gemspec)
122
+ end
123
+
124
+ FileUtils.mkdir_p('pkg')
125
+
126
+ FileUtils.mv(gem_file_name, 'pkg')
127
+ end
128
+
129
+ unless defined?(JRUBY_VERSION) || R2CORBA::Config.is_win32
130
+ def self.patch_extlib_rpath
131
+ if R2CORBA::Config.is_osx
132
+ # TODO
133
+ else
134
+ rpath = "#{File.expand_path('ext')}:#{get_config('libdir')}"
135
+ Dir['ext/*.so'].each do |extlib|
136
+ unless Rake.sh("#{R2CORBA::Config.rpath_patch} '#{rpath}' #{extlib}")
137
+ raise 'Failed to patch RPATH for #{extlib}'
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+
144
+ end
145
+
146
+ end
@@ -0,0 +1,26 @@
1
+ #--------------------------------------------------------------------
2
+ # package.rake - build file
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require 'rake/packagetask'
15
+
16
+ require File.join(File.dirname(__FILE__), 'config.rb')
17
+
18
+ Rake::PackageTask.new("r2corba", R2CORBA::R2CORBA_VERSION) do |p|
19
+ p.need_tar_gz = true
20
+ p.need_zip = true
21
+ p.package_files.include(%w{ext/**/*.{mwc,cpp,c,h}})
22
+ p.package_files.include(%w{example/**/* lib/**/*[^C].* test/**/* rpmbuild/**/* rakelib/**/*})
23
+ p.package_files.exclude(/GNUmakefile/)
24
+ p.package_files.include(%w{CHANGES INSTALL* LICENSE* Gemfile Rakefile README* THANKS mkrf_conf*.rb})
25
+ p.package_files.include(%w{ridl/lib/**/*}) if ENV['R2CORBA_PKG_RIDL']
26
+ end
data/rakelib/test.rake ADDED
@@ -0,0 +1,23 @@
1
+ #--------------------------------------------------------------------
2
+ # test.rake - build file
3
+ #
4
+ # Author: Martin Corino
5
+ #
6
+ # This program is free software; you can redistribute it and/or
7
+ # modify it under the terms of the R2CORBA LICENSE which is
8
+ # included with this program.
9
+ #
10
+ # Copyright (c) Remedy IT Expertise BV
11
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
+ #--------------------------------------------------------------------
13
+
14
+ require File.join(File.dirname(__FILE__), 'config.rb')
15
+
16
+ namespace :r2corba do
17
+ task :test => [R2CORBA::BUILD_CFG, 'r2corba:build'] do
18
+ ruby(File.join('test', 'test_runner.rb'))
19
+ end
20
+ end
21
+
22
+ desc 'Run R2CORBA tests'
23
+ task :test => 'r2corba:test'
@@ -0,0 +1,34 @@
1
+ /*--------------------------------------------------------------------
2
+ * Author: Martin Corino
3
+ *
4
+ * This program is free software; you can redistribute it and/or
5
+ * modify it under the terms of the R2CORBA LICENSE which is
6
+ * included with this program.
7
+ *
8
+ * Copyright (c) Remedy IT Expertise BV
9
+ * Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ *--------------------------------------------------------------------*/
11
+
12
+ interface Callback
13
+ {
14
+ oneway void shutdown ();
15
+ // A safe way to shutdown the client, using either clean shutdowns
16
+ // or "catastrophic failures".
17
+
18
+ void callback_method ();
19
+ // A simple remote call
20
+
21
+ };
22
+
23
+ interface Simple_Server
24
+ {
25
+ long test_method (in boolean do_callback);
26
+ // Just call a method on the server,
27
+
28
+ void callback_object (in Callback cb);
29
+ // send the callback object to the server
30
+
31
+ oneway void shutdown ();
32
+ // A safe way to shutdown the server, it is a oneway function so we
33
+ // will never get a COMM_FAILURE error
34
+ };
@@ -0,0 +1,132 @@
1
+ #--------------------------------------------------------------------
2
+ # Author: Martin Corino
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the R2CORBA LICENSE which is
6
+ # included with this program.
7
+ #
8
+ # Copyright (c) Remedy IT Expertise BV
9
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ #--------------------------------------------------------------------
11
+ require 'optparse'
12
+ require 'lib/assert.rb'
13
+ include TestUtil::Assertions
14
+
15
+ OPTIONS = {
16
+ :use_implement => false,
17
+ :orb_debuglevel => 0,
18
+ :iorfile => 'file://server.ior'
19
+ }
20
+
21
+ ARGV.options do |opts|
22
+ script_name = File.basename($0)
23
+ opts.banner = "Usage: ruby #{script_name} [options]"
24
+
25
+ opts.separator ""
26
+
27
+ opts.on("--k IORFILE",
28
+ "Set IOR.",
29
+ "Default: 'file://server.ior'") { |v| OPTIONS[:iorfile]=v }
30
+ opts.on("--d LVL",
31
+ "Set ORBDebugLevel value.",
32
+ "Default: 0", Integer) { |v| OPTIONS[:orb_debuglevel]=v }
33
+ opts.on("--use-implement",
34
+ "Load IDL through CORBA.implement() instead of precompiled code.",
35
+ "Default: off") { |v| OPTIONS[:use_implement]=v }
36
+
37
+ opts.separator ""
38
+
39
+ opts.on("-h", "--help",
40
+ "Show this help message.") { puts opts; exit }
41
+
42
+ opts.parse!
43
+ end
44
+
45
+ if OPTIONS[:use_implement]
46
+ require 'corba/poa.rb'
47
+ CORBA.implement('Test.idl', OPTIONS, CORBA::IDL::SERVANT_INTF)
48
+ else
49
+ require 'TestS.rb'
50
+ end
51
+ require 'corba/policies.rb'
52
+
53
+ class MyCallback < POA::Callback
54
+ def initialize(orb)
55
+ @orb = orb
56
+ end
57
+
58
+ def shutdown() # oneway
59
+ @orb.shutdown(false)
60
+ end
61
+
62
+ def callback_method()
63
+ if OPTIONS[:orb_debuglevel] > 0
64
+ puts 'Callback method called.'
65
+ end
66
+ end
67
+
68
+ end #of servant Callback
69
+
70
+ if defined?(JRUBY_VERSION)
71
+ ## JacORB needs explicit activation of this option
72
+ props = {
73
+ "org.omg.PortableInterceptor.ORBInitializerClass.bidir_init" =>
74
+ "org.jacorb.orb.giop.BiDirConnectionInitializer"
75
+ }
76
+ else
77
+ props = {}
78
+ end
79
+
80
+ orb = CORBA.ORB_init(["-ORBDebugLevel", OPTIONS[:orb_debuglevel]], 'myORB', props)
81
+
82
+ begin
83
+
84
+ obj = orb.resolve_initial_references('RootPOA')
85
+
86
+ root_poa = PortableServer::POA._narrow(obj)
87
+
88
+ poa_man = root_poa.the_POAManager
89
+
90
+ policies = []
91
+ policies << orb.create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE,
92
+ CORBA::Any.to_any(BiDirPolicy::BOTH, BiDirPolicy::BidirectionalPolicyValue._tc))
93
+
94
+ puts 'policies created'
95
+
96
+ child_poa = root_poa.create_POA('childPOA', poa_man, policies)
97
+
98
+ puts 'child_poa created'
99
+
100
+ policies.each { |pol| pol.destroy() }
101
+
102
+ puts 'policies destroyed'
103
+
104
+ poa_man.activate
105
+
106
+ obj = orb.string_to_object(OPTIONS[:iorfile])
107
+
108
+ assert_not 'Object reference is nil.', CORBA::is_nil(obj)
109
+
110
+ simple_srv = Simple_Server._narrow(obj)
111
+
112
+ callback_i = MyCallback.new(orb)
113
+
114
+ callback_ref = callback_i._this()
115
+
116
+ # Send the calback object to the server
117
+ simple_srv.callback_object(callback_ref)
118
+
119
+ # A method to kickstart callbacks from the server
120
+ r = simple_srv.test_method(true)
121
+
122
+ assert "unexpected result = #{r}", r == 0
123
+
124
+ orb.run()
125
+
126
+ root_poa.destroy(1, 1)
127
+
128
+ ensure
129
+
130
+ orb.destroy()
131
+
132
+ end
@@ -0,0 +1,68 @@
1
+ #--------------------------------------------------------------------
2
+ # Author: Martin Corino
3
+ #
4
+ # This program is free software; you can redistribute it and/or
5
+ # modify it under the terms of the R2CORBA LICENSE which is
6
+ # included with this program.
7
+ #
8
+ # Copyright (c) Remedy IT Expertise BV
9
+ # Chamber of commerce Rotterdam nr.276339, The Netherlands
10
+ #--------------------------------------------------------------------
11
+
12
+ OPTIONS = {
13
+ :debug_opt => '',
14
+ :use_implement => '--use-implement'
15
+ }
16
+
17
+ require 'optparse'
18
+
19
+ ARGV.options do |opts|
20
+ script_name = File.basename($0)
21
+ opts.banner = "Usage: ruby #{script_name} [options]"
22
+
23
+ opts.separator ""
24
+
25
+ opts.on("-d",
26
+ "Run with debugging output.",
27
+ "Default: false") { OPTIONS[:debug_opt] = '--d 10' }
28
+ opts.on("--use-stubs",
29
+ "Use stubs generated by RIDL.",
30
+ "Default: false (uses embedded IDL)") { OPTIONS[:use_implement] = '' }
31
+
32
+ opts.separator ""
33
+
34
+ opts.on("-h", "--help",
35
+ "Show this help message.") { puts opts; exit }
36
+
37
+ opts.parse!
38
+ end
39
+
40
+ require 'lib/test.rb'
41
+ include TestUtil
42
+
43
+ ior_file = 'server.ior'
44
+
45
+ TestUtil.remove_file(ior_file)
46
+
47
+ srv = Test.new
48
+
49
+ exit(255) if !srv.run('server.rb', "--o #{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
50
+
51
+ TestUtil.wait_for_file(ior_file, 400)
52
+
53
+ clt = Test.new
54
+
55
+ if !clt.run('client.rb', "--k file://#{ior_file} #{OPTIONS[:debug_opt]} #{OPTIONS[:use_implement]}")
56
+ srv.kill(100)
57
+ exit(255)
58
+ end
59
+
60
+ exrc = clt.wait(400)
61
+
62
+ if exrc ==0
63
+ srv.wait(400)
64
+ else
65
+ srv.wait_term(400)
66
+ end
67
+
68
+ exit(exrc)
@@ -0,0 +1 @@
1
+ IOR:010000001600000049444c3a53696d706c655f5365727665723a312e30000000010000000000000074000000010102000d0000003137322e31362e372e32343800004a052300000014010f004e53543dfe04523fab010001000000010000000000000001000000010000000002000000000000000800000001032300004f41540100000018000000010000000100010001000000010001050901010000000000