AndyObtiva/glimmer-dsl-swt

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Contributing

## Pre-requisites

- MacOS
- Other pre-requisites mentioned in [README.md](https://github.com/AndyObtiva/glimmer/tree/master#pre-requisites)

## Machine Setup

Follow these steps, running mentioned commands in the terminal:
- Fork project repo
- Ensure pre-requisites installed (installing JRuby via RVM on the Mac)
- cd into project again to activate RVM glimmer-dsl-swt gemset
- gem install bundler
- bundle
- rake # runs specs (ensure they finish successfully)
- Once done, open a pull request with master branch.

### rspec

`rake` or `rake spec` runs all specs.

To run a specific spec file, run:
```
rake SPEC=spec_file_path
```

To run a specific spec, run:
```
rake SPEC=spec_file_path:line_number
```

To display Glimmer debug information, add `GLIMMER_DEBUG=true`:
```
rake SPEC=spec_file_path:line_number GLIMMER_DEBUG=true
```

Note: make sure not to use the keyboard or mouse while tests are running since they bring up UI elements behind the scenes (invisible). This avoids fudging them and causing false test failures. If you get obscure failures related to focus of widgets, they are most likely false negatives. Just rerun the specs without touching the keyboard or mouse and they would pass if they are not really broken.

### build

`rake build` builds the glimmer-dsl-swt gem under the `pkg` directory.

### glimmer command

To run a glimmer sample, run local `bin/glimmer` command:
```
bin/glimmer samples/hello_world.rb
```

It will notify you that you are in development mode.

### girb command

To experiment with glimmer syntax using `girb`, run local `bin/girb`:
```
bin/girb
```

It will notify you that you are in development mode.