You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by lu...@redhat.com on 2010/10/22 00:42:02 UTC
[PATCH 2/2] Gem building: do not depend on thin/rerun
From: David Lutterkort <lu...@redhat.com>
Having thin/rerun should be developer conveniences resp. recommendations
for deployment. No need to hardcode this as gem dependencies.
* server/Rakefile: only build one gem, which will work under MRI and
JRuby
* server/deltacloud-core.gemspec: remove dependencies on thin and rerun
* tests/mock/99_rake.feature: only expect one gem file
---
server/Rakefile | 12 +++---------
server/deltacloud-core.gemspec | 8 --------
tests/mock/99_rake.feature | 2 +-
3 files changed, 4 insertions(+), 18 deletions(-)
diff --git a/server/Rakefile b/server/Rakefile
index eb0b767..e562cb5 100644
--- a/server/Rakefile
+++ b/server/Rakefile
@@ -43,15 +43,9 @@ begin
rescue LoadError
end
-@specs = ['ruby', 'java'].inject({}) do |hash, spec_platform|
- $platform = spec_platform
- hash.update(spec_platform => Gem::Specification.load('deltacloud-core.gemspec'))
-end
-
-@specs.values.each do |spec|
- Rake::GemPackageTask.new(spec) do |pkg|
- pkg.need_tar = true
- end
+spec = Gem::Specification.load('deltacloud-core.gemspec')
+Rake::GemPackageTask.new(spec) do |pkg|
+ pkg.need_tar = true
end
desc "Install API"
diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
index 5fc7c19..f6fc542 100644
--- a/server/deltacloud-core.gemspec
+++ b/server/deltacloud-core.gemspec
@@ -58,19 +58,11 @@ Gem::Specification.new do |s|
s.extra_rdoc_files = Dir["COPYING"]
s.required_ruby_version = '>= 1.8.1'
- # 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('rake', '>= 0.8.7')
- s.add_dependency('eventmachine', '>= 0.12.10') if s.platform.to_s == 'ruby'
s.add_dependency('haml', '>= 2.2.17')
s.add_dependency('sinatra', '>= 0.9.4')
s.add_dependency('rack', '>= 1.0.0')
s.add_dependency('rack-accept', '~> 0.4.3')
- s.add_dependency('thin', '>= 1.2.5') if s.platform.to_s == 'ruby'
- s.add_dependency('rerun', '>= 0.5.2') if s.platform.to_s == 'ruby'
s.add_dependency('json', '>= 1.1.9')
s.add_development_dependency('compass', '>= 0.8.17')
s.add_development_dependency('nokogiri', '>= 1.4.1')
diff --git a/tests/mock/99_rake.feature b/tests/mock/99_rake.feature
index 5d70b8a..d6b424a 100644
--- a/tests/mock/99_rake.feature
+++ b/tests/mock/99_rake.feature
@@ -3,5 +3,5 @@ Feature: Running rake tasks
Scenario: I want to build Deltacloud API gem
Given I have a clean /pkg directory
When I run a 'package' task
- Then I should see a 2 gem file inside pkg directory
+ Then I should see a 1 gem file inside pkg directory
And I should see a 1 tgz file inside pkg directory
--
1.7.2.3
Re: [PATCH 2/2] Gem building: do not depend on thin/rerun
Posted by Michal Fojtik <mf...@redhat.com>.
On 21/10/10 15:42 -0700, lutter@redhat.com wrote:
>From: David Lutterkort <lu...@redhat.com>
>
>Having thin/rerun should be developer conveniences resp. recommendations
>for deployment. No need to hardcode this as gem dependencies.
>
> * server/Rakefile: only build one gem, which will work under MRI and
> JRuby
> * server/deltacloud-core.gemspec: remove dependencies on thin and rerun
> * tests/mock/99_rake.feature: only expect one gem file
>---
> server/Rakefile | 12 +++---------
> server/deltacloud-core.gemspec | 8 --------
> tests/mock/99_rake.feature | 2 +-
> 3 files changed, 4 insertions(+), 18 deletions(-)
>
>diff --git a/server/Rakefile b/server/Rakefile
>index eb0b767..e562cb5 100644
>--- a/server/Rakefile
>+++ b/server/Rakefile
>@@ -43,15 +43,9 @@ begin
> rescue LoadError
> end
>
>-@specs = ['ruby', 'java'].inject({}) do |hash, spec_platform|
>- $platform = spec_platform
>- hash.update(spec_platform => Gem::Specification.load('deltacloud-core.gemspec'))
>-end
>-
>-@specs.values.each do |spec|
>- Rake::GemPackageTask.new(spec) do |pkg|
>- pkg.need_tar = true
>- end
>+spec = Gem::Specification.load('deltacloud-core.gemspec')
>+Rake::GemPackageTask.new(spec) do |pkg|
>+ pkg.need_tar = true
> end
>
> desc "Install API"
>diff --git a/server/deltacloud-core.gemspec b/server/deltacloud-core.gemspec
>index 5fc7c19..f6fc542 100644
>--- a/server/deltacloud-core.gemspec
>+++ b/server/deltacloud-core.gemspec
>@@ -58,19 +58,11 @@ Gem::Specification.new do |s|
> s.extra_rdoc_files = Dir["COPYING"]
> s.required_ruby_version = '>= 1.8.1'
>
>- # 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('rake', '>= 0.8.7')
>- s.add_dependency('eventmachine', '>= 0.12.10') if s.platform.to_s == 'ruby'
> s.add_dependency('haml', '>= 2.2.17')
> s.add_dependency('sinatra', '>= 0.9.4')
> s.add_dependency('rack', '>= 1.0.0')
> s.add_dependency('rack-accept', '~> 0.4.3')
>- s.add_dependency('thin', '>= 1.2.5') if s.platform.to_s == 'ruby'
>- s.add_dependency('rerun', '>= 0.5.2') if s.platform.to_s == 'ruby'
> s.add_dependency('json', '>= 1.1.9')
> s.add_development_dependency('compass', '>= 0.8.17')
> s.add_development_dependency('nokogiri', '>= 1.4.1')
>diff --git a/tests/mock/99_rake.feature b/tests/mock/99_rake.feature
>index 5d70b8a..d6b424a 100644
>--- a/tests/mock/99_rake.feature
>+++ b/tests/mock/99_rake.feature
>@@ -3,5 +3,5 @@ Feature: Running rake tasks
> Scenario: I want to build Deltacloud API gem
> Given I have a clean /pkg directory
> When I run a 'package' task
>- Then I should see a 2 gem file inside pkg directory
>+ Then I should see a 1 gem file inside pkg directory
> And I should see a 1 tgz file inside pkg directory
>--
>1.7.2.3
ACK.
-- MIchal
--
--------------------------------------------------------
Michal Fojtik, mfojtik@redhat.com
Deltacloud API: http://deltacloud.org
--------------------------------------------------------