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