Skip to content

Commit 4f146db

Browse files
kevinoliverjenkins
authored and
jenkins
committed
Update docs on contributing
Problem / Solution The docs for contributions have gotten a bit out of date and were in need of some touchups. RB_ID=868780
1 parent d09ee24 commit 4f146db

File tree

5 files changed

+42
-13
lines changed

5 files changed

+42
-13
lines changed

Diff for: CHANGES

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Breaking API Changes
7575
* finagle-redis: Server-side support for Redis is removed. See this finaglers@ thread
7676
(https://groups.google.com/forum/#!topic/finaglers/dCyt60TJ7eM) for discussion.
7777
Note that constructors for Redis commands no longer accept raw byte arrays.
78-
``RB_ID=848815``
78+
``RB_ID=848815``
7979

8080
* finagle-redis: Redis codec (i.e., `c.t.f.Codec`) is removed. Use `c.t.f.Redis.client`
8181
instead. ``RB_ID=848815``

Diff for: CONTRIBUTING.md

+31-9
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,13 @@ We'd love to get patches from you!
77
We are not currently publishing snapshots for Finagle's dependencies, which
88
means that it may be necessary to publish the `develop` branches of these
99
libraries locally in order to work on Finagle's `develop` branch. To do so
10-
you can run `./bin/travisci` script and pass it an optional
11-
`TRAVIS_SCALA_VERSION` environment variable. For example, the following command
12-
locally publishes all the Finagle dependencies built for Scala 2.11.7.
10+
you can use our build tool, [dodo](https://github.com/twitter/dodo).
1311

14-
```
15-
TRAVIS_SCALA_VERSION=2.11.7 ./bin/travisci
12+
``` bash
13+
curl -s https://raw.githubusercontent.com/twitter/dodo/develop/bin/build | bash -s -- --no-test finagle
1614
```
1715

18-
We are planning to begin publishing snapshots soon, which will make these steps
19-
unnecessary. If you have any questions or run into any problems, please create
16+
If you have any questions or run into any problems, please create
2017
an issue here, tweet at us at [@finagle](https://twitter.com/finagle), or email
2118
the Finaglers mailing list.
2219

@@ -57,6 +54,31 @@ Travis CI more useful for development, but for now you don't need to worry if
5754
it's failing (assuming that you are able to build and test your changes
5855
locally).
5956

57+
## Compatibility
58+
59+
We try to keep public APIs stable for the obvious reasons. Often,
60+
compatibility can be kept by adding a forwarding method. Note that we
61+
avoid adding default arguments because this is not a compatible change
62+
for our Java users. However, when the benefits outweigh the costs, we
63+
are willing to break APIs. The break should be noted in the Breaking
64+
API Changes section of the [changelog](CHANGES). Note that changes to
65+
non-public APIs will not be called out in the [changelog](CHANGES).
66+
67+
## Java
68+
69+
While the project is written in Scala, its public APIs should be usable from
70+
Java. This occasionally works out naturally from the Scala interop, but more
71+
often than not, if care is not taken Java users will have rough corners
72+
(e.g. `SomeCompanion$.MODULE$.someMethod()` or a symbolic operator).
73+
We take a variety of approaches to minimize this.
74+
75+
1. Add a "compilation" unit test, written in Java, that verifies the APIs are
76+
usable from Java.
77+
2. If there is anything gnarly, we add Java adapters either by adding
78+
a non-symbolic method name or by adding a class that does forwarding.
79+
3. Prefer `abstract` classes over `traits` as they are easier for Java
80+
developers to extend.
81+
6082
## Style
6183

6284
We generally follow [Effective Scala][es] and the [Scala Style Guide][ssg]. When
@@ -166,8 +188,8 @@ simplest solution is to create a symbolic link to `sphinx-build2` named
166188
`sphinx-build` somewhere on your path.
167189

168190
Please note that any additions or changes to the API must be thoroughly
169-
described in [ScalaDoc][8] comments. We will also happily consider pull
170-
requests that improve the existing ScalaDocs!
191+
described in [Scaladoc][8] comments. We will also happily consider pull
192+
requests that improve the existing Scaladocs!
171193

172194
[0]: https://github.com/twitter/finagle/pull/267
173195
[1]: https://github.com/twitter/finagle/issues?direction=desc&labels=Starter&sort=created&state=open

Diff for: README.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,19 @@ and is being actively developed and maintained.
1313

1414
![Finagle logo](https://raw.github.com/twitter/finagle/master/doc/src/sphinx/_static/logo_small.png)
1515

16+
## Releases
17+
18+
[Releases](https://maven-badges.herokuapp.com/maven-central/com.twitter/finagle_2.11)
19+
are done on an approximately monthly schedule. While [semver](http://semver.org/)
20+
is not followed, the [changelogs](CHANGES) are detailed and include sections on
21+
public API breaks and changes in runtime behavior.
22+
1623
## Getting involved
1724

1825
* Website: https://twitter.github.io/finagle/
1926
* Source: https://github.com/twitter/finagle/
2027
* Mailing List: [[email protected]](https://groups.google.com/forum/#!forum/finaglers)
21-
* IRC: `#finagle` on Freenode
28+
* Chat: https://gitter.im/twitter/finagle
2229

2330
Finagle is an extensible RPC system for the JVM, used to construct
2431
high-concurrency servers. Finagle implements uniform client and server APIs for

Diff for: finagle-memcached/README

Whitespace-only changes.

Diff for: sbt

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ sbtsha128=1de48c2c412fffc4336e4d7dee224927a96d5abc
77
sbtrepo=http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch
88

99
if [ ! -f $sbtjar ]; then
10-
echo "downloading $sbtjar" 1>&2
10+
echo "downloading $PWD/$sbtjar" 1>&2
1111
if ! curl --location --silent --fail --remote-name $sbtrepo/$sbtver/$sbtjar; then
1212
exit 1
1313
fi
1414
fi
1515

1616
checksum=`openssl dgst -sha1 $sbtjar | awk '{ print $2 }'`
1717
if [ "$checksum" != $sbtsha128 ]; then
18-
echo "bad $sbtjar. delete $sbtjar and run $0 again."
18+
echo "bad $PWD/$sbtjar. delete $PWD/$sbtjar and run $0 again."
1919
exit 1
2020
fi
2121

0 commit comments

Comments
 (0)