The Rakefile was modified so that 'rake gem' or 'rake package'
builds both the java and ruby versions. If you manually run
'gem build deltacloud-client.gemspec' then the version built
will depend on which interpreter you're using.
---
 client/Rakefile                  |   11 +++++++++--
 client/deltacloud-client.gemspec |   10 ++++++++--
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/client/Rakefile b/client/Rakefile
index b539ed5..5d7f1f1 100644
--- a/client/Rakefile
+++ b/client/Rakefile
@@ -25,8 +25,15 @@ task 'documentation' do
   load 'lib/documentation.rb'
 end
 
-Rake::GemPackageTask.new(@spec) do |pkg|
-  pkg.need_tar = true
+...@specs = ['ruby', 'java'].inject({}) do |hash, spec_platform|
+  $platform = spec_platform
+  hash.update(spec_platform => 
Gem::Specification.load('deltacloud-client.gemspec'))
+end
+
[email protected] do |spec|
+  Rake::GemPackageTask.new(spec) do |pkg|
+    pkg.need_tar = true
+  end
 end
 
 if Gem.available?('rspec')
diff --git a/client/deltacloud-client.gemspec b/client/deltacloud-client.gemspec
index f756108..da72343 100644
--- a/client/deltacloud-client.gemspec
+++ b/client/deltacloud-client.gemspec
@@ -17,7 +17,7 @@
 # under the License.
 
 
-...@spec=gem::Specification.new do |s|
+Gem::Specification.new do |s|
   s.author = 'Red Hat, Inc.'
   s.homepage = "http://www.deltacloud.org";
   s.email = '[email protected]'
@@ -32,7 +32,13 @@
   s.test_files= Dir.glob("specs/**/**")
   s.extra_rdoc_files = Dir["COPYING"]
 
+  # Rakefile needs to create spec for both platforms (ruby and java), using the
+  # $platform global variable. In all other cases, we figure it out from
+  # RUBY_PLATFORM.
+  s.platform = $platform || RUBY_PLATFORM[/java/] || 'ruby'
+
   s.add_dependency('rest-client', '>= 1.4.2')
-  s.add_dependency('nokogiri', '>= 1.4.1')
+  s.add_dependency('nokogiri', '>= 1.4.1') if s.platform.to_s == 'ruby'
+  s.add_dependency('nokogiri', '>= 1.5.0.beta.2') if s.platform.to_s == 'java'
   s.add_development_dependency('rspec', '>= 1.3.0')
 end
-- 
1.7.2.1

Reply via email to