Настройка граблей для запуска определенного сценария с огурцом - PullRequest
1 голос
/ 24 августа 2011

Я пытаюсь настроить задачу rake для запуска любого сценария огурца с определенным тегом (@server). У меня есть rakefile в корневом каталоге проекта с этим кодом:

require 'cucumber/rake/task'

desc "Get SQL response and store it in a file"
Cucumber::Rake::Task.new(:server, 'Execute SQL (@server only)') do |t|
    t.cucumber_opts = [ '--tags', '@server' ]
end

task :default => :server

С файлом cucumber.yml для профиля по умолчанию в корневом каталоге проекта

default: --profile server_cache
server_cache: --format pretty --tags @server

Я пытаюсь запустить "jruby -S rake" в командной строке, находясь в папке моего проекта, и получаю эту ошибку:

"'jruby.bat.exe' не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл"

Пытаюсь ли я выполнить задачу неправильно?

Я использую jruby 1.5.6, версия 1.8, на Windows XP.

Заранее спасибо за любую помощь!

1 Ответ

2 голосов
/ 25 августа 2011

Я бы опубликовал это в качестве комментария, но ваша проблема не имеет ничего общего с rake, и все, что связано с установкой gem

Мне интересно, вы используете RubyMine?У меня была эта проблема раньше, когда я устанавливал гемы для jruby с помощью установщика RubyMine.По какой-то причине он запускает командные файлы во время установки гемов.

Например, ваш файл rake.bat должен выглядеть примерно так:

@ECHO OFF
@"%~dp0jruby.exe" -S rake %*

Если это не так, этовозможно, он был обновлен вашим процессом установки gem.

Вы выполняете команду правильно, но что-то напало на rake.bat (или cucumber.bat, также проверьте его), чтобы включить выполнение 'jruby.bat.exe ', когда он должен просто вызвать jruby.exe. Для справки мой cucumber.bat выглядит так:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"jruby.exe" "C:/<path to jruby>/bin/cucumber" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"jruby.exe" "%~dpn0" %*
...