diff options
author | Luis Lavena <luislavena@gmail.com> | 2008-11-25 15:15:49 -0200 |
---|---|---|
committer | Luis Lavena <luislavena@gmail.com> | 2008-11-25 15:15:49 -0200 |
commit | 7509287b98c0aed61b7bedfa4adcc1a3302d5493 (patch) | |
tree | 5e7bc295c1714f4d661228c43edab9b8180c0e85 /features/step_definitions | |
parent | 58713f2b396435e1d48aa2e7fbd8b684feb0ef58 (diff) | |
download | rake-compiler-7509287b98c0aed61b7bedfa4adcc1a3302d5493.tar.gz |
Updated Features (forgot to commit)
Allowed packaging of gems with different platforms than CURRENT
opens the door for cross compilation.
Splitted some steps and some pending stuff from file generators.
TODO: move everything out of global namaspace!
Diffstat (limited to 'features/step_definitions')
-rw-r--r-- | features/step_definitions/compilation.rb | 5 | ||||
-rw-r--r-- | features/step_definitions/gem.rb | 28 |
2 files changed, 25 insertions, 8 deletions
diff --git a/features/step_definitions/compilation.rb b/features/step_definitions/compilation.rb index 3cc00fb..9d04688 100644 --- a/features/step_definitions/compilation.rb +++ b/features/step_definitions/compilation.rb @@ -3,6 +3,11 @@ Given /^a extension named '(.*)'$/ do |extension_name| generate_source_code_for extension_name end +Given /^a extension '(.*)' with forced platform '(.*)'$/ do |extension_name, forced_platform| + generate_extension_task_for extension_name, forced_platform + generate_source_code_for extension_name +end + Given /^not changed any file since$/ do # don't do anything, that's the purpose of this step! end diff --git a/features/step_definitions/gem.rb b/features/step_definitions/gem.rb index a8e2181..20644fb 100644 --- a/features/step_definitions/gem.rb +++ b/features/step_definitions/gem.rb @@ -2,12 +2,24 @@ Given /^a gem named '(.*)'$/ do |gem_name| generate_gem_task gem_name end -Then /^(ruby|binary) gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |type, gem_name, version, folder| - if type == 'ruby' then - gem_file = "#{folder}/#{gem_name}-#{version}.gem" - else - platform = Gem::Platform.local.to_s - gem_file = "#{folder}/#{gem_name}-#{version}-#{platform}.gem" - end - File.exist?(gem_file).should be_true +Then /^ruby gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |name, version, folder| + File.exist?(gem_file(folder, name, version)).should be_true +end + +Then /^binary gem for '(.*)' version '(.*)' do exist in '(.*)'$/ do |name, version, folder| + File.exist?(gem_file_platform(folder, name, version)).should be_true +end + +Then /^a gem for '(.*)' version '(.*)' platform '(.*)' do exist in '(.*)'$/ do |name, version, platform, folder| + File.exist?(gem_file_platform(folder, name, version, platform)).should be_true +end + +def gem_file(folder, name, version) + "#{folder}/#{name}-#{version}.gem" +end + +def gem_file_platform(folder, name, version, platform = nil) + file = "#{folder}/#{name}-#{version}" + file << "-" << (platform || Gem::Platform.local.to_s) + file << ".gem" end |