gherkin 2.2.0-java → 2.2.1-java

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  *.sw?
2
+ *.rbc
2
3
  .DS_Store
3
4
  coverage
4
5
  rdoc
@@ -6,4 +7,4 @@ pkg
6
7
  ext
7
8
  tmp
8
9
  release
9
- gherkin.gemspec
10
+ .bundle
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm @cucumber
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+ gemspec
3
+
4
+ gem 'cucumber', :path => '../cucumber'
@@ -0,0 +1,49 @@
1
+ PATH
2
+ remote: /Users/aslakhellesoy/scm/cucumber
3
+ specs:
4
+ cucumber (0.9.0)
5
+ builder (~> 2.1.2)
6
+ diff-lcs (~> 1.1.2)
7
+ json_pure (~> 1.4.6)
8
+ term-ansicolor (~> 1.0.5)
9
+
10
+ PATH
11
+ remote: .
12
+ specs:
13
+ gherkin (2.2.1)
14
+ trollop (~> 1.16.2)
15
+
16
+ GEM
17
+ remote: http://rubygems.org/
18
+ specs:
19
+ awesome_print (0.2.1)
20
+ builder (2.1.2)
21
+ diff-lcs (1.1.2)
22
+ json_pure (1.4.6)
23
+ rake (0.8.7)
24
+ rake-compiler (0.7.1)
25
+ rake (>= 0.8.3, < 0.9)
26
+ rspec (2.0.0.beta.20)
27
+ rspec-core (= 2.0.0.beta.20)
28
+ rspec-expectations (= 2.0.0.beta.20)
29
+ rspec-mocks (= 2.0.0.beta.20)
30
+ rspec-core (2.0.0.beta.20)
31
+ rspec-expectations (2.0.0.beta.20)
32
+ diff-lcs (>= 1.1.2)
33
+ rspec-mocks (2.0.0.beta.20)
34
+ term-ansicolor (1.0.5)
35
+ trollop (1.16.2)
36
+
37
+ PLATFORMS
38
+ java
39
+ ruby
40
+ x86-mingw32
41
+
42
+ DEPENDENCIES
43
+ awesome_print (~> 0.2.1)
44
+ cucumber!
45
+ gherkin!
46
+ rake (~> 0.8.7)
47
+ rake-compiler (~> 0.7.1)
48
+ rspec (~> 2.0.0.beta.20)
49
+ trollop (~> 1.16.2)
@@ -1,3 +1,11 @@
1
+ == 2.2.1
2
+
3
+ === New Features
4
+ * Windows gems are now built against 1.8.6-p287 and 1.9.1-p243, on both mswin32 and mingw32, and should work on 1.8.6, 1.8.7, 1.9.1 and 1.9.2 versions of rubyinstaller.org as well as older windows rubies. (Aslak Hellesøy)
5
+
6
+ === Changed features
7
+ * Build system no longer uses Jeweler - only Rake, Bundler and Rubygems (Aslak Hellesøy)
8
+
1
9
  == 2.2.0 (2010-07-26)
2
10
 
3
11
  This release breaks some APIs since the previous 2.1.5 release. If you install gherkin 2.2.0 you must also upgrade to
@@ -33,7 +33,7 @@ E.g. in Bash, export RL_LANG="en,fr,no". This can be quite helpful when modifyin
33
33
  ** ikvm/Gherkin/Gherkin.csproj
34
34
  * Make sure both JRuby and MRI has the latest Cucumber installed (from source) otherwise the jruby gem might not get the jar inside it.
35
35
  ** Install cucumber without gherkin dep: gem install --ignore-dependencies pkg/cucumber
36
- * rake release:ALL
36
+ * rake gems:prepare && ./build_native_gems.sh && rake release:ALL
37
37
  * Announce on Cucumber list, IRC and Twitter.
38
38
 
39
39
  == Configuring Rake-Compiler for cross compilation
@@ -41,7 +41,7 @@ In order to build Windows binaries (so we can release Windows gems from OS X/Lin
41
41
 
42
42
  http://github.com/luislavena/rake-compiler/
43
43
 
44
- I didn't want to install macports (I'm on homebrew) and I couldn't figure out how to build MinGW myself. I got prebuilt binaries:
44
+ I didn't want to install macports (I'm on homebrew) and I couldn't figure out how to build MinGW myself. I got prebuilt binaries (version 4.3.0):
45
45
  http://crossgcc.rts-software.org/doku.php - just add the bin folder to your PATH
46
46
 
47
47
  == Note on Patches/Pull Requests
data/Rakefile CHANGED
@@ -1,56 +1,13 @@
1
1
  # encoding: utf-8
2
- require 'rbconfig'
3
2
  require 'rubygems'
4
- require 'rake'
5
- require 'rake/clean'
6
- require 'yaml'
7
-
8
- config = YAML.load_file('VERSION.yml')
9
- GHERKIN_VERSION = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
3
+ require 'bundler'
4
+ Bundler.setup
5
+ Bundler::GemHelper.install_tasks
10
6
 
11
- begin
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- gem.name = "gherkin"
15
- gem.summary = %Q{Fast Gherkin lexer/parser}
16
- gem.description = %Q{A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.}
17
- gem.email = "cukes@googlegroups.com"
18
- gem.homepage = "http://github.com/aslakhellesoy/gherkin"
19
- gem.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
20
- gem.executables = ["gherkin"]
21
- gem.add_dependency "trollop", "~> 1.16.2"
22
- gem.add_development_dependency 'awesome_print', '~> 0.2.1'
23
- gem.add_development_dependency 'rspec', '~> 2.0.0.beta.17'
24
- gem.add_development_dependency "cucumber", "~> 0.9.0"
25
- gem.add_development_dependency "rake-compiler", "~> 0.7.0" unless defined?(JRUBY_VERSION)
7
+ require 'rake/clean'
26
8
 
27
- gem.files -= FileList['ikvm/**/*']
28
- gem.files -= FileList['java/**/*']
29
- case ENV['PLATFORM']
30
- when 'java'
31
- gem.platform = 'java'
32
- gem.files += FileList['lib/gherkin.jar']
33
- gem.extensions = []
34
- when 'i386-mswin32', 'i386-mingw32'
35
- gem.platform = ENV['PLATFORM']
36
- gem.files += FileList['lib/*/*.so']
37
- gem.extensions = []
38
- when 'universal-dotnet'
39
- gem.platform = ENV['PLATFORM']
40
- gem.files += FileList['lib/*.dll']
41
- gem.extensions = []
42
- else
43
- gem.files += FileList['lib/gherkin/rb_lexer/*.rb']
44
- gem.files += FileList['ext/**/*.c']
45
- gem.extensions = FileList['ext/**/extconf.rb']
46
- end
47
-
48
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
49
- end
50
- Jeweler::GemcutterTasks.new
51
- rescue LoadError
52
- warn "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
53
- end
9
+ $:.unshift(File.dirname(__FILE__) + '/lib')
10
+ require 'gherkin/version'
54
11
 
55
12
  Dir['tasks/**/*.rake'].each { |rake| load File.expand_path(rake) }
56
13
 
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 2.2.1
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ rm -Rf release
3
+ mkdir release
4
+ GEM_PLATFORM=java gem build gherkin.gemspec
5
+ GEM_PLATFORM=i386-mswin32 gem build gherkin.gemspec
6
+ GEM_PLATFORM=i386-mingw32 gem build gherkin.gemspec
7
+ GEM_PLATFORM=universal-dotnet gem build gherkin.gemspec
8
+ mv *.gem release
@@ -12,7 +12,7 @@ Given /^a JSON lexer$/ do
12
12
  end
13
13
 
14
14
  Given /^the following JSON is parsed:$/ do |text|
15
- @json_parser.parse(JSON.pretty_generate(JSON.parse(text)), "unknown.json")
15
+ @json_parser.parse(JSON.pretty_generate(JSON.parse(text)), "unknown.json", 0)
16
16
  end
17
17
 
18
18
  Then /^the outputted text should be:$/ do |expected_text|
@@ -23,7 +23,7 @@ module PrettyPlease
23
23
  result = StringIO.new
24
24
  pretty_formatter = Gherkin::Formatter::PrettyFormatter.new(result, false)
25
25
  json_parser = Gherkin::JSONParser.new(pretty_formatter)
26
- json_parser.parse(json.string, "#{feature_path}.json")
26
+ json_parser.parse(json.string, "#{feature_path}.json", 0)
27
27
 
28
28
  result.string
29
29
  end
@@ -1,3 +1,7 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
4
+
1
5
  # I'm sure there's a better way than this...
2
6
  %w{ /../../spec /../../lib}.each do |path|
3
7
  $LOAD_PATH << File.expand_path(File.dirname(__FILE__) + path)
@@ -0,0 +1,57 @@
1
+ # -*- encoding: utf-8 -*-
2
+ gherkin_dir = Dir.pwd =~ /gherkin\/tmp/ ? File.expand_path("../../../..", Dir.pwd) : File.expand_path("..", __FILE__)
3
+ $LOAD_PATH.unshift File.join(gherkin_dir, 'lib')
4
+ require "gherkin/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "gherkin"
8
+ s.version = Gherkin::VERSION
9
+ s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
10
+ s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
11
+ s.summary = "gherkin-#{Gherkin::VERSION}"
12
+ s.email = "cukes@googlegroups.com"
13
+ s.homepage = "http://github.com/aslakhellesoy/gherkin"
14
+
15
+ s.rubygems_version = "1.3.7"
16
+ s.default_executable = "gherkin"
17
+
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.extra_rdoc_files = ["LICENSE", "README.rdoc", "History.txt"]
22
+ s.rdoc_options = ["--charset=UTF-8"]
23
+ s.require_path = "lib"
24
+
25
+ s.files -= Dir['ikvm/**/*']
26
+ s.files -= Dir['java/**/*']
27
+ s.files -= Dir['ext/**/*']
28
+ s.files -= Dir['lib/gherkin.jar']
29
+ s.files -= Dir['lib/**/*.dll']
30
+ s.files -= Dir['lib/**/*.bundle']
31
+ s.files -= Dir['lib/**/*.so']
32
+
33
+ if ENV['GEM_PLATFORM']
34
+ puts "GEM_PLATFORM:#{ENV['GEM_PLATFORM']}"
35
+ puts "PLATFORM:#{PLATFORM}"
36
+ end
37
+ s.platform = ENV['GEM_PLATFORM'] if ENV['GEM_PLATFORM']
38
+ case s.platform.to_s
39
+ when /java/
40
+ s.files += ['lib/gherkin.jar']
41
+ when /mswin|mingw32/
42
+ s.files += Dir['lib/*/*.so']
43
+ when /dotnet/
44
+ s.files += Dir['lib/*.dll']
45
+ else # MRI or Rubinius
46
+ s.files += Dir['lib/gherkin/rb_lexer/*.rb']
47
+ s.files += Dir['ext/**/*.c']
48
+ s.extensions = Dir['ext/**/extconf.rb']
49
+ s.add_development_dependency('rake-compiler', '~> 0.7.1')
50
+ end
51
+
52
+ s.add_dependency('trollop', '~> 1.16.2')
53
+ s.add_development_dependency('rake', '~> 0.8.7')
54
+ s.add_development_dependency('awesome_print', '~> 0.2.1')
55
+ s.add_development_dependency('rspec', '~> 2.0.0.beta.20')
56
+ s.add_development_dependency('cucumber', '~> 0.9.0') unless File.directory?(File.join(gherkin_dir, '../cucumber'))
57
+ end
@@ -20,10 +20,10 @@ module Gherkin
20
20
  end
21
21
 
22
22
  class BasicStatement < Hashable
23
- attr_reader :comments, :keyword, :name, :description, :line
23
+ attr_reader :comments, :keyword, :name, :line
24
24
 
25
- def initialize(comments, keyword, name, description, line)
26
- @comments, @keyword, @name, @description, @line = comments, keyword, name, description, line
25
+ def initialize(comments, keyword, name, line)
26
+ @comments, @keyword, @name, @line = comments, keyword, name, line
27
27
  end
28
28
 
29
29
  def line_range
@@ -36,7 +36,16 @@ module Gherkin
36
36
  end
37
37
  end
38
38
 
39
- class TagStatement < BasicStatement
39
+ class DescribedStatement < BasicStatement
40
+ attr_reader :description
41
+
42
+ def initialize(comments, keyword, name, description, line)
43
+ super(comments, keyword, name, line)
44
+ @description = description
45
+ end
46
+ end
47
+
48
+ class TagStatement < DescribedStatement
40
49
  attr_reader :tags
41
50
 
42
51
  def initialize(comments, tags, keyword, name, description, line)
@@ -61,7 +70,7 @@ module Gherkin
61
70
  end
62
71
  end
63
72
 
64
- class Background < BasicStatement
73
+ class Background < DescribedStatement
65
74
  native_impl('gherkin')
66
75
 
67
76
  def initialize(comments, keyword, name, description, line)
@@ -120,8 +129,8 @@ module Gherkin
120
129
 
121
130
  attr_accessor :multiline_arg, :result
122
131
 
123
- def initialize(comments, keyword, name, description, line, multiline_arg=nil, result=nil)
124
- super(comments, keyword, name, nil, line)
132
+ def initialize(comments, keyword, name, line, multiline_arg=nil, result=nil)
133
+ super(comments, keyword, name, line)
125
134
  @multiline_arg = multiline_arg
126
135
  @result = result
127
136
  end
@@ -48,7 +48,7 @@ module Gherkin
48
48
  multiline_arg = Formatter::Model::PyString.new(ma['value'], ma['line'])
49
49
  end
50
50
  end
51
- Formatter::Model::Step.new(comments(o), keyword(o), name(o), nil, line(o), multiline_arg)
51
+ Formatter::Model::Step.new(comments(o), keyword(o), name(o), line(o), multiline_arg)
52
52
  end
53
53
 
54
54
  def rows(o)
@@ -49,7 +49,7 @@ module Gherkin
49
49
 
50
50
  def step(keyword, name, line)
51
51
  replay_step_or_examples
52
- @step_statement = Formatter::Model::Step.new(grab_comments!, keyword, name, nil, line)
52
+ @step_statement = Formatter::Model::Step.new(grab_comments!, keyword, name, line)
53
53
  end
54
54
 
55
55
  def row(cells, line)
@@ -20,7 +20,7 @@ module Gherkin
20
20
  Dir[*globs].uniq.sort.each(&proc)
21
21
  end
22
22
 
23
- def scan(file, formatter)
23
+ def parse(file, formatter)
24
24
  parser = Gherkin::Parser::Parser.new(formatter, true, "root")
25
25
  begin
26
26
  parser.parse(IO.read(file), file, 0)
@@ -10,8 +10,7 @@ module Gherkin
10
10
  each do |file|
11
11
  io = defined?(JRUBY_VERSION) ? Java.java.io.StringWriter.new : StringIO.new
12
12
  formatter = Formatter::PrettyFormatter.new(io, true)
13
- listener = Listener::FormatterListener.new(formatter)
14
- scan(file, listener)
13
+ parse(file, formatter)
15
14
  string = defined?(JRUBY_VERSION) ? io.getBuffer.toString : io.string
16
15
  File.open(file, 'w') {|io| io.write(string)}
17
16
  end
@@ -0,0 +1,3 @@
1
+ module Gherkin
2
+ VERSION = IO.read(File.dirname(__FILE__) + '/../../VERSION').strip
3
+ end
@@ -42,8 +42,8 @@ module Gherkin
42
42
  ['When ', 'foo']
43
43
  ])
44
44
  @l.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
45
- @l.step(Model::Step.new([], "Given ", "some stuff", "", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
46
- @l.step(Model::Step.new([], "When ", "foo", "", 6, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:96")))
45
+ @l.step(Model::Step.new([], "Given ", "some stuff", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
46
+ @l.step(Model::Step.new([], "When ", "foo", 6, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:96")))
47
47
 
48
48
  assert_io(%{Feature: Hello
49
49
  World
@@ -61,7 +61,7 @@ module Gherkin
61
61
  ['Given ', 'some stuff that is longer']
62
62
  ])
63
63
  @l.scenario(Model::Scenario.new([], [], "Scenario", "The scenario", "", 4))
64
- @l.step(Model::Step.new([], "Given ", "some stuff that is longer", "", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
64
+ @l.step(Model::Step.new([], "Given ", "some stuff that is longer", 5, nil, result('passed', nil, nil, "features/step_definitions/bar.rb:56")))
65
65
 
66
66
  assert_io(%{Feature: Hello
67
67
  World
@@ -72,7 +72,7 @@ module Gherkin
72
72
  end
73
73
 
74
74
  it "should highlight arguments for regular steps" do
75
- step = Model::Step.new([], "Given ", "I have 999 cukes in my belly", "", 3, nil, result('passed', nil, [Gherkin::Formatter::Argument.new(7, '999')], nil))
75
+ step = Model::Step.new([], "Given ", "I have 999 cukes in my belly", 3, nil, result('passed', nil, [Gherkin::Formatter::Argument.new(7, '999')], nil))
76
76
  @l.step(step)
77
77
  assert_io(" Given I have 999 cukes in my belly\n")
78
78
  end
@@ -11,7 +11,7 @@ module Gherkin
11
11
  io = StringIO.new
12
12
  f = Formatter::JSONFormatter.new(io)
13
13
  p = JSONParser.new(f)
14
- p.parse(json, 'unknown.json')
14
+ p.parse(json, 'unknown.json', 0)
15
15
  expected = JSON.parse(json)
16
16
  actual = JSON.parse(io.string)
17
17
 
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  describe "Comments" do
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer lexing py_strings" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  def ps(content)
@@ -5,7 +5,7 @@ module Gherkin
5
5
  module Lexer
6
6
  shared_examples_for "a Gherkin lexer lexing tags" do
7
7
  def scan(gherkin)
8
- @lexer.scan(gherkin, "test.feature", 0)
8
+ @lexer.scan(gherkin)
9
9
  end
10
10
 
11
11
  it "should lex a single tag" do
@@ -1,4 +1,7 @@
1
1
  require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup
4
+
2
5
  require 'rspec/autorun'
3
6
  require 'gherkin'
4
7
  require 'stringio'
@@ -4,7 +4,7 @@ require 'gherkin/i18n'
4
4
 
5
5
  CLEAN.include [
6
6
  'pkg', 'tmp',
7
- '**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log}', 'ext',
7
+ '**/*.{o,bundle,jar,so,obj,pdb,lib,def,exp,log,rbc}', 'ext',
8
8
  'java/target',
9
9
  'ragel/i18n/*.rl',
10
10
  'lib/gherkin/rb_lexer/*.rb',
@@ -4,7 +4,6 @@ require 'cucumber/rake/task'
4
4
  Cucumber::Rake::Task.new(:cucumber) do |t|
5
5
  t.cucumber_opts = "--profile default"
6
6
  end
7
- task :cucumber => [:check_dependencies]
8
7
 
9
8
  namespace :cucumber do
10
9
  Cucumber::Rake::Task.new(:rcov, "Run Cucumber using RCov") do |t|
@@ -16,7 +15,7 @@ namespace :cucumber do
16
15
  Cucumber::Rake::Task.new(:native_lexer, "Run Native lexer Cucumber features") do |t|
17
16
  t.cucumber_opts = "--profile native_lexer"
18
17
  end
19
- task :native_lexer => [:check_dependencies, :clean, :compile]
18
+ task :native_lexer => [:clean, :compile]
20
19
  end
21
20
 
22
21
  rescue LoadError
@@ -1,46 +1,42 @@
1
1
  namespace :gems do
2
- desc "Build MRI/C POSIX gem"
3
- task :posix => :release_dir do
4
- sh "rake clean spec"
5
- sh "rake gemspec build"
6
- mv "pkg/gherkin-#{GHERKIN_VERSION}.gem", 'release'
7
- end
2
+ task :win do
3
+ unless File.directory?(File.expand_path('~/.rake-compiler'))
4
+ STDERR.puts <<-EOM
5
+
6
+ You must install Windows rubies to ~/.rake-compiler with:
8
7
 
9
- [:mswin32, :mingw32].each do |win_compiler|
10
- desc "Build MRI/C precompiled #{win_compiler} gem"
11
- task win_compiler do
12
- # Bootstrap with:
13
- #
14
- # rake-compiler cross-ruby VERSION=1.9.1-p243
15
- # rake-compiler cross-ruby VERSION=1.8.6-p114
16
- #
17
- sh "rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1"
18
- sh "rake gemspec build PLATFORM=i386-#{win_compiler}"
19
- mv "pkg/gherkin-#{GHERKIN_VERSION}-x86-#{win_compiler}.gem", 'release'
8
+ rake-compiler cross-ruby VERSION=1.8.6-p287
9
+ # (Later 1.9.1 patch levels don't compile on mingw)
10
+ rake-compiler cross-ruby VERSION=1.9.1-p243
11
+ EOM
12
+ exit(1)
20
13
  end
14
+ # rvm and mingw ruby versions have to match to avoid errors
15
+ sh "rvm 1.8.6@cucumber rake cross compile RUBY_CC_VERSION=1.8.6"
16
+ sh "rvm 1.9.1@cucumber rake cross compile RUBY_CC_VERSION=1.9.1"
17
+ # This will copy the .so files to the proper place
18
+ sh "rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1"
21
19
  end
22
20
 
23
- desc 'Build JRuby gem'
24
- task :jruby => :release_dir do
25
- sh "rvm jruby rake spec"
26
- sh "rvm jruby rake gemspec build PLATFORM=java"
27
- raise "The jruby gem looks too small" if File.stat("pkg/gherkin-#{GHERKIN_VERSION}-java.gem").size < 1000000
28
- mv "pkg/gherkin-#{GHERKIN_VERSION}-java.gem", 'release'
21
+ desc 'Prepare JRuby binares'
22
+ task :jruby => [:jar] do
23
+ sh "rvm jruby@cucumber -S rspec spec"
29
24
  end
30
25
 
31
- desc 'Build IronRuby gem'
32
- task :ironruby => [:jruby, 'ikvm:dll', 'ikvm:copy_ikvm_dlls'] do
33
- sh "rake gemspec build PLATFORM=universal-dotnet"
34
- mv "pkg/gherkin-#{GHERKIN_VERSION}-universal-dotnet.gem", 'release'
35
- end
26
+ desc 'Prepare IronRuby binaries'
27
+ task :ironruby => [:jruby, 'ikvm:dll', 'ikvm:copy_ikvm_dlls']
36
28
 
37
- task :release_dir do
38
- mkdir 'release' unless File.directory?('release')
29
+ task :sanity do
30
+ raise "The jruby gem looks too small" if File.stat("release/gherkin-#{Gherkin::VERSION}-java.gem").size < 1000000
39
31
  end
40
32
 
41
- task :clean_release_dir do
42
- rm_rf 'release' if File.directory?('release')
43
- end
44
- end
33
+ desc "Prepare binaries for all gems"
34
+ task :prepare => [
35
+ :clean,
36
+ :spec,
37
+ :win,
38
+ :jruby,
39
+ :ironruby
40
+ ]
45
41
 
46
- task :gems => ['gems:clean_release_dir', 'gems:posix', 'gems:mswin32', 'gems:mingw32', 'gems:jruby', 'gems:ironruby']
42
+ end
@@ -20,18 +20,21 @@ require File.dirname(__FILE__) + '/../spec/gherkin/json'
20
20
  # [mono] mono ikvm/Gherkin/bin/Debug/Gherkin.exe features/steps_parser.feature
21
21
  #
22
22
  namespace :ikvm do
23
- desc 'Make a .NET .exe'
24
- task :exe => 'lib/gherkin.jar' do
23
+ task :dependent_dlls do
25
24
  mkdir_p 'release' unless File.directory?('release')
26
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:exe lib/gherkin.jar -out:release/gherkin-#{GHERKIN_VERSION}.exe")
25
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library #{JSON_SIMPLE_JAR} -out:release/json-simple.dll")
26
+ end
27
+
28
+ desc 'Make a .NET .exe'
29
+ task :exe => ['lib/gherkin.jar', :dependent_dlls] do
30
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:exe lib/gherkin.jar -out:release/gherkin-#{Gherkin::VERSION}.exe -reference:release/json-simple.dll")
27
31
  end
28
32
 
29
33
  desc 'Make a .NET .dll'
30
- task :dll => 'lib/gherkin.jar' do
34
+ task :dll => ['lib/gherkin.jar', :dependent_dlls] do
31
35
  mkdir_p 'release' unless File.directory?('release')
32
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library #{JSON_SIMPLE_JAR} -out:release/json-simple.dll")
33
- sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library lib/gherkin.jar -out:release/gherkin-#{GHERKIN_VERSION}.dll -reference:release/json-simple.dll")
34
- cp "release/gherkin-#{GHERKIN_VERSION}.dll", 'lib/gherkin.dll'
36
+ sh("mono /usr/local/ikvm/bin/ikvmc.exe -target:library lib/gherkin.jar -out:release/gherkin-#{Gherkin::VERSION}.dll -reference:release/json-simple.dll")
37
+ cp "release/gherkin-#{Gherkin::VERSION}.dll", 'lib/gherkin.dll'
35
38
  end
36
39
 
37
40
  desc 'Copy the IKVM .dll files over to the pkg dir'
@@ -44,6 +47,8 @@ namespace :ikvm do
44
47
  end
45
48
 
46
49
  task :ikvm => ['ikvm:copy_ikvm_dlls', 'ikvm:exe', 'ikvm:dll'] do
47
- sh "mono release/gherkin-#{GHERKIN_VERSION}.exe features"
50
+ puts "************** Pretty printing some features with .NET. **************"
51
+ sh "mono release/gherkin-#{Gherkin::VERSION}.exe features"
52
+ puts "************** DONE Pretty printing some features with .NET. All OK. **************"
48
53
  end
49
54
 
@@ -1,11 +1,8 @@
1
1
  require 'rake/rdoctask'
2
2
 
3
3
  Rake::RDocTask.new do |rdoc|
4
- config = YAML.load_file('VERSION.yml')
5
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
6
-
7
4
  rdoc.rdoc_dir = 'rdoc'
8
- rdoc.title = "Gherkin #{version}"
5
+ rdoc.title = "Gherkin #{Gherkin::VERSION}"
9
6
  rdoc.rdoc_files.include('README.rdoc')
10
7
  rdoc.rdoc_files.include('lib/**/*.rb')
11
8
  rdoc.rdoc_files.exclude('lib/gherkin/lexer')
@@ -1,9 +1,9 @@
1
1
  namespace :release do
2
- desc 'Uplad all packages and tag git'
3
- task :ALL => [:gems, :push_dll, :push_jar, :push_gems, 'git:release']
2
+ desc 'Upload all packages and tag git'
3
+ task :ALL => ['gems:sanity', :push_dll, :push_jar, :push_native_gems, :release]
4
4
 
5
5
  desc 'Push all gems to rubygems.org (gemcutter)'
6
- task :push_gems do
6
+ task :push_native_gems do
7
7
  Dir.chdir('release') do
8
8
  Dir['*.gem'].each do |gem_file|
9
9
  sh("gem push #{gem_file}")
@@ -14,18 +14,10 @@ namespace :release do
14
14
  desc 'Push dll to Github'
15
15
  task :push_dll => :ikvm do
16
16
  Dir.chdir('release') do
17
- # This requires aslakhellesoy's build of the github gem,
18
- # which has tekkub's upload command.
19
- begin
20
- sh("github upload gherkin-#{GHERKIN_VERSION}.dll")
21
- rescue => e
22
- # For some reason we're getting an error even if the upload is successful. Verify that here...
23
- head = `curl -I -X HEAD http://github.com/downloads/aslakhellesoy/gherkin/gherkin-#{GHERKIN_VERSION}.dll`
24
- if !(head =~ /302 Found/in)
25
- e.message << "\n\nUpload of gherkin-#{GHERKIN_VERSION}.dll failed:\n\n#{head}"
26
- raise e
27
- end
28
- end
17
+ # No known way to do scripted uploads. github/upload or aslakhellesoy's fork of github-gem no longer work
18
+ puts "Manually upload gherkin-#{Gherkin::VERSION}.dll to http://github.com/aslakhellesoy/gherkin/downloads"
19
+ puts "Then press enter"
20
+ STDIN.gets
29
21
  end
30
22
  end
31
23
 
@@ -1,7 +1,6 @@
1
1
  require 'rspec/core/rake_task'
2
2
 
3
3
  RSpec::Core::RakeTask.new(:spec)
4
- task :spec => [:check_dependencies]
5
4
 
6
5
  RSpec::Core::RakeTask.new(:rcov) do |t|
7
6
  t.rcov = true
metadata CHANGED
@@ -1,270 +1,321 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 5
4
5
  prerelease: false
5
6
  segments:
6
- - 2
7
- - 2
8
- - 0
9
- version: 2.2.0
7
+ - 2
8
+ - 2
9
+ - 1
10
+ version: 2.2.1
10
11
  platform: java
11
12
  authors:
12
- - Mike Sassak
13
- - Gregory Hnatiuk
14
- - "Aslak Helles\xC3\xB8y"
13
+ - Mike Sassak
14
+ - Gregory Hnatiuk
15
+ - "Aslak Helles\xC3\xB8y"
15
16
  autorequire:
16
17
  bindir: bin
17
18
  cert_chain: []
18
19
 
19
- date: 2010-07-26 00:00:00 +02:00
20
+ date: 2010-09-13 00:00:00 +02:00
20
21
  default_executable: gherkin
21
22
  dependencies:
22
- - !ruby/object:Gem::Dependency
23
- name: trollop
24
- prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- segments:
30
- - 1
31
- - 16
32
- - 2
33
- version: 1.16.2
34
- type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: awesome_print
38
- prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- - 2
46
- - 1
47
- version: 0.2.1
48
- type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rspec
52
- prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- requirements:
55
- - - ~>
56
- - !ruby/object:Gem::Version
57
- segments:
58
- - 2
59
- - 0
60
- - 0
61
- - beta
62
- - 17
63
- version: 2.0.0.beta.17
64
- type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: cucumber
68
- prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
70
- requirements:
71
- - - ~>
72
- - !ruby/object:Gem::Version
73
- segments:
74
- - 0
75
- - 9
76
- - 0
77
- version: 0.9.0
78
- type: :development
79
- version_requirements: *id004
23
+ - !ruby/object:Gem::Dependency
24
+ name: trollop
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ hash: 83
32
+ segments:
33
+ - 1
34
+ - 16
35
+ - 2
36
+ version: 1.16.2
37
+ type: :runtime
38
+ version_requirements: *id001
39
+ - !ruby/object:Gem::Dependency
40
+ name: rake
41
+ prerelease: false
42
+ requirement: &id002 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ hash: 49
48
+ segments:
49
+ - 0
50
+ - 8
51
+ - 7
52
+ version: 0.8.7
53
+ type: :development
54
+ version_requirements: *id002
55
+ - !ruby/object:Gem::Dependency
56
+ name: awesome_print
57
+ prerelease: false
58
+ requirement: &id003 !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ hash: 21
64
+ segments:
65
+ - 0
66
+ - 2
67
+ - 1
68
+ version: 0.2.1
69
+ type: :development
70
+ version_requirements: *id003
71
+ - !ruby/object:Gem::Dependency
72
+ name: rspec
73
+ prerelease: false
74
+ requirement: &id004 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ hash: 62196427
80
+ segments:
81
+ - 2
82
+ - 0
83
+ - 0
84
+ - beta
85
+ - 20
86
+ version: 2.0.0.beta.20
87
+ type: :development
88
+ version_requirements: *id004
80
89
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
81
90
  email: cukes@googlegroups.com
82
91
  executables:
83
- - gherkin
92
+ - gherkin
84
93
  extensions: []
85
94
 
86
95
  extra_rdoc_files:
87
- - LICENSE
88
- - README.rdoc
96
+ - LICENSE
97
+ - README.rdoc
98
+ - History.txt
89
99
  files:
90
- - .gitattributes
91
- - .gitignore
92
- - .mailmap
93
- - .rspec
94
- - History.txt
95
- - LICENSE
96
- - README.rdoc
97
- - Rakefile
98
- - VERSION.yml
99
- - bin/gherkin
100
- - cucumber.yml
101
- - features/escaped_pipes.feature
102
- - features/feature_parser.feature
103
- - features/json_formatter.feature
104
- - features/json_parser.feature
105
- - features/native_lexer.feature
106
- - features/parser_with_native_lexer.feature
107
- - features/pretty_formatter.feature
108
- - features/step_definitions/eyeball_steps.rb
109
- - features/step_definitions/gherkin_steps.rb
110
- - features/step_definitions/json_formatter_steps.rb
111
- - features/step_definitions/json_lexer_steps.rb
112
- - features/step_definitions/pretty_formatter_steps.rb
113
- - features/steps_parser.feature
114
- - features/support/env.rb
115
- - ikvm/.gitignore
116
- - java/.gitignore
117
- - java/src/main/java/gherkin/lexer/i18n/.gitignore
118
- - java/src/main/resources/gherkin/.gitignore
119
- - json-simple-1.1.dll
120
- - lib/.gitignore
121
- - lib/gherkin.jar
122
- - lib/gherkin.rb
123
- - lib/gherkin/c_lexer.rb
124
- - lib/gherkin/cli/main.rb
125
- - lib/gherkin/formatter/argument.rb
126
- - lib/gherkin/formatter/colors.rb
127
- - lib/gherkin/formatter/escaping.rb
128
- - lib/gherkin/formatter/filter_formatter.rb
129
- - lib/gherkin/formatter/json_formatter.rb
130
- - lib/gherkin/formatter/line_filter.rb
131
- - lib/gherkin/formatter/model.rb
132
- - lib/gherkin/formatter/monochrome_format.rb
133
- - lib/gherkin/formatter/pretty_formatter.rb
134
- - lib/gherkin/formatter/regexp_filter.rb
135
- - lib/gherkin/formatter/tag_count_formatter.rb
136
- - lib/gherkin/formatter/tag_filter.rb
137
- - lib/gherkin/i18n.rb
138
- - lib/gherkin/i18n.yml
139
- - lib/gherkin/json_parser.rb
140
- - lib/gherkin/lexer/i18n_lexer.rb
141
- - lib/gherkin/listener/event.rb
142
- - lib/gherkin/listener/formatter_listener.rb
143
- - lib/gherkin/native.rb
144
- - lib/gherkin/native/ikvm.rb
145
- - lib/gherkin/native/java.rb
146
- - lib/gherkin/native/null.rb
147
- - lib/gherkin/parser/meta.txt
148
- - lib/gherkin/parser/parser.rb
149
- - lib/gherkin/parser/root.txt
150
- - lib/gherkin/parser/steps.txt
151
- - lib/gherkin/rb_lexer.rb
152
- - lib/gherkin/rb_lexer/.gitignore
153
- - lib/gherkin/rb_lexer/README.rdoc
154
- - lib/gherkin/rubify.rb
155
- - lib/gherkin/tag_expression.rb
156
- - lib/gherkin/tools.rb
157
- - lib/gherkin/tools/files.rb
158
- - lib/gherkin/tools/reformat.rb
159
- - lib/gherkin/tools/stats.rb
160
- - lib/gherkin/tools/stats_listener.rb
161
- - ragel/i18n/.gitignore
162
- - ragel/lexer.c.rl.erb
163
- - ragel/lexer.java.rl.erb
164
- - ragel/lexer.rb.rl.erb
165
- - ragel/lexer_common.rl.erb
166
- - spec/gherkin/c_lexer_spec.rb
167
- - spec/gherkin/fixtures/1.feature
168
- - spec/gherkin/fixtures/comments_in_table.feature
169
- - spec/gherkin/fixtures/complex.feature
170
- - spec/gherkin/fixtures/complex.json
171
- - spec/gherkin/fixtures/complex_for_filtering.feature
172
- - spec/gherkin/fixtures/complex_with_tags.feature
173
- - spec/gherkin/fixtures/dos_line_endings.feature
174
- - spec/gherkin/fixtures/hantu_pisang.feature
175
- - spec/gherkin/fixtures/i18n_fr.feature
176
- - spec/gherkin/fixtures/i18n_no.feature
177
- - spec/gherkin/fixtures/i18n_zh-CN.feature
178
- - spec/gherkin/fixtures/scenario_outline_with_tags.feature
179
- - spec/gherkin/fixtures/scenario_without_steps.feature
180
- - spec/gherkin/fixtures/simple_with_comments.feature
181
- - spec/gherkin/fixtures/simple_with_tags.feature
182
- - spec/gherkin/fixtures/with_bom.feature
183
- - spec/gherkin/formatter/argument_spec.rb
184
- - spec/gherkin/formatter/colors_spec.rb
185
- - spec/gherkin/formatter/filter_formatter_spec.rb
186
- - spec/gherkin/formatter/model_spec.rb
187
- - spec/gherkin/formatter/pretty_formatter_spec.rb
188
- - spec/gherkin/formatter/spaces.feature
189
- - spec/gherkin/formatter/tabs.feature
190
- - spec/gherkin/formatter/tag_count_formatter_spec.rb
191
- - spec/gherkin/i18n_spec.rb
192
- - spec/gherkin/java_lexer_spec.rb
193
- - spec/gherkin/json.rb
194
- - spec/gherkin/json_parser_spec.rb
195
- - spec/gherkin/lexer/i18n_lexer_spec.rb
196
- - spec/gherkin/output_stream_string_io.rb
197
- - spec/gherkin/parser/parser_spec.rb
198
- - spec/gherkin/rb_lexer_spec.rb
199
- - spec/gherkin/sexp_recorder.rb
200
- - spec/gherkin/shared/lexer_group.rb
201
- - spec/gherkin/shared/py_string_group.rb
202
- - spec/gherkin/shared/row_group.rb
203
- - spec/gherkin/shared/tags_group.rb
204
- - spec/gherkin/tag_expression_spec.rb
205
- - spec/spec_helper.rb
206
- - tasks/bench.rake
207
- - tasks/bench/feature_builder.rb
208
- - tasks/bench/generated/.gitignore
209
- - tasks/bench/null_listener.rb
210
- - tasks/compile.rake
211
- - tasks/cucumber.rake
212
- - tasks/gems.rake
213
- - tasks/ikvm.rake
214
- - tasks/ragel_task.rb
215
- - tasks/rdoc.rake
216
- - tasks/release.rake
217
- - tasks/rspec.rake
100
+ - .gitattributes
101
+ - .gitignore
102
+ - .mailmap
103
+ - .rspec
104
+ - .rvmrc
105
+ - Gemfile
106
+ - Gemfile.lock
107
+ - History.txt
108
+ - LICENSE
109
+ - README.rdoc
110
+ - Rakefile
111
+ - VERSION
112
+ - bin/gherkin
113
+ - build_native_gems.sh
114
+ - cucumber.yml
115
+ - features/escaped_pipes.feature
116
+ - features/feature_parser.feature
117
+ - features/json_formatter.feature
118
+ - features/json_parser.feature
119
+ - features/native_lexer.feature
120
+ - features/parser_with_native_lexer.feature
121
+ - features/pretty_formatter.feature
122
+ - features/step_definitions/eyeball_steps.rb
123
+ - features/step_definitions/gherkin_steps.rb
124
+ - features/step_definitions/json_formatter_steps.rb
125
+ - features/step_definitions/json_parser_steps.rb
126
+ - features/step_definitions/pretty_formatter_steps.rb
127
+ - features/steps_parser.feature
128
+ - features/support/env.rb
129
+ - gherkin.gemspec
130
+ - ikvm/.gitignore
131
+ - java/.gitignore
132
+ - java/src/main/java/gherkin/lexer/i18n/.gitignore
133
+ - java/src/main/resources/gherkin/.gitignore
134
+ - lib/.gitignore
135
+ - lib/gherkin.rb
136
+ - lib/gherkin/c_lexer.rb
137
+ - lib/gherkin/cli/main.rb
138
+ - lib/gherkin/formatter/argument.rb
139
+ - lib/gherkin/formatter/colors.rb
140
+ - lib/gherkin/formatter/escaping.rb
141
+ - lib/gherkin/formatter/filter_formatter.rb
142
+ - lib/gherkin/formatter/json_formatter.rb
143
+ - lib/gherkin/formatter/line_filter.rb
144
+ - lib/gherkin/formatter/model.rb
145
+ - lib/gherkin/formatter/monochrome_format.rb
146
+ - lib/gherkin/formatter/pretty_formatter.rb
147
+ - lib/gherkin/formatter/regexp_filter.rb
148
+ - lib/gherkin/formatter/tag_count_formatter.rb
149
+ - lib/gherkin/formatter/tag_filter.rb
150
+ - lib/gherkin/i18n.rb
151
+ - lib/gherkin/i18n.yml
152
+ - lib/gherkin/json_parser.rb
153
+ - lib/gherkin/lexer/i18n_lexer.rb
154
+ - lib/gherkin/listener/event.rb
155
+ - lib/gherkin/listener/formatter_listener.rb
156
+ - lib/gherkin/native.rb
157
+ - lib/gherkin/native/ikvm.rb
158
+ - lib/gherkin/native/java.rb
159
+ - lib/gherkin/native/null.rb
160
+ - lib/gherkin/parser/meta.txt
161
+ - lib/gherkin/parser/parser.rb
162
+ - lib/gherkin/parser/root.txt
163
+ - lib/gherkin/parser/steps.txt
164
+ - lib/gherkin/rb_lexer.rb
165
+ - lib/gherkin/rb_lexer/.gitignore
166
+ - lib/gherkin/rb_lexer/README.rdoc
167
+ - lib/gherkin/rubify.rb
168
+ - lib/gherkin/tag_expression.rb
169
+ - lib/gherkin/tools.rb
170
+ - lib/gherkin/tools/files.rb
171
+ - lib/gherkin/tools/reformat.rb
172
+ - lib/gherkin/tools/stats.rb
173
+ - lib/gherkin/tools/stats_listener.rb
174
+ - lib/gherkin/version.rb
175
+ - ragel/i18n/.gitignore
176
+ - ragel/lexer.c.rl.erb
177
+ - ragel/lexer.java.rl.erb
178
+ - ragel/lexer.rb.rl.erb
179
+ - ragel/lexer_common.rl.erb
180
+ - spec/gherkin/c_lexer_spec.rb
181
+ - spec/gherkin/fixtures/1.feature
182
+ - spec/gherkin/fixtures/comments_in_table.feature
183
+ - spec/gherkin/fixtures/complex.feature
184
+ - spec/gherkin/fixtures/complex.json
185
+ - spec/gherkin/fixtures/complex_for_filtering.feature
186
+ - spec/gherkin/fixtures/complex_with_tags.feature
187
+ - spec/gherkin/fixtures/dos_line_endings.feature
188
+ - spec/gherkin/fixtures/hantu_pisang.feature
189
+ - spec/gherkin/fixtures/i18n_fr.feature
190
+ - spec/gherkin/fixtures/i18n_no.feature
191
+ - spec/gherkin/fixtures/i18n_zh-CN.feature
192
+ - spec/gherkin/fixtures/scenario_outline_with_tags.feature
193
+ - spec/gherkin/fixtures/scenario_without_steps.feature
194
+ - spec/gherkin/fixtures/simple_with_comments.feature
195
+ - spec/gherkin/fixtures/simple_with_tags.feature
196
+ - spec/gherkin/fixtures/with_bom.feature
197
+ - spec/gherkin/formatter/argument_spec.rb
198
+ - spec/gherkin/formatter/colors_spec.rb
199
+ - spec/gherkin/formatter/filter_formatter_spec.rb
200
+ - spec/gherkin/formatter/model_spec.rb
201
+ - spec/gherkin/formatter/pretty_formatter_spec.rb
202
+ - spec/gherkin/formatter/spaces.feature
203
+ - spec/gherkin/formatter/tabs.feature
204
+ - spec/gherkin/formatter/tag_count_formatter_spec.rb
205
+ - spec/gherkin/i18n_spec.rb
206
+ - spec/gherkin/java_lexer_spec.rb
207
+ - spec/gherkin/json.rb
208
+ - spec/gherkin/json_parser_spec.rb
209
+ - spec/gherkin/lexer/i18n_lexer_spec.rb
210
+ - spec/gherkin/output_stream_string_io.rb
211
+ - spec/gherkin/parser/parser_spec.rb
212
+ - spec/gherkin/rb_lexer_spec.rb
213
+ - spec/gherkin/sexp_recorder.rb
214
+ - spec/gherkin/shared/lexer_group.rb
215
+ - spec/gherkin/shared/py_string_group.rb
216
+ - spec/gherkin/shared/row_group.rb
217
+ - spec/gherkin/shared/tags_group.rb
218
+ - spec/gherkin/tag_expression_spec.rb
219
+ - spec/spec_helper.rb
220
+ - tasks/bench.rake
221
+ - tasks/bench/feature_builder.rb
222
+ - tasks/bench/generated/.gitignore
223
+ - tasks/bench/null_listener.rb
224
+ - tasks/compile.rake
225
+ - tasks/cucumber.rake
226
+ - tasks/gems.rake
227
+ - tasks/ikvm.rake
228
+ - tasks/ragel_task.rb
229
+ - tasks/rdoc.rake
230
+ - tasks/release.rake
231
+ - tasks/rspec.rake
232
+ - lib/gherkin.jar
218
233
  has_rdoc: true
219
234
  homepage: http://github.com/aslakhellesoy/gherkin
220
235
  licenses: []
221
236
 
222
237
  post_install_message:
223
238
  rdoc_options:
224
- - --charset=UTF-8
239
+ - --charset=UTF-8
225
240
  require_paths:
226
- - lib
241
+ - lib
227
242
  required_ruby_version: !ruby/object:Gem::Requirement
243
+ none: false
228
244
  requirements:
229
- - - ">="
230
- - !ruby/object:Gem::Version
231
- segments:
232
- - 0
233
- version: "0"
245
+ - - ">="
246
+ - !ruby/object:Gem::Version
247
+ hash: 3
248
+ segments:
249
+ - 0
250
+ version: "0"
234
251
  required_rubygems_version: !ruby/object:Gem::Requirement
252
+ none: false
235
253
  requirements:
236
- - - ">="
237
- - !ruby/object:Gem::Version
238
- segments:
239
- - 0
240
- version: "0"
254
+ - - ">="
255
+ - !ruby/object:Gem::Version
256
+ hash: 3
257
+ segments:
258
+ - 0
259
+ version: "0"
241
260
  requirements: []
242
261
 
243
262
  rubyforge_project:
244
- rubygems_version: 1.3.6
263
+ rubygems_version: 1.3.7
245
264
  signing_key:
246
265
  specification_version: 3
247
- summary: Fast Gherkin lexer/parser
266
+ summary: gherkin-2.2.1
248
267
  test_files:
249
- - spec/spec_helper.rb
250
- - spec/gherkin/c_lexer_spec.rb
251
- - spec/gherkin/i18n_spec.rb
252
- - spec/gherkin/java_lexer_spec.rb
253
- - spec/gherkin/json.rb
254
- - spec/gherkin/json_parser_spec.rb
255
- - spec/gherkin/output_stream_string_io.rb
256
- - spec/gherkin/rb_lexer_spec.rb
257
- - spec/gherkin/sexp_recorder.rb
258
- - spec/gherkin/tag_expression_spec.rb
259
- - spec/gherkin/formatter/argument_spec.rb
260
- - spec/gherkin/formatter/colors_spec.rb
261
- - spec/gherkin/formatter/filter_formatter_spec.rb
262
- - spec/gherkin/formatter/model_spec.rb
263
- - spec/gherkin/formatter/pretty_formatter_spec.rb
264
- - spec/gherkin/formatter/tag_count_formatter_spec.rb
265
- - spec/gherkin/lexer/i18n_lexer_spec.rb
266
- - spec/gherkin/parser/parser_spec.rb
267
- - spec/gherkin/shared/lexer_group.rb
268
- - spec/gherkin/shared/py_string_group.rb
269
- - spec/gherkin/shared/row_group.rb
270
- - spec/gherkin/shared/tags_group.rb
268
+ - features/escaped_pipes.feature
269
+ - features/feature_parser.feature
270
+ - features/json_formatter.feature
271
+ - features/json_parser.feature
272
+ - features/native_lexer.feature
273
+ - features/parser_with_native_lexer.feature
274
+ - features/pretty_formatter.feature
275
+ - features/step_definitions/eyeball_steps.rb
276
+ - features/step_definitions/gherkin_steps.rb
277
+ - features/step_definitions/json_formatter_steps.rb
278
+ - features/step_definitions/json_parser_steps.rb
279
+ - features/step_definitions/pretty_formatter_steps.rb
280
+ - features/steps_parser.feature
281
+ - features/support/env.rb
282
+ - spec/gherkin/c_lexer_spec.rb
283
+ - spec/gherkin/fixtures/1.feature
284
+ - spec/gherkin/fixtures/comments_in_table.feature
285
+ - spec/gherkin/fixtures/complex.feature
286
+ - spec/gherkin/fixtures/complex.json
287
+ - spec/gherkin/fixtures/complex_for_filtering.feature
288
+ - spec/gherkin/fixtures/complex_with_tags.feature
289
+ - spec/gherkin/fixtures/dos_line_endings.feature
290
+ - spec/gherkin/fixtures/hantu_pisang.feature
291
+ - spec/gherkin/fixtures/i18n_fr.feature
292
+ - spec/gherkin/fixtures/i18n_no.feature
293
+ - spec/gherkin/fixtures/i18n_zh-CN.feature
294
+ - spec/gherkin/fixtures/scenario_outline_with_tags.feature
295
+ - spec/gherkin/fixtures/scenario_without_steps.feature
296
+ - spec/gherkin/fixtures/simple_with_comments.feature
297
+ - spec/gherkin/fixtures/simple_with_tags.feature
298
+ - spec/gherkin/fixtures/with_bom.feature
299
+ - spec/gherkin/formatter/argument_spec.rb
300
+ - spec/gherkin/formatter/colors_spec.rb
301
+ - spec/gherkin/formatter/filter_formatter_spec.rb
302
+ - spec/gherkin/formatter/model_spec.rb
303
+ - spec/gherkin/formatter/pretty_formatter_spec.rb
304
+ - spec/gherkin/formatter/spaces.feature
305
+ - spec/gherkin/formatter/tabs.feature
306
+ - spec/gherkin/formatter/tag_count_formatter_spec.rb
307
+ - spec/gherkin/i18n_spec.rb
308
+ - spec/gherkin/java_lexer_spec.rb
309
+ - spec/gherkin/json.rb
310
+ - spec/gherkin/json_parser_spec.rb
311
+ - spec/gherkin/lexer/i18n_lexer_spec.rb
312
+ - spec/gherkin/output_stream_string_io.rb
313
+ - spec/gherkin/parser/parser_spec.rb
314
+ - spec/gherkin/rb_lexer_spec.rb
315
+ - spec/gherkin/sexp_recorder.rb
316
+ - spec/gherkin/shared/lexer_group.rb
317
+ - spec/gherkin/shared/py_string_group.rb
318
+ - spec/gherkin/shared/row_group.rb
319
+ - spec/gherkin/shared/tags_group.rb
320
+ - spec/gherkin/tag_expression_spec.rb
321
+ - spec/spec_helper.rb
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 2
3
- :minor: 2
4
- :patch: 0
5
- :build:
Binary file