Last weekend I dove into the Jasmine codebase for the first time.
This is also my first dive into contributing to open source.
I'm working on a fix that's not small in terms of the amount of code I'll be modifying, and there's only one problem I've had following along with the "how to contribute" instructions:
I'm suspecting this problem might be related to a quote I saw in this mailing list / forum while researching for answers to my problem:
"We don't guarantee that any Jasmine core development can be done on Windows."
My problem, in one short sentence, is that "rake jasmine" doesn't work for me, after I've followed all instructions correctly.
I'm working on
Issue 844, and in so doing I already managed to get
a minor pull request accepted without testing the specs in browser (via "rake jasmine"), because I was 95% sure it wasn't breaking them.
But I really don't want to look like a jerk who is wasting people's time if I submit a pull request to fix #844 and my fix fails spec testing, which would be something that I was supposed to take care of before submitting.
Here's the output of the command `rake jasmine`:
C:\Users\M\Desktop\jasmine-dev\jasmine>rake jasmine --trace
rake aborted!
LoadError: cannot load such file -- jasmine_selenium_runner
C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
C:/Users/M/Desktop/jasmine-dev/jasmine/Rakefile:6:in `<top (required)>'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load_rakefile'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:689:in `raw_load_rakefile'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:94:in `block in load_rakefile'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_hand
ling'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:93:in `load_rakefile'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:77:in `block in run'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_hand
ling'
C:/Ruby22-x64/lib/ruby/2.2.0/rake/application.rb:75:in `run'
C:/Ruby22-x64/bin/rake:33:in `<main>'
If you're curious if this means I didn't bundle correctly, I promise you I got the output above after completing the following commands below.
Command 1:
C:\Users\M\Desktop\jasmine-dev\jasmine>bundle
Resolving dependencies...
Using rake 10.4.2
Using addressable 2.2.8
Using git 1.2.9.1
Using highline 1.7.2
Using spruz 0.2.13
Using json_pure 1.5.5
Using launchy 2.0.5
Using text-hyphen 1.0.0
Using text-format 1.0.0
Using github 0.7.2
Using multipart-post 2.0.0
Using faraday 0.9.1
Using uri_template 0.5.3
Using sawyer 0.3.0
Using octokit 2.1.1
Using thor 0.19.1
Using anchorman 0.9.5
Using ffi 1.9.8
Using childprocess 0.5.6
Using chunky_png 1.3.4
Using cmdparse 3.0.1
Using multi_json 1.11.0
Using sass 3.4.13
Using compass-core 1.0.3
Using compass-import-once 1.0.5
Using rb-fsevent 0.9.4
Using rb-inotify 0.9.5
Using compass 1.0.3
Using unf_ext 0.0.7.1
Using unf 0.1.4
Using domain_name 0.5.24
Using http-cookie 1.0.2
Using jasmine-core 2.3.3 from source at .
Using phantomjs 1.9.8.0
Using rack 1.6.1
Using jasmine 2.3.0 from https://github.com/jasmine/jasmine-gem.git (at master)
Using json 1.8.2
Using net-http-persistent 2.9.4
Using net-ssh 2.9.2
Using net-ssh-gateway 1.2.0
Using parallel 1.4.1
Using parallel_tests 1.3.7
Using mime-types 2.5
Using netrc 0.10.3
Using rest-client 1.8.0
Using sauce_whisk 0.0.18
Using rubyzip 1.1.7
Using websocket 1.2.2
Using selenium-webdriver 2.45.0
Using sauce 3.5.6
Using sauce-connect 3.6.0
Using jasmine_selenium_runner 0.2.1 from git://github.com/jasmine/jasmine_seleni
um_runner.git (at master)
Using bundler 1.9.6
Bundle complete! 7 Gemfile dependencies, 53 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Command 2:
C:\Users\M\Desktop\jasmine-dev\jasmine>bundle show jasmine_selenium_runner
C:/Ruby22-x64/lib/ruby/gems/2.2.0/bundler/gems/jasmine_selenium_runner-95d14cfb7
85e
I'm guessing I'll have to go through the process of running something like Hyper-V and installing some Linux OS on a VM -- by the way that's something else I would be diving into for the first time -- and then testing my fix.
But if there's any chance I can just test my development on this one issue now from my Windows environment, I'd be so happy about that because I've taken my attention away from important school projects to try to contribute a fix to Jasmine, and I'd like to get back to that before I worry about Linux installs.