From e25bfa1c986c424c6e995215f4adfb858738c1d0 Mon Sep 17 00:00:00 2001 From: Kevin Moore Date: Tue, 5 Dec 2023 08:43:44 -0800 Subject: [PATCH] Latest lints, require Dart 3.0, use mini-libraries --- .github/workflows/test-package.yml | 2 +- CHANGELOG.md | 4 ++-- analysis_options.yaml | 26 ++------------------------ lib/src/line_decoder.dart | 9 +++++---- lib/src/sync_http.dart | 11 ++++++++--- lib/sync_http.dart | 10 +--------- pubspec.yaml | 6 +++--- test/http_basic_test.dart | 4 ---- 8 files changed, 22 insertions(+), 50 deletions(-) diff --git a/.github/workflows/test-package.yml b/.github/workflows/test-package.yml index 0352d7b..10f3ba1 100644 --- a/.github/workflows/test-package.yml +++ b/.github/workflows/test-package.yml @@ -47,7 +47,7 @@ jobs: matrix: # Add macos-latest and/or windows-latest if relevant for this package. os: [ubuntu-latest] - sdk: [2.18.0, dev] + sdk: [3.0, dev] steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - uses: dart-lang/setup-dart@b64355ae6ca0b5d484f0106a033dd1388965d06d diff --git a/CHANGELOG.md b/CHANGELOG.md index 34d3359..ede4568 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ -## 0.3.2-dev +## 0.3.2-wip -* Require Dart 2.18 +* Require Dart 3.0 ## 0.3.1 diff --git a/analysis_options.yaml b/analysis_options.yaml index b507c06..7c3ec7f 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,5 +1,5 @@ -# https://dart.dev/guides/language/analysis-options -include: package:lints/recommended.yaml +# https://dart.dev/tools/analysis#the-analysis-options-file +include: package:dart_flutter_team_lints/analysis_options.yaml analyzer: language: @@ -9,47 +9,25 @@ analyzer: linter: rules: - - always_declare_return_types - avoid_bool_literals_in_conditional_expressions - - avoid_catching_errors - avoid_classes_with_only_static_members - - avoid_dynamic_calls - avoid_private_typedef_functions - avoid_redundant_argument_values - - avoid_returning_null_for_future - avoid_returning_this - avoid_unused_constructor_parameters - avoid_void_async - cancel_subscriptions - - comment_references - - directives_ordering - join_return_with_assignment - - lines_longer_than_80_chars - literal_only_boolean_expressions - missing_whitespace_between_adjacent_strings - no_adjacent_strings_in_list - no_runtimeType_toString - - omit_local_variable_types - - only_throw_errors - package_api_docs - - prefer_asserts_in_initializer_lists - - prefer_const_constructors - prefer_const_declarations - prefer_expression_function_bodies - prefer_final_locals - - prefer_relative_imports - - prefer_single_quotes - - sort_pub_dependencies - - test_types_in_equals - - throw_in_finally - - type_annotate_public_apis - - unawaited_futures - unnecessary_await_in_return - - unnecessary_lambdas - - unnecessary_parenthesis - unnecessary_raw_strings - - unnecessary_statements - use_if_null_to_convert_nulls_to_bools - use_raw_strings - use_string_buffers - - use_super_parameters diff --git a/lib/src/line_decoder.dart b/lib/src/line_decoder.dart index b52e86a..54288a3 100644 --- a/lib/src/line_decoder.dart +++ b/lib/src/line_decoder.dart @@ -2,19 +2,20 @@ // 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. -part of sync.http; +import 'dart:convert'; +import 'dart:typed_data' show BytesBuilder; // '\n' character const int _lineTerminator = 10; -class _LineDecoder { +class LineDecoder { final BytesBuilder _unprocessedBytes = BytesBuilder(); int expectedByteCount = -1; - final void Function(String, int, _LineDecoder) _callback; + final void Function(String, int, LineDecoder) _callback; - _LineDecoder.withCallback(this._callback); + LineDecoder.withCallback(this._callback); void add(List chunk) { while (chunk.isNotEmpty) { diff --git a/lib/src/sync_http.dart b/lib/src/sync_http.dart index db91d3b..e28839f 100644 --- a/lib/src/sync_http.dart +++ b/lib/src/sync_http.dart @@ -2,7 +2,12 @@ // 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. -part of sync.http; +import 'dart:convert'; +import 'dart:io' + show ContentType, HttpException, HttpHeaders, RawSynchronousSocket; +import 'dart:typed_data' show BytesBuilder; + +import 'line_decoder.dart'; // ignore: avoid_classes_with_only_static_members /// A simple synchronous HTTP client. @@ -368,7 +373,7 @@ class SyncHttpClientResponse { var contentLength = 0; var contentRead = 0; - void processLine(String line, int bytesRead, _LineDecoder decoder) { + void processLine(String line, int bytesRead, LineDecoder decoder) { if (inBody) { body.write(line); contentRead += bytesRead; @@ -404,7 +409,7 @@ class SyncHttpClientResponse { } } - final lineDecoder = _LineDecoder.withCallback(processLine); + final lineDecoder = LineDecoder.withCallback(processLine); try { while (!inHeader || diff --git a/lib/sync_http.dart b/lib/sync_http.dart index 19700a7..6b2bf82 100644 --- a/lib/sync_http.dart +++ b/lib/sync_http.dart @@ -2,12 +2,4 @@ // 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. -library sync.http; - -import 'dart:convert'; -import 'dart:io' - show ContentType, HttpException, HttpHeaders, RawSynchronousSocket; -import 'dart:typed_data' show BytesBuilder; - -part 'src/line_decoder.dart'; -part 'src/sync_http.dart'; +export 'src/sync_http.dart'; diff --git a/pubspec.yaml b/pubspec.yaml index 7089387..795ab17 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,11 +1,11 @@ name: sync_http -version: 0.3.2-dev +version: 0.3.2-wip description: Synchronous HTTP client for Dart. repository: https://github.com/google/sync_http.dart environment: - sdk: '>=2.18.0 <3.0.0' + sdk: ^3.0.0 dev_dependencies: - lints: ^2.0.0 + dart_flutter_team_lints: ^2.0.0 test: ^1.16.0 diff --git a/test/http_basic_test.dart b/test/http_basic_test.dart index d3234f2..34d6468 100644 --- a/test/http_basic_test.dart +++ b/test/http_basic_test.dart @@ -81,10 +81,6 @@ class TestServerStatus { bool get isStarted => _state == TestServerStatusState.started; - bool get isStopped => _state == TestServerStatusState.stopped; - - bool get isError => _state == TestServerStatusState.error; - int? get port => _port; final TestServerStatusState _state;