Permalink
Browse files

Update CONTRIBUTING.md. (#549)

This brings in changes from dart-lang/oss_project_templates#10 and adds
some extra test-specific information.

Closes #535
  • Loading branch information...
nex3 committed Feb 21, 2017
1 parent 691c39f commit 94ab7f021116239737e8a5df7afd57cbc6f2406f
Showing with 43 additions and 34 deletions.
  1. +43 −34 CONTRIBUTING.md
View
@@ -1,57 +1,66 @@
Want to contribute? Great! First, read this page (including the small print at
the end).
-### When you file a bug
-
-Please include the following information.
-
-* The version of Dart on your system.
- You can do this by running `dart --version`.
-* The operation system you are running.
-* The version of the `test` package you are using.
- You can get this by looking at the `pubspec.lock` file.
-
-```yaml
- test:
- description: test
- source: hosted
- version: "X.Y.Z"
-```
-
### Before you contribute
+
Before we can use your code, you must sign the
-[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
-(CLA), which you can do online. The CLA is necessary mainly because you own the
-copyright to your changes, even after your contribution becomes part of our
-codebase, so we need your permission to use and distribute your code. We also
-need to be sure of various other things—for instance that you'll tell us if you
-know that your code infringes on other people's patents. You don't have to sign
-the CLA until after you've submitted your code for review and a member has
-approved it, but you must do it before we can put your code into our codebase.
+[Google Individual Contributor License Agreement][CLA] (CLA), which you can do
+online. The CLA is necessary mainly because you own the copyright to your
+changes, even after your contribution becomes part of our codebase, so we need
+your permission to use and distribute your code. We also need to be sure of
+various other things—for instance that you'll tell us if you know that your code
+infringes on other people's patents. You don't have to sign the CLA until after
+you've submitted your code for review and a member has approved it, but you must
+do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.
+[CLA]: https://cla.developers.google.com/about/google-individual
+
### Code reviews
-All submissions, including submissions by project members, require review.
+
+All submissions, including submissions by project members, require review. We
+recommend [forking the repository][fork], making changes in your fork, and
+[sending us a pull request][pr] so we can review the changes and merge them into
+this repository. Note that this package doesn't use the Dart formatter. The
+reviewer will reformat your code themselves if necessary.
+
+[fork]: https://help.github.com/articles/about-forks/
+[pr]: https://help.github.com/articles/creating-a-pull-request/
+
+Functional changes will require tests to be added or changed. The tests live in
+the `test/` directory, and are run with `pub run test`. If you need to create
+new tests, use the existing tests as a guideline for what they should look like.
+
+Before you send your pull request, make sure all the tests pass! To run all the
+tests, you'll need:
+
+* A recent version of [Dartium][] on your path as `dartium`.
+* A recent version of the Dartium content shell on your path as `content_shell`.
+ See [the README][] for installation instructions.
+* [PhantomJS][] version 2.0.0 or higher.
+
+[Dartium]: https://webdev.dartlang.org/tools/dartium
+[the README]: https://github.com/dart-lang/test/blob/master/README.md#running-tests-on-dartium
+[PhantomJS]: http://phantomjs.org/
+
+Once you have these, just run `pub run test`.
### File headers
+
All files in the project must start with the following header.
- // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+ // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
### The small print
+
Contributions made by corporations are covered by a different agreement than the
one above, the
-[Software Grant and Corporate Contributor License Agreement](https://developers.google.com/open-source/cla/corporate).
-
-### Package architecture
-
-For details on the architecture of this package, see
-[this document][architecture].
+[Software Grant and Corporate Contributor License Agreement][CCLA].
-[architecture]: https://github.com/dart-lang/test/tree/master/doc/architecture.md
+[CCLA]: https://developers.google.com/open-source/cla/corporate

0 comments on commit 94ab7f0

Please sign in to comment.