Deprecate the sink_base classes. (#193)

The approach was not considered a good fit for the package API,
and we'll remove the classes and consider another approach, if one is needed.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 67d7be7..e32ec99 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.8.2
+
+* Deprecate `EventSinkBase`, `StreamSinkBase`, `IOSinkBase`.
+
 ## 2.8.1
 
 * Don't ignore broadcast streams added to a `StreamGroup` that doesn't have an
diff --git a/lib/src/sink_base.dart b/lib/src/sink_base.dart
index 873ce82..62ca981 100644
--- a/lib/src/sink_base.dart
+++ b/lib/src/sink_base.dart
@@ -14,6 +14,7 @@
 ///
 /// This takes care of ensuring that events can't be added after [close] is
 /// called.
+@Deprecated('Will be removed in the next major release')
 abstract class EventSinkBase<T> implements EventSink<T> {
   /// Whether [close] has been called and no more events may be written.
   bool get _closed => _closeMemo.hasRun;
@@ -61,6 +62,7 @@
 ///
 /// This takes care of ensuring that events can't be added after [close] is
 /// called or during a call to [onStream].
+@Deprecated('Will be removed in the next major release')
 abstract class StreamSinkBase<T> extends EventSinkBase<T>
     implements StreamSink<T> {
   /// Whether a call to [addStream] is ongoing.
@@ -104,6 +106,7 @@
 ///
 /// This takes care of ensuring that events can't be added after [close] is
 /// called or during a call to [onStream].
+@Deprecated('Will be removed in the next major release')
 abstract class IOSinkBase extends StreamSinkBase<List<int>> {
   /// See [IOSink.encoding] from `dart:io`.
   Encoding encoding;
diff --git a/pubspec.yaml b/pubspec.yaml
index 8529db4..abfc12c 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: async
-version: 2.8.1
+version: 2.8.2
 
 description: Utility functions and classes related to the 'dart:async' library.
 repository: https://github.com/dart-lang/async
diff --git a/test/io_sink_impl.dart b/test/io_sink_impl.dart
index 63fa289..bd761b9 100644
--- a/test/io_sink_impl.dart
+++ b/test/io_sink_impl.dart
@@ -2,6 +2,9 @@
 // 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.
 
+@deprecated
+library io_sink_impl;
+
 import 'dart:io';
 
 import 'package:async/async.dart';
diff --git a/test/sink_base_test.dart b/test/sink_base_test.dart
index da3ca9f..8ecf8c3 100644
--- a/test/sink_base_test.dart
+++ b/test/sink_base_test.dart
@@ -2,6 +2,9 @@
 // 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.
 
+@deprecated
+library sink_base_test;
+
 import 'dart:async';
 import 'dart:convert';