r2corba 1.5.1-universal-java

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 (271) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +173 -0
  3. data/LICENSE +59 -0
  4. data/LICENSE.jacorb +660 -0
  5. data/README +62 -0
  6. data/THANKS +54 -0
  7. data/bin/r2corba +8 -0
  8. data/bin/r2corba.bat +20 -0
  9. data/bin/ridlc +11 -0
  10. data/bin/ridlc.bat +23 -0
  11. data/bin/rins +7 -0
  12. data/bin/rins.bat +19 -0
  13. data/jacorb/lib/antlr-2.7.2.jar +0 -0
  14. data/jacorb/lib/jacorb-3.5.jar +0 -0
  15. data/jacorb/lib/jacorb-omgapi-3.5.jar +0 -0
  16. data/jacorb/lib/jacorb-services-3.5.jar +0 -0
  17. data/jacorb/lib/slf4j-api-1.7.6.jar +0 -0
  18. data/jacorb/lib/slf4j-jdk14-1.7.6.jar +0 -0
  19. data/lib/corba.rb +16 -0
  20. data/lib/corba/cbase/IORMap.rb +33 -0
  21. data/lib/corba/cbase/ORB.rb +237 -0
  22. data/lib/corba/cbase/Request.rb +134 -0
  23. data/lib/corba/cbase/Streams.rb +129 -0
  24. data/lib/corba/cbase/Stub.rb +19 -0
  25. data/lib/corba/cbase/Typecode.rb +441 -0
  26. data/lib/corba/cbase/Values.rb +129 -0
  27. data/lib/corba/cbase/exception.rb +66 -0
  28. data/lib/corba/cbase/poa.rb +23 -0
  29. data/lib/corba/cbase/policies.rb +78 -0
  30. data/lib/corba/cbase/post_require.rb +14 -0
  31. data/lib/corba/cbase/require.rb +28 -0
  32. data/lib/corba/cmds/base.rb +85 -0
  33. data/lib/corba/cmds/test.rb +30 -0
  34. data/lib/corba/common/Any.rb +91 -0
  35. data/lib/corba/common/IDL.rb +104 -0
  36. data/lib/corba/common/ORB.rb +368 -0
  37. data/lib/corba/common/Object.rb +208 -0
  38. data/lib/corba/common/Request.rb +20 -0
  39. data/lib/corba/common/Servant.rb +108 -0
  40. data/lib/corba/common/Struct.rb +22 -0
  41. data/lib/corba/common/Stub.rb +79 -0
  42. data/lib/corba/common/Typecode.rb +1121 -0
  43. data/lib/corba/common/Union.rb +56 -0
  44. data/lib/corba/common/Values.rb +92 -0
  45. data/lib/corba/common/const.rb +22 -0
  46. data/lib/corba/common/exception.rb +68 -0
  47. data/lib/corba/common/require.rb +27 -0
  48. data/lib/corba/common/version.rb +22 -0
  49. data/lib/corba/idl/BiDirPolicyC.rb +63 -0
  50. data/lib/corba/idl/CosNamingC.rb +461 -0
  51. data/lib/corba/idl/CosNamingS.rb +309 -0
  52. data/lib/corba/idl/IDL.rb +21 -0
  53. data/lib/corba/idl/IORTable.pidl +62 -0
  54. data/lib/corba/idl/MessagingC.rb +904 -0
  55. data/lib/corba/idl/POAC.rb +930 -0
  56. data/lib/corba/idl/TAO_Ext.pidl +46 -0
  57. data/lib/corba/idl/r2c_orb.rb +572 -0
  58. data/lib/corba/idl/require.rb +20 -0
  59. data/lib/corba/jbase/Any.rb +273 -0
  60. data/lib/corba/jbase/IORMap.rb +36 -0
  61. data/lib/corba/jbase/ORB.rb +112 -0
  62. data/lib/corba/jbase/Object.rb +99 -0
  63. data/lib/corba/jbase/Request.rb +226 -0
  64. data/lib/corba/jbase/Servant.rb +248 -0
  65. data/lib/corba/jbase/ServerRequest.rb +128 -0
  66. data/lib/corba/jbase/Streams.rb +671 -0
  67. data/lib/corba/jbase/Stub.rb +38 -0
  68. data/lib/corba/jbase/Typecode.rb +520 -0
  69. data/lib/corba/jbase/Values.rb +173 -0
  70. data/lib/corba/jbase/exception.rb +106 -0
  71. data/lib/corba/jbase/poa.rb +229 -0
  72. data/lib/corba/jbase/policies.rb +300 -0
  73. data/lib/corba/jbase/post_require.rb +14 -0
  74. data/lib/corba/jbase/require.rb +89 -0
  75. data/lib/corba/naming.rb +14 -0
  76. data/lib/corba/naming_service.rb +15 -0
  77. data/lib/corba/poa.rb +15 -0
  78. data/lib/corba/policies.rb +18 -0
  79. data/lib/corba/require.rb +17 -0
  80. data/lib/corba/svcs/ins/cos_naming.rb +426 -0
  81. data/lib/corba/svcs/ins/ins.rb +526 -0
  82. data/lib/corba/svcs/ins/naming_service.rb +119 -0
  83. data/lib/ridlbe/ruby/config.rb +336 -0
  84. data/lib/ridlbe/ruby/orb.pidlc +0 -0
  85. data/lib/ridlbe/ruby/require.rb +16 -0
  86. data/lib/ridlbe/ruby/walker.rb +1582 -0
  87. data/mkrf_conf_bingem.rb +151 -0
  88. data/rakelib/bin.rake +80 -0
  89. data/rakelib/bin.rb +146 -0
  90. data/rakelib/build.rake +87 -0
  91. data/rakelib/config.rake +52 -0
  92. data/rakelib/config.rb +544 -0
  93. data/rakelib/gem.rake +236 -0
  94. data/rakelib/gem.rb +146 -0
  95. data/rakelib/package.rake +26 -0
  96. data/rakelib/test.rake +23 -0
  97. data/test/BiDirectional/Test.idl +34 -0
  98. data/test/BiDirectional/client.rb +132 -0
  99. data/test/BiDirectional/run_test.rb +68 -0
  100. data/test/BiDirectional/server.ior +1 -0
  101. data/test/BiDirectional/server.rb +169 -0
  102. data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
  103. data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
  104. data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
  105. data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
  106. data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
  107. data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
  108. data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
  109. data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
  110. data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
  111. data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
  112. data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
  113. data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
  114. data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
  115. data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
  116. data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
  117. data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
  118. data/test/Collocation/Diamond.idl +39 -0
  119. data/test/Collocation/run_test.rb +52 -0
  120. data/test/Collocation/test.rb +195 -0
  121. data/test/Connect_Timeout/Test.idl +27 -0
  122. data/test/Connect_Timeout/client.rb +111 -0
  123. data/test/Connect_Timeout/run_test.rb +52 -0
  124. data/test/DII/Test.idl +27 -0
  125. data/test/DII/client.rb +115 -0
  126. data/test/DII/run_test.rb +69 -0
  127. data/test/DII/server.ior +1 -0
  128. data/test/DII/server.rb +95 -0
  129. data/test/DSI/Test.idl +27 -0
  130. data/test/DSI/client.rb +66 -0
  131. data/test/DSI/run_test.rb +69 -0
  132. data/test/DSI/server.ior +1 -0
  133. data/test/DSI/server.rb +106 -0
  134. data/test/Exceptions/Test.idl +48 -0
  135. data/test/Exceptions/client.rb +118 -0
  136. data/test/Exceptions/run_test.rb +69 -0
  137. data/test/Exceptions/server.ior +1 -0
  138. data/test/Exceptions/server.rb +131 -0
  139. data/test/Hello/Test.idl +27 -0
  140. data/test/Hello/client.rb +78 -0
  141. data/test/Hello/gateway.ior +1 -0
  142. data/test/Hello/run_test.rb +71 -0
  143. data/test/Hello/server.rb +95 -0
  144. data/test/IDL_Test/Test.idl +113 -0
  145. data/test/IDL_Test/Test_inc.idl +17 -0
  146. data/test/IDL_Test/client.rb +102 -0
  147. data/test/IDL_Test/run_test.rb +69 -0
  148. data/test/IDL_Test/server.ior +1 -0
  149. data/test/IDL_Test/server.rb +99 -0
  150. data/test/IORMap/Test.idl +27 -0
  151. data/test/IORMap/client.rb +73 -0
  152. data/test/IORMap/run_test.rb +69 -0
  153. data/test/IORMap/server.ior +1 -0
  154. data/test/IORMap/server.rb +114 -0
  155. data/test/IORTable/Test.idl +27 -0
  156. data/test/IORTable/client.rb +75 -0
  157. data/test/IORTable/run_test.rb +69 -0
  158. data/test/IORTable/server.ior +0 -0
  159. data/test/IORTable/server.rb +130 -0
  160. data/test/Implicit_Conversion/Test.idl +31 -0
  161. data/test/Implicit_Conversion/client.rb +110 -0
  162. data/test/Implicit_Conversion/run_test.rb +69 -0
  163. data/test/Implicit_Conversion/server.ior +1 -0
  164. data/test/Implicit_Conversion/server.rb +99 -0
  165. data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
  166. data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
  167. data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
  168. data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
  169. data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
  170. data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
  171. data/test/Multi_Threading/Simple/Test.idl +27 -0
  172. data/test/Multi_Threading/Simple/client.rb +93 -0
  173. data/test/Multi_Threading/Simple/run_test.rb +69 -0
  174. data/test/Multi_Threading/Simple/server.ior +1 -0
  175. data/test/Multi_Threading/Simple/server.rb +118 -0
  176. data/test/Multi_Threading/Threads/Test.idl +31 -0
  177. data/test/Multi_Threading/Threads/client.rb +80 -0
  178. data/test/Multi_Threading/Threads/run_test.rb +76 -0
  179. data/test/Multi_Threading/Threads/server.ior +1 -0
  180. data/test/Multi_Threading/Threads/server.rb +119 -0
  181. data/test/Multi_Threading/Threads/watchdog.ior +1 -0
  182. data/test/Multi_Threading/Threads/watchdog.rb +87 -0
  183. data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
  184. data/test/Multiple_Servant_Interfaces/client.rb +70 -0
  185. data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
  186. data/test/Multiple_Servant_Interfaces/server.ior +1 -0
  187. data/test/Multiple_Servant_Interfaces/server.rb +102 -0
  188. data/test/Nil/Test.idl +27 -0
  189. data/test/Nil/run_test.rb +52 -0
  190. data/test/Nil/test.rb +78 -0
  191. data/test/OBV/AbstractInterface/client.rb +179 -0
  192. data/test/OBV/AbstractInterface/run_test.rb +69 -0
  193. data/test/OBV/AbstractInterface/server.ior +1 -0
  194. data/test/OBV/AbstractInterface/server.rb +149 -0
  195. data/test/OBV/AbstractInterface/test.idl +53 -0
  196. data/test/OBV/Custom/OBV.idl +18 -0
  197. data/test/OBV/Custom/OBV_impl.rb +40 -0
  198. data/test/OBV/Custom/client.rb +86 -0
  199. data/test/OBV/Custom/run_test.rb +69 -0
  200. data/test/OBV/Custom/server.ior +1 -0
  201. data/test/OBV/Custom/server.rb +100 -0
  202. data/test/OBV/Simple/OBV.idl +15 -0
  203. data/test/OBV/Simple/OBV_impl.rb +26 -0
  204. data/test/OBV/Simple/client.rb +86 -0
  205. data/test/OBV/Simple/run_test.rb +69 -0
  206. data/test/OBV/Simple/server.ior +1 -0
  207. data/test/OBV/Simple/server.rb +100 -0
  208. data/test/OBV/Simple_Event/Event.idl +15 -0
  209. data/test/OBV/Simple_Event/Event_impl.rb +26 -0
  210. data/test/OBV/Simple_Event/client.rb +86 -0
  211. data/test/OBV/Simple_Event/run_test.rb +69 -0
  212. data/test/OBV/Simple_Event/server.ior +1 -0
  213. data/test/OBV/Simple_Event/server.rb +100 -0
  214. data/test/OBV/Supports/client.rb +116 -0
  215. data/test/OBV/Supports/run_test.rb +69 -0
  216. data/test/OBV/Supports/server.ior +1 -0
  217. data/test/OBV/Supports/server.rb +103 -0
  218. data/test/OBV/Supports/supports.idl +33 -0
  219. data/test/OBV/Supports/supports_impl.rb +57 -0
  220. data/test/OBV/Tree/client.rb +116 -0
  221. data/test/OBV/Tree/run_test.rb +69 -0
  222. data/test/OBV/Tree/server.ior +1 -0
  223. data/test/OBV/Tree/server.rb +117 -0
  224. data/test/OBV/Tree/test.idl +32 -0
  225. data/test/OBV/Truncatable/Extra.idl +27 -0
  226. data/test/OBV/Truncatable/Truncatable.idl +105 -0
  227. data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
  228. data/test/OBV/Truncatable/client.rb +279 -0
  229. data/test/OBV/Truncatable/run_test.rb +69 -0
  230. data/test/OBV/Truncatable/server.ior +1 -0
  231. data/test/OBV/Truncatable/server.rb +89 -0
  232. data/test/OBV/ValueBox/client.rb +497 -0
  233. data/test/OBV/ValueBox/run_test.rb +69 -0
  234. data/test/OBV/ValueBox/server.ior +1 -0
  235. data/test/OBV/ValueBox/server.rb +271 -0
  236. data/test/OBV/ValueBox/valuebox.idl +101 -0
  237. data/test/OBV/ValueBox/vb_basic.idl +75 -0
  238. data/test/OBV/ValueBox/vb_struct.idl +68 -0
  239. data/test/OBV/ValueBox/vb_union.idl +21 -0
  240. data/test/Object/Test.idl +27 -0
  241. data/test/Object/client.rb +112 -0
  242. data/test/Object/run_test.rb +69 -0
  243. data/test/Object/server.ior +1 -0
  244. data/test/Object/server.rb +126 -0
  245. data/test/POA/Test.idl +27 -0
  246. data/test/POA/run_test.rb +52 -0
  247. data/test/POA/test.rb +112 -0
  248. data/test/Param_Test/Test.idl +182 -0
  249. data/test/Param_Test/client.rb +277 -0
  250. data/test/Param_Test/run_test.rb +69 -0
  251. data/test/Param_Test/server.ior +1 -0
  252. data/test/Param_Test/server.rb +296 -0
  253. data/test/Performance/Simple/Test.idl +27 -0
  254. data/test/Performance/Simple/client.rb +90 -0
  255. data/test/Performance/Simple/run_test.rb +69 -0
  256. data/test/Performance/Simple/server.ior +1 -0
  257. data/test/Performance/Simple/server.rb +95 -0
  258. data/test/Policies/Test.idl +27 -0
  259. data/test/Policies/run_test.rb +52 -0
  260. data/test/Policies/test.rb +144 -0
  261. data/test/Timeout/client.rb +207 -0
  262. data/test/Timeout/run_test.rb +69 -0
  263. data/test/Timeout/server.ior +1 -0
  264. data/test/Timeout/server.rb +109 -0
  265. data/test/Timeout/test.idl +19 -0
  266. data/test/lib/assert.rb +43 -0
  267. data/test/lib/test.rb +542 -0
  268. data/test/test.log +20 -0
  269. data/test/test2.log +5000 -0
  270. data/test/test_runner.rb +193 -0
  271. metadata +349 -0
@@ -0,0 +1,236 @@
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
+ unless defined?(JRUBY_VERSION)
44
+ if R2CORBA::Config.is_linux
45
+ # create unversioned ACE/TAO lib symlinks
46
+ R2CORBA::Ext.ace_shlibs('.so', 'ext').each do |acelib|
47
+ acelib_ver = File.expand_path(Dir[acelib+'.*'].first)
48
+ ln_s(acelib_ver, acelib)
49
+ end
50
+ end
51
+ unless R2CORBA::Config.is_win32
52
+ # patch RPATH setting of shared libs
53
+ R2CORBA::Gem.patch_extlib_rpath
54
+ end
55
+ end
56
+ end
57
+
58
+ unless defined?(JRUBY_VERSION)
59
+ task :taogem do
60
+ # get version of latest ACE release from internet
61
+ _ace_ver = R2CORBA::Ext.get_latest_ace_version
62
+ # make sure download target dir exists
63
+ Rake.mkdir_p('src')
64
+ # download latest TAO source archive from internet
65
+ R2CORBA::Ext.download_tao_source(_ace_ver, 'src')
66
+ # build gem
67
+ gemspec = R2CORBA::Gem.define_spec('taosource', _ace_ver) do |gem|
68
+ gem.summary = %Q{TAO sourcecode for building R2CORBA}
69
+ gem.description = %Q{TAO sourcecode for building R2CORBA.}
70
+ gem.email = 'mcorino@remedy.nl'
71
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
72
+ gem.authors = ['Martin Corino']
73
+ gem.files = Dir['lib/taosource/**/*']
74
+ gem.files.concat(Dir["src/ACE+TAO-src-#{_ace_ver}.tar.gz"])
75
+ gem.files << 'mkrf_conf_taogem.rb'
76
+ gem.extensions = ['mkrf_conf_taogem.rb']
77
+ gem.require_paths = %w{lib}
78
+ gem.executables = []
79
+ gem.required_ruby_version = '>= 1.9.3'
80
+ gem.licenses = ['ACE']
81
+ end
82
+ R2CORBA::Gem.build_gem(gemspec)
83
+ end
84
+ end
85
+ end
86
+ end
87
+
88
+ # source gem file
89
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION)}.gem") => R2CORBA::Gem.manifest do
90
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION) do |gem|
91
+ gem.summary = %Q{CORBA language mapping implementation for Ruby}
92
+ 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. }
93
+ gem.email = 'mcorino@remedy.nl'
94
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
95
+ gem.authors = ['Martin Corino']
96
+ gem.files = R2CORBA::Gem.manifest
97
+ gem.extensions = ['mkrf_conf_srcgem.rb']
98
+ gem.require_paths = %w{lib}
99
+ gem.executables = %w{ridlc rins r2corba}
100
+ gem.required_ruby_version = '>= 1.9.3'
101
+ gem.licenses = ['R2CORBA', 'ACE', 'GPL']
102
+ gem.require_paths << 'ext'
103
+ gem.add_dependency 'ridl', '~> 2.5'
104
+ gem.add_dependency 'rake', '~> 10.0'
105
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
106
+ end
107
+ R2CORBA::Gem.build_gem(gemspec)
108
+ end
109
+ t_.enhance ['mkrf_conf_srcgem.rb']
110
+
111
+ # Extension binaries gem file
112
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :extbin)}.gem") => R2CORBA::Gem.manifest(:extbin, true) do
113
+ unless defined?(JRUBY_VERSION)
114
+ # prepare required shared libs for ext libs
115
+ if R2CORBA::Config.is_win32
116
+ ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
117
+ elsif R2CORBA::Config.is_linux
118
+ ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
119
+ else
120
+ ext_deplibs = R2CORBA::Ext.ace_shlibs
121
+ end
122
+ ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
123
+ end
124
+ begin
125
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :extbin) do |gem|
126
+ gem.summary = %Q{CORBA language mapping implementation for Ruby (extension binaries)}
127
+ 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)}
128
+ gem.email = 'mcorino@remedy.nl'
129
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
130
+ gem.authors = ['Martin Corino']
131
+ gem.files = R2CORBA::Gem.manifest(:extbin)
132
+ gem.extensions = []
133
+ gem.require_paths = %w{ext}
134
+ gem.executables = []
135
+ if R2CORBA::Config.rb_ver_major < 2
136
+ gem.required_ruby_version = '>= 1.9.3'
137
+ else
138
+ gem.required_ruby_version = '>= 2.0.0'
139
+ end
140
+ gem.licenses = ['R2CORBA', 'ACE']
141
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so'
142
+ end
143
+ R2CORBA::Gem.build_gem(gemspec)
144
+ ensure
145
+ ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
146
+ end
147
+ end
148
+
149
+ # binary gem file
150
+ t_ = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba', R2CORBA::R2CORBA_VERSION, :bin)}.gem") => R2CORBA::Gem.manifest(:bin, true) do
151
+ unless defined?(JRUBY_VERSION)
152
+ if ENV['FULL_BINGEM']
153
+ # prepare required shared libs for ext libs
154
+ if R2CORBA::Config.is_win32
155
+ ext_deplibs = R2CORBA::Ext.ace_shlibs + R2CORBA::Ext.sys_dlls
156
+ elsif R2CORBA::Config.is_linux
157
+ ext_deplibs = R2CORBA::Ext.ace_shlibs('.so.*').collect {|acelib| Dir.glob(acelib).first }
158
+ else
159
+ ext_deplibs = R2CORBA::Ext.ace_shlibs
160
+ end
161
+ ext_deplibs.each {|deplib| cp(deplib, File.join('ext', File.basename(deplib)), :verbose => false) }
162
+ else
163
+ touch(File.join('ext', '.keep'))
164
+ end
165
+ end
166
+ begin
167
+ # create gemspec
168
+ gemspec = R2CORBA::Gem.define_spec('r2corba', R2CORBA::R2CORBA_VERSION, :bin) do |gem|
169
+ gem.summary = %Q{CORBA language mapping implementation for Ruby}
170
+ 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. }
171
+ gem.email = 'mcorino@remedy.nl'
172
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
173
+ gem.authors = ['Martin Corino']
174
+ gem.files = R2CORBA::Gem.manifest(:bin)
175
+ gem.require_paths = %w{lib}
176
+ gem.executables = %w{ridlc rins r2corba}
177
+ gem.extensions = ['mkrf_conf_bingem.rb']
178
+ if defined?(JRUBY_VERSION)
179
+ gem.require_paths << 'jacorb/lib'
180
+ gem.required_ruby_version = '>= 1.7.0'
181
+ gem.licenses = ['R2CORBA', 'JacORB']
182
+ else
183
+ gem.files << File.join('ext', '.keep') unless ENV['FULL_BINGEM'] # to force installation of ext folder if libs are left out
184
+ gem.required_ruby_version = '>= 1.9.3'
185
+ gem.licenses = ['R2CORBA', 'ACE', 'GPL']
186
+ gem.require_paths << 'ext'
187
+ end
188
+ gem.add_dependency 'ridl', '~> 2.5'
189
+ gem.add_dependency 'rake', '~> 10.0'
190
+ gem.rdoc_options << '--exclude=\\.dll' << '--exclude=\\.so' << '--exclude=\\.pidlc'
191
+ end
192
+ R2CORBA::Gem.build_gem(gemspec)
193
+ ensure
194
+ if ENV['FULL_BINGEM']
195
+ ext_deplibs.each {|deplib| rm_f(File.join('ext', File.basename(deplib)), :verbose => false) } unless defined?(JRUBY_VERSION)
196
+ else
197
+ rm_f(File.join('ext', '.keep')) unless defined?(JRUBY_VERSION)
198
+ end
199
+ end
200
+ end
201
+ t_.enhance ['mkrf_conf_bingem.rb']
202
+
203
+ unless defined?(JRUBY_VERSION) || !R2CORBA::Config.is_win32
204
+ # Devkit faker Gem for binary Windows gems
205
+ t_devkit = file File.join('pkg', "#{R2CORBA::Gem.gem_name('r2corba_devkit', '1.0.0', :devkit)}.gem") => 'lib/rubygems_plugin.rb' do
206
+ # create gemspec
207
+ gemspec = R2CORBA::Gem.define_spec('r2corba_devkit', '1.0.0', :devkit) do |gem|
208
+ gem.summary = %Q{R2CORBA Devkit faker for RubyInstaller Rubies}
209
+ gem.description = %Q{Fake Devkit loader to satisfy stupid RubyInstaller pre-install hook. }
210
+ gem.email = 'mcorino@remedy.nl'
211
+ gem.homepage = "https://osportal.remedy.nl/projects/r2corba"
212
+ gem.authors = ['Martin Corino']
213
+ gem.files = 'lib/rubygems_plugin.rb'
214
+ gem.require_paths = %w{lib}
215
+ gem.executables = []
216
+ gem.extensions = []
217
+ gem.required_ruby_version = '>= 1.9.3'
218
+ gem.licenses = ['R2CORBA']
219
+ end
220
+ R2CORBA::Gem.build_gem(gemspec)
221
+ end
222
+ namespace :r2corba do
223
+ namespace :gem do
224
+ task :devkit => t_devkit.name
225
+ end
226
+ end
227
+ end
228
+
229
+ desc 'Build R2CORBA gem'
230
+ if defined?(JRUBY_VERSION)
231
+ task :gem => 'r2corba:gem:bingem'
232
+ elsif R2CORBA::Config.is_win32
233
+ task :gem => 'r2corba:gem:bingem'
234
+ else
235
+ task :gem => 'r2corba:gem:srcgem'
236
+ end
@@ -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
+ require 'rubygems/package'
16
+ begin
17
+ require 'rubygems/builder'
18
+ rescue LoadError
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 = defined?(JRUBY_VERSION) ? ::Gem::Platform.new('universal-java') : ::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 = defined?(JRUBY_VERSION) ? ::Gem::Platform.new('universal-java') : ::Gem::Platform::CURRENT
113
+ end
114
+ gemspec.full_name
115
+ end
116
+
117
+ def self.build_gem(gemspec)
118
+ if defined?(::Gem::Package) && ::Gem::Package.respond_to?(:build)
119
+ gem_file_name = ::Gem::Package.build(gemspec)
120
+ else
121
+ gem_file_name = ::Gem::Builder.new(gemspec).build
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
@@ -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
+ };