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.
- checksums.yaml +7 -0
- data/CHANGES +173 -0
- data/LICENSE +59 -0
- data/LICENSE.jacorb +660 -0
- data/README +62 -0
- data/THANKS +54 -0
- data/bin/r2corba +8 -0
- data/bin/r2corba.bat +20 -0
- data/bin/ridlc +11 -0
- data/bin/ridlc.bat +23 -0
- data/bin/rins +7 -0
- data/bin/rins.bat +19 -0
- data/jacorb/lib/antlr-2.7.2.jar +0 -0
- data/jacorb/lib/jacorb-3.5.jar +0 -0
- data/jacorb/lib/jacorb-omgapi-3.5.jar +0 -0
- data/jacorb/lib/jacorb-services-3.5.jar +0 -0
- data/jacorb/lib/slf4j-api-1.7.6.jar +0 -0
- data/jacorb/lib/slf4j-jdk14-1.7.6.jar +0 -0
- data/lib/corba.rb +16 -0
- data/lib/corba/cbase/IORMap.rb +33 -0
- data/lib/corba/cbase/ORB.rb +237 -0
- data/lib/corba/cbase/Request.rb +134 -0
- data/lib/corba/cbase/Streams.rb +129 -0
- data/lib/corba/cbase/Stub.rb +19 -0
- data/lib/corba/cbase/Typecode.rb +441 -0
- data/lib/corba/cbase/Values.rb +129 -0
- data/lib/corba/cbase/exception.rb +66 -0
- data/lib/corba/cbase/poa.rb +23 -0
- data/lib/corba/cbase/policies.rb +78 -0
- data/lib/corba/cbase/post_require.rb +14 -0
- data/lib/corba/cbase/require.rb +28 -0
- data/lib/corba/cmds/base.rb +85 -0
- data/lib/corba/cmds/test.rb +30 -0
- data/lib/corba/common/Any.rb +91 -0
- data/lib/corba/common/IDL.rb +104 -0
- data/lib/corba/common/ORB.rb +368 -0
- data/lib/corba/common/Object.rb +208 -0
- data/lib/corba/common/Request.rb +20 -0
- data/lib/corba/common/Servant.rb +108 -0
- data/lib/corba/common/Struct.rb +22 -0
- data/lib/corba/common/Stub.rb +79 -0
- data/lib/corba/common/Typecode.rb +1121 -0
- data/lib/corba/common/Union.rb +56 -0
- data/lib/corba/common/Values.rb +92 -0
- data/lib/corba/common/const.rb +22 -0
- data/lib/corba/common/exception.rb +68 -0
- data/lib/corba/common/require.rb +27 -0
- data/lib/corba/common/version.rb +22 -0
- data/lib/corba/idl/BiDirPolicyC.rb +63 -0
- data/lib/corba/idl/CosNamingC.rb +461 -0
- data/lib/corba/idl/CosNamingS.rb +309 -0
- data/lib/corba/idl/IDL.rb +21 -0
- data/lib/corba/idl/IORTable.pidl +62 -0
- data/lib/corba/idl/MessagingC.rb +904 -0
- data/lib/corba/idl/POAC.rb +930 -0
- data/lib/corba/idl/TAO_Ext.pidl +46 -0
- data/lib/corba/idl/r2c_orb.rb +572 -0
- data/lib/corba/idl/require.rb +20 -0
- data/lib/corba/jbase/Any.rb +273 -0
- data/lib/corba/jbase/IORMap.rb +36 -0
- data/lib/corba/jbase/ORB.rb +112 -0
- data/lib/corba/jbase/Object.rb +99 -0
- data/lib/corba/jbase/Request.rb +226 -0
- data/lib/corba/jbase/Servant.rb +248 -0
- data/lib/corba/jbase/ServerRequest.rb +128 -0
- data/lib/corba/jbase/Streams.rb +671 -0
- data/lib/corba/jbase/Stub.rb +38 -0
- data/lib/corba/jbase/Typecode.rb +520 -0
- data/lib/corba/jbase/Values.rb +173 -0
- data/lib/corba/jbase/exception.rb +106 -0
- data/lib/corba/jbase/poa.rb +229 -0
- data/lib/corba/jbase/policies.rb +300 -0
- data/lib/corba/jbase/post_require.rb +14 -0
- data/lib/corba/jbase/require.rb +89 -0
- data/lib/corba/naming.rb +14 -0
- data/lib/corba/naming_service.rb +15 -0
- data/lib/corba/poa.rb +15 -0
- data/lib/corba/policies.rb +18 -0
- data/lib/corba/require.rb +17 -0
- data/lib/corba/svcs/ins/cos_naming.rb +426 -0
- data/lib/corba/svcs/ins/ins.rb +526 -0
- data/lib/corba/svcs/ins/naming_service.rb +119 -0
- data/lib/ridlbe/ruby/config.rb +336 -0
- data/lib/ridlbe/ruby/orb.pidlc +0 -0
- data/lib/ridlbe/ruby/require.rb +16 -0
- data/lib/ridlbe/ruby/walker.rb +1582 -0
- data/mkrf_conf_bingem.rb +151 -0
- data/rakelib/bin.rake +80 -0
- data/rakelib/bin.rb +146 -0
- data/rakelib/build.rake +87 -0
- data/rakelib/config.rake +52 -0
- data/rakelib/config.rb +544 -0
- data/rakelib/gem.rake +236 -0
- data/rakelib/gem.rb +146 -0
- data/rakelib/package.rake +26 -0
- data/rakelib/test.rake +23 -0
- data/test/BiDirectional/Test.idl +34 -0
- data/test/BiDirectional/client.rb +132 -0
- data/test/BiDirectional/run_test.rb +68 -0
- data/test/BiDirectional/server.ior +1 -0
- data/test/BiDirectional/server.rb +169 -0
- data/test/CORBA_Services/Naming/BindingIterator/Test.idl +27 -0
- data/test/CORBA_Services/Naming/BindingIterator/client.rb +121 -0
- data/test/CORBA_Services/Naming/BindingIterator/ins.ior +1 -0
- data/test/CORBA_Services/Naming/BindingIterator/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/BindingIterator/server.rb +109 -0
- data/test/CORBA_Services/Naming/Corbaname/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Corbaname/client.rb +85 -0
- data/test/CORBA_Services/Naming/Corbaname/corbaname.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Corbaname/run_test.rb +88 -0
- data/test/CORBA_Services/Naming/Corbaname/server.rb +135 -0
- data/test/CORBA_Services/Naming/Simple/Test.idl +27 -0
- data/test/CORBA_Services/Naming/Simple/client.rb +84 -0
- data/test/CORBA_Services/Naming/Simple/ins.ior +1 -0
- data/test/CORBA_Services/Naming/Simple/run_test.rb +82 -0
- data/test/CORBA_Services/Naming/Simple/server.rb +109 -0
- data/test/Collocation/Diamond.idl +39 -0
- data/test/Collocation/run_test.rb +52 -0
- data/test/Collocation/test.rb +195 -0
- data/test/Connect_Timeout/Test.idl +27 -0
- data/test/Connect_Timeout/client.rb +111 -0
- data/test/Connect_Timeout/run_test.rb +52 -0
- data/test/DII/Test.idl +27 -0
- data/test/DII/client.rb +115 -0
- data/test/DII/run_test.rb +69 -0
- data/test/DII/server.ior +1 -0
- data/test/DII/server.rb +95 -0
- data/test/DSI/Test.idl +27 -0
- data/test/DSI/client.rb +66 -0
- data/test/DSI/run_test.rb +69 -0
- data/test/DSI/server.ior +1 -0
- data/test/DSI/server.rb +106 -0
- data/test/Exceptions/Test.idl +48 -0
- data/test/Exceptions/client.rb +118 -0
- data/test/Exceptions/run_test.rb +69 -0
- data/test/Exceptions/server.ior +1 -0
- data/test/Exceptions/server.rb +131 -0
- data/test/Hello/Test.idl +27 -0
- data/test/Hello/client.rb +78 -0
- data/test/Hello/gateway.ior +1 -0
- data/test/Hello/run_test.rb +71 -0
- data/test/Hello/server.rb +95 -0
- data/test/IDL_Test/Test.idl +113 -0
- data/test/IDL_Test/Test_inc.idl +17 -0
- data/test/IDL_Test/client.rb +102 -0
- data/test/IDL_Test/run_test.rb +69 -0
- data/test/IDL_Test/server.ior +1 -0
- data/test/IDL_Test/server.rb +99 -0
- data/test/IORMap/Test.idl +27 -0
- data/test/IORMap/client.rb +73 -0
- data/test/IORMap/run_test.rb +69 -0
- data/test/IORMap/server.ior +1 -0
- data/test/IORMap/server.rb +114 -0
- data/test/IORTable/Test.idl +27 -0
- data/test/IORTable/client.rb +75 -0
- data/test/IORTable/run_test.rb +69 -0
- data/test/IORTable/server.ior +0 -0
- data/test/IORTable/server.rb +130 -0
- data/test/Implicit_Conversion/Test.idl +31 -0
- data/test/Implicit_Conversion/client.rb +110 -0
- data/test/Implicit_Conversion/run_test.rb +69 -0
- data/test/Implicit_Conversion/server.ior +1 -0
- data/test/Implicit_Conversion/server.rb +99 -0
- data/test/Multi_Threading/Multiple_ORB/Test.idl +27 -0
- data/test/Multi_Threading/Multiple_ORB/client.rb +82 -0
- data/test/Multi_Threading/Multiple_ORB/run_test.rb +71 -0
- data/test/Multi_Threading/Multiple_ORB/server.rb +108 -0
- data/test/Multi_Threading/Multiple_ORB/server0.ior +1 -0
- data/test/Multi_Threading/Multiple_ORB/server1.ior +1 -0
- data/test/Multi_Threading/Simple/Test.idl +27 -0
- data/test/Multi_Threading/Simple/client.rb +93 -0
- data/test/Multi_Threading/Simple/run_test.rb +69 -0
- data/test/Multi_Threading/Simple/server.ior +1 -0
- data/test/Multi_Threading/Simple/server.rb +118 -0
- data/test/Multi_Threading/Threads/Test.idl +31 -0
- data/test/Multi_Threading/Threads/client.rb +80 -0
- data/test/Multi_Threading/Threads/run_test.rb +76 -0
- data/test/Multi_Threading/Threads/server.ior +1 -0
- data/test/Multi_Threading/Threads/server.rb +119 -0
- data/test/Multi_Threading/Threads/watchdog.ior +1 -0
- data/test/Multi_Threading/Threads/watchdog.rb +87 -0
- data/test/Multiple_Servant_Interfaces/Test.idl +34 -0
- data/test/Multiple_Servant_Interfaces/client.rb +70 -0
- data/test/Multiple_Servant_Interfaces/run_test.rb +69 -0
- data/test/Multiple_Servant_Interfaces/server.ior +1 -0
- data/test/Multiple_Servant_Interfaces/server.rb +102 -0
- data/test/Nil/Test.idl +27 -0
- data/test/Nil/run_test.rb +52 -0
- data/test/Nil/test.rb +78 -0
- data/test/OBV/AbstractInterface/client.rb +179 -0
- data/test/OBV/AbstractInterface/run_test.rb +69 -0
- data/test/OBV/AbstractInterface/server.ior +1 -0
- data/test/OBV/AbstractInterface/server.rb +149 -0
- data/test/OBV/AbstractInterface/test.idl +53 -0
- data/test/OBV/Custom/OBV.idl +18 -0
- data/test/OBV/Custom/OBV_impl.rb +40 -0
- data/test/OBV/Custom/client.rb +86 -0
- data/test/OBV/Custom/run_test.rb +69 -0
- data/test/OBV/Custom/server.ior +1 -0
- data/test/OBV/Custom/server.rb +100 -0
- data/test/OBV/Simple/OBV.idl +15 -0
- data/test/OBV/Simple/OBV_impl.rb +26 -0
- data/test/OBV/Simple/client.rb +86 -0
- data/test/OBV/Simple/run_test.rb +69 -0
- data/test/OBV/Simple/server.ior +1 -0
- data/test/OBV/Simple/server.rb +100 -0
- data/test/OBV/Simple_Event/Event.idl +15 -0
- data/test/OBV/Simple_Event/Event_impl.rb +26 -0
- data/test/OBV/Simple_Event/client.rb +86 -0
- data/test/OBV/Simple_Event/run_test.rb +69 -0
- data/test/OBV/Simple_Event/server.ior +1 -0
- data/test/OBV/Simple_Event/server.rb +100 -0
- data/test/OBV/Supports/client.rb +116 -0
- data/test/OBV/Supports/run_test.rb +69 -0
- data/test/OBV/Supports/server.ior +1 -0
- data/test/OBV/Supports/server.rb +103 -0
- data/test/OBV/Supports/supports.idl +33 -0
- data/test/OBV/Supports/supports_impl.rb +57 -0
- data/test/OBV/Tree/client.rb +116 -0
- data/test/OBV/Tree/run_test.rb +69 -0
- data/test/OBV/Tree/server.ior +1 -0
- data/test/OBV/Tree/server.rb +117 -0
- data/test/OBV/Tree/test.idl +32 -0
- data/test/OBV/Truncatable/Extra.idl +27 -0
- data/test/OBV/Truncatable/Truncatable.idl +105 -0
- data/test/OBV/Truncatable/Truncatable_impl.rb +86 -0
- data/test/OBV/Truncatable/client.rb +279 -0
- data/test/OBV/Truncatable/run_test.rb +69 -0
- data/test/OBV/Truncatable/server.ior +1 -0
- data/test/OBV/Truncatable/server.rb +89 -0
- data/test/OBV/ValueBox/client.rb +497 -0
- data/test/OBV/ValueBox/run_test.rb +69 -0
- data/test/OBV/ValueBox/server.ior +1 -0
- data/test/OBV/ValueBox/server.rb +271 -0
- data/test/OBV/ValueBox/valuebox.idl +101 -0
- data/test/OBV/ValueBox/vb_basic.idl +75 -0
- data/test/OBV/ValueBox/vb_struct.idl +68 -0
- data/test/OBV/ValueBox/vb_union.idl +21 -0
- data/test/Object/Test.idl +27 -0
- data/test/Object/client.rb +112 -0
- data/test/Object/run_test.rb +69 -0
- data/test/Object/server.ior +1 -0
- data/test/Object/server.rb +126 -0
- data/test/POA/Test.idl +27 -0
- data/test/POA/run_test.rb +52 -0
- data/test/POA/test.rb +112 -0
- data/test/Param_Test/Test.idl +182 -0
- data/test/Param_Test/client.rb +277 -0
- data/test/Param_Test/run_test.rb +69 -0
- data/test/Param_Test/server.ior +1 -0
- data/test/Param_Test/server.rb +296 -0
- data/test/Performance/Simple/Test.idl +27 -0
- data/test/Performance/Simple/client.rb +90 -0
- data/test/Performance/Simple/run_test.rb +69 -0
- data/test/Performance/Simple/server.ior +1 -0
- data/test/Performance/Simple/server.rb +95 -0
- data/test/Policies/Test.idl +27 -0
- data/test/Policies/run_test.rb +52 -0
- data/test/Policies/test.rb +144 -0
- data/test/Timeout/client.rb +207 -0
- data/test/Timeout/run_test.rb +69 -0
- data/test/Timeout/server.ior +1 -0
- data/test/Timeout/server.rb +109 -0
- data/test/Timeout/test.idl +19 -0
- data/test/lib/assert.rb +43 -0
- data/test/lib/test.rb +542 -0
- data/test/test.log +20 -0
- data/test/test2.log +5000 -0
- data/test/test_runner.rb +193 -0
- metadata +349 -0
data/rakelib/gem.rake
ADDED
@@ -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
|
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
|
+
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
|
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
|
+
};
|