gherkin 2.6.2 → 2.6.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,9 +6,10 @@ rvm:
6
6
  branches:
7
7
  only:
8
8
  - master
9
- # Needed to build lexers
10
- before_script: sudo apt-get install -y ragel
11
9
 
12
10
  notifications:
13
11
  email:
14
- - cukes-devs@googlegroups.com
12
+ - cukes-devs@googlegroups.com
13
+ irc:
14
+ - "irc.freenode.org#cucumber"
15
+
data/History.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## [2.6.3](https://github.com/cucumber/gherkin/compare/v2.6.2...v2.6.3) (In Git)
2
+
3
+ ### Changed Features
4
+
5
+ * Windows gems are compiled against 1.9.3 instead of 1.9.2. Should still work on 1.9.3. (Aslak Hellesøy)
6
+ * NPM package contains UglifyJS-minified scripts (Aslak Hellesøy)
7
+ * NPM package no longer contains Ace ([#109](https://github.com/cucumber/gherkin/issues/109) Aslak Hellesøy)
8
+ * JavaScript exports for require.js works in non-AMD mode (needed for Ace) (Aslak Hellesøy)
9
+
1
10
  ## [2.6.2](https://github.com/cucumber/gherkin/compare/v2.6.1...v2.6.2)
2
11
 
3
12
  ### Changed Features
data/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  A fast lexer and parser for the Gherkin language based on Ragel. Gherkin is two things:
4
4
 
5
5
  * The language that has evolved out of the Cucumber project.
6
- * This library
6
+ * This library.
7
7
 
8
8
  Supported platforms:
9
9
 
10
- * Ruby 1.8.6-1.9.2 (MRI, JRuby, REE, Rubinius)
10
+ * Ruby 1.8.6-1.9.3 (MRI, JRuby, REE, Rubinius)
11
11
  * Pure Java (jar file)
12
12
  * JavaScript (NPM package. Tested with V8/node.js/Chrome, but might work on other JavaScript engines)
13
13
  * .NET (dll file)
@@ -54,7 +54,7 @@ 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.2</version>
57
+ <version>2.6.3</version>
58
58
  </dependency>
59
59
 
60
60
  You can get it manually from [Maven Central](http://search.maven.org/#browse%7C-2073395818)
@@ -124,18 +124,22 @@ Now you can build the jar with:
124
124
 
125
125
  ### JavaScript
126
126
 
127
- In order to build and test Gherkin for Javascript you must install:
127
+ In order to build and test Gherkin for JavaScript you must install:
128
128
 
129
129
  * Node.js (0.4.6 or higher)
130
130
  * NPM (0.3.18 or higher)
131
- * Ragel with Javascript support: http://github.com/dominicmarks/ragel-js
131
+ * Ragel with JavaScript support: http://github.com/dominicmarks/ragel-js
132
132
  * Define the GHERKIN_JS environment variable in your shell (any value will do)
133
133
 
134
- Now you can build the Javascript with:
134
+ Prepare the environment:
135
+
136
+ pushd js
137
+ npm link
138
+ popd
139
+
140
+ Now you can build the JavaScript with:
135
141
 
136
142
  rake js
137
- cd js
138
- npm install
139
143
 
140
144
  And you can try it out with node.js:
141
145
 
@@ -190,19 +194,24 @@ Make sure you have openssl installed first.
190
194
  bundle install
191
195
  rake-compiler cross-ruby VERSION=1.8.7-p352
192
196
 
193
- # 1.9.2
194
- rvm install 1.9.2-p290
195
- rvm use 1.9.2-p290
197
+ # 1.9.3
198
+ rvm install 1.9.3-p0
199
+ rvm use 1.9.3-p0
196
200
  rvm gemset create cucumber
197
201
  rvm gemset use cucumber
198
202
  gem install bundler
199
203
  unset GHERKIN_JS
200
204
  bundle install
201
- rake-compiler cross-ruby VERSION=1.9.2-p290
205
+ rake-compiler cross-ruby VERSION=1.9.3-p0
206
+
207
+ Now you can build Windows gems:
208
+
209
+ rake compile
210
+ rake gems:win
202
211
 
203
212
  ## Release process
204
213
 
205
- * Make sure GHERKIN_JS is defined (see Javascript section above)
214
+ * Make sure GHERKIN_JS is defined (see JavaScript section above)
206
215
  * Bump version in:
207
216
  * This file (Installation/Java section)
208
217
  * gherkin.gemspec
@@ -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.2"
6
+ s.version = "2.6.3"
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}"
@@ -46,15 +46,15 @@ Gem::Specification.new do |s|
46
46
 
47
47
  s.add_runtime_dependency('json', '>= 1.4.6')
48
48
 
49
- s.add_development_dependency('cucumber', '>= 1.1.1')
49
+ s.add_development_dependency('cucumber', '>= 1.1.2')
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
53
 
54
54
  unless ENV['RUBY_CC_VERSION'] || defined?(JRUBY_VERSION)
55
- s.add_development_dependency('therubyracer', '>= 0.9.8') if ENV['GHERKIN_JS']
55
+ s.add_development_dependency('therubyracer', '>= 0.9.9') if ENV['GHERKIN_JS']
56
56
  # For Documentation:
57
- s.add_development_dependency('yard', '>= 0.7.2')
57
+ s.add_development_dependency('yard', '>= 0.7.3')
58
58
  s.add_development_dependency('rdiscount', '>= 1.6.8')
59
59
  end
60
60
 
@@ -13,7 +13,7 @@ module Gherkin
13
13
  p a
14
14
  end
15
15
 
16
- cxt.load(File.dirname(__FILE__) + "/../../js/lib/gherkin/lexer/#{i18n_underscored_iso_code}.js")
16
+ cxt.load(File.dirname(__FILE__) + "/../../js/lib/gherkin/lexer/#{i18n_underscored_iso_code}.min.js")
17
17
  cxt['exports']['Lexer']
18
18
  end
19
19
  end
@@ -212,8 +212,16 @@ if(typeof exports !== 'undefined') {
212
212
  exports.Lexer = Lexer;
213
213
  }
214
214
  // Require.js export
215
- if (typeof define !== 'undefined' && define.amd) {
216
- define('gherkin/lexer/<%= @i18n.underscored_iso_code %>', [], function() {return Lexer});
215
+ if (typeof define !== 'undefined') {
216
+ if(define.amd) {
217
+ define('gherkin/lexer/<%= @i18n.underscored_iso_code %>', [], function() {
218
+ return Lexer
219
+ });
220
+ } else {
221
+ define('gherkin/lexer/<%= @i18n.underscored_iso_code %>', function(require, exports, module) {
222
+ exports.Lexer = Lexer;
223
+ });
224
+ }
217
225
  }
218
226
 
219
227
  })();
@@ -6,9 +6,9 @@ namespace :gems do
6
6
  end
7
7
  # rvm and mingw ruby versions have to match to avoid errors
8
8
  sh "rvm 1.8.7-p352@cucumber rake cross compile RUBY_CC_VERSION=1.8.7"
9
- sh "rake cross compile RUBY_CC_VERSION=1.9.2"
9
+ sh "rake cross compile RUBY_CC_VERSION=1.9.3"
10
10
  # This will copy the .so files to the proper place
11
- sh "rake -t cross compile RUBY_CC_VERSION=1.8.7:1.9.2"
11
+ sh "rake -t cross compile RUBY_CC_VERSION=1.8.7:1.9.3"
12
12
  end
13
13
 
14
14
  desc 'Prepare JRuby binares'
@@ -10,6 +10,7 @@ class RagelTask
10
10
  end
11
11
 
12
12
  RL_OUTPUT_DIR = File.dirname(__FILE__) + "/../ragel/i18n"
13
+ UGLIFYJS = File.dirname(__FILE__) + "/../js/node_modules/uglify-js/bin/uglifyjs"
13
14
 
14
15
  def initialize(lang, i18n)
15
16
  @lang = lang
@@ -24,6 +25,9 @@ class RagelTask
24
25
  if(@lang == 'js')
25
26
  # Ragel chokes if we put the escaped triple quotes in .rl, so we'll do the replace with sed after the fact. Lots of backslashes!!
26
27
  sh %{sed -i '' 's/ESCAPED_TRIPLE_QUOTE/\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\"/' #{target}}
28
+
29
+ # Minify
30
+ sh %{node #{UGLIFYJS} #{target} > #{target.gsub(/\.js$/, '.min.js')}}
27
31
  end
28
32
  end
29
33
 
@@ -2,7 +2,7 @@ namespace :release do
2
2
  desc 'Upload all packages and tag git'
3
3
  task :ALL => ['gems:sanity', :ikvm, :mvn_deploy_jar, :mvn_deploy_site, :push_native_gems, :push_npm_package, :release, :push_yard, :symlink_docs, :post_release]
4
4
 
5
- desc 'Push all gems to rubygems.org (gemcutter)'
5
+ desc 'Push all gems to rubygems.org'
6
6
  task :push_native_gems do
7
7
  Dir.chdir('release') do
8
8
  Dir['*.gem'].each do |gem_file|
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.2
4
+ version: 2.6.3
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-10-31 00:00:00.000000000Z
14
+ date: 2011-11-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake-compiler
18
- requirement: &2153074440 !ruby/object:Gem::Requirement
18
+ requirement: &2152310860 !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: *2153074440
26
+ version_requirements: *2152310860
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
- requirement: &2153063680 !ruby/object:Gem::Requirement
29
+ requirement: &2152325880 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,21 +34,21 @@ dependencies:
34
34
  version: 1.4.6
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2153063680
37
+ version_requirements: *2152325880
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: cucumber
40
- requirement: &2153062040 !ruby/object:Gem::Requirement
40
+ requirement: &2152324400 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
- version: 1.1.1
45
+ version: 1.1.2
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2153062040
48
+ version_requirements: *2152324400
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: rake
51
- requirement: &2153060600 !ruby/object:Gem::Requirement
51
+ requirement: &2152322160 !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: *2153060600
59
+ version_requirements: *2152322160
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: bundler
62
- requirement: &2153059320 !ruby/object:Gem::Requirement
62
+ requirement: &2152336320 !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: *2153059320
70
+ version_requirements: *2152336320
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rspec
73
- requirement: &2153058380 !ruby/object:Gem::Requirement
73
+ requirement: &2152335080 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,32 +78,32 @@ dependencies:
78
78
  version: 2.7.0
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2153058380
81
+ version_requirements: *2152335080
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: therubyracer
84
- requirement: &2153057100 !ruby/object:Gem::Requirement
84
+ requirement: &2152333120 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
- version: 0.9.8
89
+ version: 0.9.9
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *2153057100
92
+ version_requirements: *2152333120
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: yard
95
- requirement: &2153055980 !ruby/object:Gem::Requirement
95
+ requirement: &2152332300 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
99
99
  - !ruby/object:Gem::Version
100
- version: 0.7.2
100
+ version: 0.7.3
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *2153055980
103
+ version_requirements: *2152332300
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: rdiscount
106
- requirement: &2153054740 !ruby/object:Gem::Requirement
106
+ requirement: &2152330840 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: 1.6.8
112
112
  type: :development
113
113
  prerelease: false
114
- version_requirements: *2153054740
114
+ version_requirements: *2152330840
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: term-ansicolor
117
- requirement: &2153053160 !ruby/object:Gem::Requirement
117
+ requirement: &2152329900 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ! '>='
@@ -122,10 +122,10 @@ dependencies:
122
122
  version: 1.0.6
123
123
  type: :development
124
124
  prerelease: false
125
- version_requirements: *2153053160
125
+ version_requirements: *2152329900
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: builder
128
- requirement: &2153051500 !ruby/object:Gem::Requirement
128
+ requirement: &2152329080 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ! '>='
@@ -133,7 +133,7 @@ dependencies:
133
133
  version: 2.1.2
134
134
  type: :development
135
135
  prerelease: false
136
- version_requirements: *2153051500
136
+ version_requirements: *2152329080
137
137
  description: A fast Gherkin lexer/parser based on the Ragel State Machine Compiler.
138
138
  email: cukes@googlegroups.com
139
139
  executables: []
@@ -186,7 +186,6 @@ extensions:
186
186
  extra_rdoc_files: []
187
187
  files:
188
188
  - .gitattributes
189
- - .gitmodules
190
189
  - .mailmap
191
190
  - .rbenv-gemsets
192
191
  - .rspec
@@ -194,7 +193,6 @@ files:
194
193
  - .travis.yml
195
194
  - .yardopts
196
195
  - Gemfile
197
- - Gemfile.lock
198
196
  - History.md
199
197
  - LICENSE
200
198
  - README.md
@@ -479,7 +477,7 @@ rubyforge_project:
479
477
  rubygems_version: 1.8.10
480
478
  signing_key:
481
479
  specification_version: 3
482
- summary: gherkin-2.6.2
480
+ summary: gherkin-2.6.3
483
481
  test_files:
484
482
  - features/escaped_pipes.feature
485
483
  - features/feature_parser.feature
@@ -1,3 +0,0 @@
1
- [submodule "js/example/ace"]
2
- path = js/example/ace
3
- url = git://github.com/cucumber/ace.git
@@ -1,53 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- gherkin (2.6.2)
5
- json (>= 1.4.6)
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- builder (3.0.0)
11
- cucumber (1.1.1)
12
- builder (>= 2.1.2)
13
- diff-lcs (>= 1.1.2)
14
- gherkin (~> 2.6.0)
15
- json (>= 1.4.6)
16
- term-ansicolor (>= 1.0.6)
17
- diff-lcs (1.1.3)
18
- json (1.6.1)
19
- json (1.6.1-java)
20
- libv8 (3.3.10.2)
21
- rake (0.9.2.2)
22
- rake-compiler (0.7.9)
23
- rake
24
- rdiscount (1.6.8)
25
- rspec (2.7.0)
26
- rspec-core (~> 2.7.0)
27
- rspec-expectations (~> 2.7.0)
28
- rspec-mocks (~> 2.7.0)
29
- rspec-core (2.7.1)
30
- rspec-expectations (2.7.0)
31
- diff-lcs (~> 1.1.2)
32
- rspec-mocks (2.7.0)
33
- term-ansicolor (1.0.7)
34
- therubyracer (0.9.8)
35
- libv8 (~> 3.3.10)
36
- yard (0.7.3)
37
-
38
- PLATFORMS
39
- java
40
- ruby
41
-
42
- DEPENDENCIES
43
- builder (>= 2.1.2)
44
- bundler (>= 1.0.21)
45
- cucumber (>= 1.1.1)
46
- gherkin!
47
- rake (>= 0.9.2)
48
- rake-compiler (>= 0.7.9)
49
- rdiscount (>= 1.6.8)
50
- rspec (>= 2.7.0)
51
- term-ansicolor (>= 1.0.6)
52
- therubyracer (>= 0.9.8)
53
- yard (>= 0.7.2)