gherkin 2.6.6 → 2.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [2.6.7](https://github.com/cucumber/gherkin/compare/v2.6.6...v2.6.7)
2
+
3
+ ### Bugfixes
4
+
5
+ * Fix bad packaging of NuSpec package. ([#148](https://github.com/cucumber/gherkin/issues/148) Aslak Hellesøy)
6
+
1
7
  ## [2.6.6](https://github.com/cucumber/gherkin/compare/v2.6.5...v2.6.6)
2
8
 
3
9
  ### New Features
data/README.md CHANGED
@@ -7,12 +7,12 @@ A fast lexer and parser for the Gherkin language based on Ragel. Gherkin is two
7
7
 
8
8
  Supported platforms:
9
9
 
10
- * Ruby 1.8.6-1.9.3 (MRI, JRuby, REE, Rubinius)
11
- * Pure Java (jar file)
12
- * JavaScript (NPM package. Tested with V8/node.js/Chrome, but might work on other JavaScript engines)
13
- * .NET (dll file)
10
+ * [Ruby](https://rubygems.org/gems/gherkin) 1.8.6-1.9.3 (MRI, JRuby, REE, Rubinius)
11
+ * [Pure Java](http://search.maven.org/#search%7Cga%7C1%7Cgherkin) (jar file)
12
+ * [JavaScript](http://search.npmjs.org/#/gherkin) (Tested with V8/node.js/Chrome, but might work on other JavaScript engines)
13
+ * [.NET](http://nuget.org/List/Packages/gherkin) (dll file)
14
14
 
15
- ## Installation.pmlcolor"
15
+ ## Installation
16
16
 
17
17
  ### Ruby/JRuby
18
18
 
@@ -54,14 +54,14 @@ The jar file is in the central Maven repo.
54
54
  <dependency>
55
55
  <groupId>info.cukes</groupId>
56
56
  <artifactId>gherkin</artifactId>
57
- <version>2.6.6</version>
57
+ <version>2.6.7</version>
58
58
  </dependency>
59
59
 
60
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
61
61
 
62
62
  ### .NET
63
63
 
64
- Get the dll from https://github.com/cucumber/gherkin/downloads
64
+ Get the dll from [NuGet](http://nuget.org/List/Packages/gherkin)
65
65
 
66
66
  ## API Docs
67
67
 
@@ -162,7 +162,7 @@ TODO: Make all specs pass with js lexer - replace 'c(listener)' with 'js(listene
162
162
 
163
163
  You must install Mono from source, or use a release of Mono after November 18 2011.
164
164
 
165
- You must also download NuGet.exe from [CodePlex](http://nuget.codeplex.com/releases). When it's installed, update it and register your CodePlex API Key:
165
+ You must also download NuGet.exe from [CodePlex](http://nuget.codeplex.com/releases) and place it in `/usr/local/nuget/NuGet.exe`. When it's installed, update it and register your NuGet API Key:
166
166
 
167
167
  # In case we need to update
168
168
  mono /usr/local/nuget/NuGet.exe Update -self
@@ -174,6 +174,8 @@ Now you can build the .NET dll with:
174
174
 
175
175
  rake ikvm
176
176
 
177
+ This should put the dll into `release/nuspec/lib/gherkin.dll`
178
+
177
179
  ### MinGW Rubies (for Windows gems)
178
180
 
179
181
  In order to build Windows binaries (so we can release Windows gems from OS X/Linux) we first need to install MinGW.
@@ -0,0 +1,19 @@
1
+ require 'gherkin/parser/parser'
2
+ require 'gherkin/formatter/json_formatter'
3
+ require 'stringio'
4
+ require 'json'
5
+
6
+ # This example reads a couple of features and outputs them as JSON.
7
+
8
+ io = StringIO.new
9
+ formatter = Gherkin::Formatter::JSONFormatter.new(io)
10
+ parser = Gherkin::Parser::Parser.new(formatter)
11
+
12
+ sources = ["features/native_lexer.feature", "features/escaped_pipes.feature"]
13
+ sources.each do |s|
14
+ path = File.expand_path(File.dirname(__FILE__) + '/../' + s)
15
+ parser.parse(IO.read(path), path, 0)
16
+ end
17
+
18
+ formatter.close
19
+ puts JSON.pretty_generate(JSON.parse(io.string))
@@ -3,7 +3,7 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "gherkin"
5
5
  # If bumping the major version here, comment out the cucumber dependency below and uncomment in the Gemfile to build against a local cucumber.
6
- s.version = "2.6.6"
6
+ s.version = "2.6.7"
7
7
  s.authors = ["Mike Sassak", "Gregory Hnatiuk", "Aslak Hellesøy"]
8
8
  s.description = "A fast Gherkin lexer/parser based on the Ragel State Machine Compiler."
9
9
  s.summary = "#{s.name}-#{s.version}"
@@ -50,6 +50,7 @@ Gem::Specification.new do |s|
50
50
  s.add_development_dependency('rake', '>= 0.9.2')
51
51
  s.add_development_dependency('bundler', '>= 1.0.21')
52
52
  s.add_development_dependency('rspec', '>= 2.7.0')
53
+ s.add_development_dependency('rubyzip', '>= 0.9.4')
53
54
 
54
55
  unless ENV['RUBY_CC_VERSION'] || defined?(JRUBY_VERSION)
55
56
  s.add_development_dependency('therubyracer', '>= 0.9.9') if ENV['GHERKIN_JS']
@@ -5,7 +5,7 @@ namespace :gems do
5
5
  exit(1)
6
6
  end
7
7
  # rvm and mingw ruby versions have to match to avoid errors
8
- sh "rvm 1.8.7-p352@cucumber rake cross compile RUBY_CC_VERSION=1.8.7"
8
+ sh "rvm 1.8.7-p352@cucumber do rake cross compile RUBY_CC_VERSION=1.8.7"
9
9
  sh "rake cross compile RUBY_CC_VERSION=1.9.3"
10
10
  # This will copy the .so files to the proper place
11
11
  sh "rake -t cross compile RUBY_CC_VERSION=1.8.7:1.9.3"
@@ -1,7 +1,11 @@
1
1
  # encoding: utf-8
2
+
2
3
  namespace :ikvm do
3
4
  IKVM_VERSION = '0.46.0.1'
4
- IKVM_BIN_DIR = "ikvm/ikvm-#{IKVM_VERSION}/bin"
5
+ IKVM_DIR = "ikvm/ikvm-#{IKVM_VERSION}"
6
+ IKVM_ZIP = "ikvm/ikvmbin-#{IKVM_VERSION}.zip"
7
+ CLOBBER.include(IKVM_DIR, IKVM_ZIP)
8
+ IKVM_BIN_DIR = "#{IKVM_DIR}/bin"
5
9
  IKVMC_EXE = "#{IKVM_BIN_DIR}/ikvmc.exe"
6
10
  GHERKIN_EXE = "release/gherkin.exe"
7
11
  GHERKIN_PKG_DLL = "release/nuspec/lib/gherkin.dll"
@@ -49,6 +53,14 @@ namespace :ikvm do
49
53
  pkg_dir = File.dirname(GHERKIN_EXE)
50
54
  mkdir_p File.dirname(pkg_dir) unless File.directory?(pkg_dir)
51
55
  nuget("Pack #{GHERKIN_NUSPEC} -Version #{GHERKIN_VERSION} -OutputDirectory #{pkg_dir}")
56
+ # Now, fix the path inside the file - see https://github.com/cucumber/gherkin/issues/148
57
+ require 'zip/zipfilesystem'
58
+ Zip::ZipFile.open(GHERKIN_NUPKG) do |zipfile|
59
+ begin
60
+ zipfile.file.rename 'lib%2Fgherkin.dll', 'lib/gherkin.dll'
61
+ rescue => looks_like_nuget_has_been_fixed
62
+ end
63
+ end
52
64
  end
53
65
 
54
66
  file GHERKIN_NUSPEC do
@@ -100,7 +112,7 @@ EOF
100
112
  end
101
113
 
102
114
  file IKVMC_EXE do
103
- sh("wget http://downloads.sourceforge.net/project/ikvm/ikvm/#{IKVM_VERSION}/ikvmbin-#{IKVM_VERSION}.zip -O ikvm/ikvmbin-#{IKVM_VERSION}.zip")
115
+ sh("wget http://downloads.sourceforge.net/project/ikvm/ikvm/#{IKVM_VERSION}/ikvmbin-#{IKVM_VERSION}.zip -O #{IKVM_ZIP}")
104
116
  Dir.chdir('ikvm') do
105
117
  sh("unzip ikvmbin-#{IKVM_VERSION}.zip")
106
118
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gherkin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.6
4
+ version: 2.6.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-11-19 00:00:00.000000000 Z
14
+ date: 2011-11-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake-compiler
18
- requirement: &2152889940 !ruby/object:Gem::Requirement
18
+ requirement: &2152722280 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 0.7.9
24
24
  type: :development
25
25
  prerelease: false
26
- version_requirements: *2152889940
26
+ version_requirements: *2152722280
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
- requirement: &2152885740 !ruby/object:Gem::Requirement
29
+ requirement: &2152718200 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 1.4.6
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2152885740
37
+ version_requirements: *2152718200
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: cucumber
40
- requirement: &2152885280 !ruby/object:Gem::Requirement
40
+ requirement: &2152717640 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 1.1.2
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2152885280
48
+ version_requirements: *2152717640
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &2152884780 !ruby/object:Gem::Requirement
51
+ requirement: &2152733320 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 0.9.2
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2152884780
59
+ version_requirements: *2152733320
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: bundler
62
- requirement: &2152904240 !ruby/object:Gem::Requirement
62
+ requirement: &2152732360 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 1.0.21
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2152904240
70
+ version_requirements: *2152732360
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rspec
73
- requirement: &2152903540 !ruby/object:Gem::Requirement
73
+ requirement: &2152731640 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,21 @@ dependencies:
78
78
  version: 2.7.0
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2152903540
81
+ version_requirements: *2152731640
82
+ - !ruby/object:Gem::Dependency
83
+ name: rubyzip
84
+ requirement: &2152730960 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.9.4
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: *2152730960
82
93
  - !ruby/object:Gem::Dependency
83
94
  name: therubyracer
84
- requirement: &2152902620 !ruby/object:Gem::Requirement
95
+ requirement: &2152730120 !ruby/object:Gem::Requirement
85
96
  none: false
86
97
  requirements:
87
98
  - - ! '>='
@@ -89,10 +100,10 @@ dependencies:
89
100
  version: 0.9.9
90
101
  type: :development
91
102
  prerelease: false
92
- version_requirements: *2152902620
103
+ version_requirements: *2152730120
93
104
  - !ruby/object:Gem::Dependency
94
105
  name: yard
95
- requirement: &2152902160 !ruby/object:Gem::Requirement
106
+ requirement: &2152729380 !ruby/object:Gem::Requirement
96
107
  none: false
97
108
  requirements:
98
109
  - - ! '>='
@@ -100,10 +111,10 @@ dependencies:
100
111
  version: 0.7.3
101
112
  type: :development
102
113
  prerelease: false
103
- version_requirements: *2152902160
114
+ version_requirements: *2152729380
104
115
  - !ruby/object:Gem::Dependency
105
116
  name: rdiscount
106
- requirement: &2152901680 !ruby/object:Gem::Requirement
117
+ requirement: &2152728700 !ruby/object:Gem::Requirement
107
118
  none: false
108
119
  requirements:
109
120
  - - ! '>='
@@ -111,10 +122,10 @@ dependencies:
111
122
  version: 1.6.8
112
123
  type: :development
113
124
  prerelease: false
114
- version_requirements: *2152901680
125
+ version_requirements: *2152728700
115
126
  - !ruby/object:Gem::Dependency
116
127
  name: term-ansicolor
117
- requirement: &2152901000 !ruby/object:Gem::Requirement
128
+ requirement: &2152728240 !ruby/object:Gem::Requirement
118
129
  none: false
119
130
  requirements:
120
131
  - - ! '>='
@@ -122,10 +133,10 @@ dependencies:
122
133
  version: 1.0.6
123
134
  type: :development
124
135
  prerelease: false
125
- version_requirements: *2152901000
136
+ version_requirements: *2152728240
126
137
  - !ruby/object:Gem::Dependency
127
138
  name: builder
128
- requirement: &2152900340 !ruby/object:Gem::Requirement
139
+ requirement: &2152727780 !ruby/object:Gem::Requirement
129
140
  none: false
130
141
  requirements:
131
142
  - - ! '>='
@@ -133,7 +144,7 @@ dependencies:
133
144
  version: 2.1.2
134
145
  type: :development
135
146
  prerelease: false
136
- version_requirements: *2152900340
147
+ version_requirements: *2152727780
137
148
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
138
149
  email: cukes@googlegroups.com
139
150
  executables: []
@@ -199,6 +210,7 @@ files:
199
210
  - Rakefile
200
211
  - build_native_gems.sh
201
212
  - cucumber.yml
213
+ - examples/parse_and_output_json.rb
202
214
  - features/escaped_pipes.feature
203
215
  - features/feature_parser.feature
204
216
  - features/json_formatter.feature
@@ -477,7 +489,7 @@ rubyforge_project:
477
489
  rubygems_version: 1.8.10
478
490
  signing_key:
479
491
  specification_version: 3
480
- summary: gherkin-2.6.6
492
+ summary: gherkin-2.6.7
481
493
  test_files:
482
494
  - features/escaped_pipes.feature
483
495
  - features/feature_parser.feature