Skip to content

Commit

Permalink
Updates to Pages; Updates to docs;
Browse files Browse the repository at this point in the history
  • Loading branch information
Davis W. Frank committed Jun 24, 2011
1 parent b722f41 commit 620f7b6
Show file tree
Hide file tree
Showing 8 changed files with 31 additions and 38 deletions.
11 changes: 8 additions & 3 deletions Contribute.markdown
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# Developing for Jasmine Core
# Developing for Jasmine Core

This repo is for the core code of Jasmine - `jasmine.js`. This implements the basic spec-defining, -executing, and -results-reporting logic.
## How to Contribute

## How to write new Jasmine code
We welcome your contributions - Thanks for helping make Jasmine a better project for everyone. Please review the backlog and discussion lists (the main group - [http://groups.google.com/group/jasmine-js](http://groups.google.com/group/jasmine-js) and the developer's list - [http://groups.google.com/group/jasmine-js-dev](http://groups.google.com/group/jasmine-js-dev)) before starting work - what you're looking for may already have been done. If it hasn't, the community can help make your contribution better.

## How to write new Jasmine code

Or, How to make a successful pull request

* _Do not change the public interface_. Lots of projects depend on Jasmine and if you aren't careful you'll break them
* _Be environment agnostic_ - server-side developers are just as important as browser developers
* _Be browser agnostic_ - if you must rely on browser-specific functionality, please write it in a way that degrades gracefully
* _Write specs_ - Jasmine's a testing framework; don't add functionality without test-driving it
* _Ensure the *entire* test suite is green_ in all the big browsers, Node, and JSHint - your contribution shouldn't break Jasmine for other users

Follow these tips and your pull request, patch, or suggestion is much more likely to be integrated.

Expand Down
33 changes: 7 additions & 26 deletions README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@ Jasmine is a Behavior Driven Development testing framework for JavaScript. It do

Documentation & guides live here: [http://pivotal.github.com/jasmine/](http://pivotal.github.com/jasmine/)

## What's Here?

*




## Support

* Search past discussions: [http://groups.google.com/group/jasmine-js](http://groups.google.com/group/jasmine-js)
Expand All @@ -14,32 +21,6 @@ Documentation & guides live here: [http://pivotal.github.com/jasmine/](http://pi
* View the project backlog at Pivotal Tracker: [http://www.pivotaltracker.com/projects/10606](http://www.pivotaltracker.com/projects/10606)
* Follow us on Twitter: [@JasmineBDD](http://twitter.com/JasmineBDD)

## How to Contribute

We welcome your contributions - Thanks for helping make Jasmine a better project for everyone. Please review the backlog and discussion lists (the main group - [http://groups.google.com/group/jasmine-js](http://groups.google.com/group/jasmine-js) and the developer's list - [http://groups.google.com/group/jasmine-js-dev](http://groups.google.com/group/jasmine-js-dev)) before starting work - what you're looking for may already have been done. If it hasn't, the community can help make your contribution better.

### Development Environment

Jasmine Core relies on Ruby for executing the test suite and building the project for release. The spec suite runs in any major, modern browser (Firefox, Safari, Chrome, and yes various IE's) and in [Node.js](http://nodejs.org). While you probably have browsers installed, you want to make sure that Ruby and Node are present.

### How to Develop for Jasmine Core

* Write specs
* Make them pass in a browser (or three):
* open `spec/runner.html` in your browsers
* `rake spec:browser` will run in the default browser on MacOS
* Make them pass in Node: `rake spec:node`
* Fix any warnings or errors from JSHint: `rake jasmine:lint`

Running `rake spec` will run the browser tests, then run specs in Node, then run JSHint. But this will only run in the default browser and only on MacOS (for now).


### Making a Successful Pull Request

* __Include specs for your work__ - it helps us understand your intent and makes sure that future development doesn't break your work
* __Ensure the full test suite is green__ in all the big browsers, Node, and JSHint - your contribution shouldn't break Jasmine for other users

Do these things and we'll take a look.

## Maintainers

Expand Down
16 changes: 12 additions & 4 deletions Release.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,21 @@
## Development
___Jasmine Core Maintainers Only___

Follow the instructions in `Contribute.markdown` during development.

### Git Commits


### Version

We attempt to stick to [Semantic Versioning](). Most of the time, development should be against a new minor version - fixing bugs and adding new features that are backwards compatible.

The current version lives in the file `src/version.json`. This file should be set to the version that is _currently_ under development. That is, if version 1.0.0 is the current release then version should be incremented say, to 1.1.0.

Follow the instructions in `Contribute.markdown` during development.

## Update the Github Pages (as needed)
This version is used by both `jasmine.js` and the `jasmine-core` Ruby gem.

### Update the Github Pages (as needed)

Github pages have to exist in a branch called gh-pages in order for their app to serve them. This repo adds that branch as a submodule under the `pages` directory. This is a bit of a hack, but it allows us to work with the pages and the source at the same time and with one set of rake tasks.

Expand All @@ -27,6 +35,6 @@ When ready to release - specs are all green and the stories are done:
1. Update any links or top-level landing page for the Github Pages
1. `rake standalone` - builds the standalone distribution ZIP file
1. `rake build_pages` - builds the Github Pages
1. `rake release` - tags the repo with the version, makes the gem, pushes the gem to Rubygems.org
1. `rake release` - tags the repo with the version, builds the `jasmine-core` gem, pushes the gem to Rubygems.org

There should be a post to Pivotal Labs blog and a tweet to that link.
1 change: 0 additions & 1 deletion jasmine-core.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@ Gem::Specification.new do |s|
s.add_development_dependency "term-ansicolor"
s.add_development_dependency "json_pure", ">= 1.4.3"
s.add_development_dependency "frank"
s.add_development_dependency "haml"
s.add_development_dependency "ragaskar-jsdoc_helper"
end
2 changes: 1 addition & 1 deletion lib/jasmine-core/jasmine.js
Original file line number Diff line number Diff line change
Expand Up @@ -2472,6 +2472,6 @@ jasmine.version_= {
"major": 1,
"minor": 1,
"build": 0,
"revision": 1308830021,
"revision": 1308880777,
"release_candidate": 1
};
2 changes: 1 addition & 1 deletion pages
Submodule pages updated from a4522e to a9d577
2 changes: 1 addition & 1 deletion src/version.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ jasmine.version_= {
"major": 1,
"minor": 1,
"build": 0,
"revision": 1308830021,
"revision": 1308880777,
"release_candidate": 1
};
2 changes: 1 addition & 1 deletion tasks/pages.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
system("frank export ../pages_output")
end
puts "\n"
puts "Copying built website to the root of the gh-pages branch"
puts "Copying built website to the root of the gh-pages branch".cyan
puts "\n\n"
system("cp -r pages_output/* .")
end
Expand Down

0 comments on commit 620f7b6

Please sign in to comment.