diff --git a/.github/workflows/platform.yml b/.github/workflows/platform.yml new file mode 100644 index 0000000..dfcf6cd --- /dev/null +++ b/.github/workflows/platform.yml @@ -0,0 +1,38 @@ +name: Process Package + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + correctness: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603 + with: + sdk: dev + - name: Install dependencies + run: dart pub upgrade + - name: Verify formatting + run: dart format --output=none --set-exit-if-changed . + - name: Analyze project source + run: dart analyze --fatal-infos + test: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + sdk: [stable, beta, dev] + steps: + - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603 + with: + sdk: ${{ matrix.sdk }} + - name: Install dependencies + run: dart pub upgrade + - name: Run Tests + run: dart test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5722c5b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: dart -sudo: false -dart: - - dev -install: - - gem install coveralls-lcov -before_script: - - ./dev/setup.sh -script: - - ./dev/travis.sh -after_success: - - (coveralls-lcov coverage/lcov.info) -cache: - directories: - - $HOME/.pub-cache diff --git a/analysis_options.yaml b/analysis_options.yaml index 1b14e09..8fbd2e4 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -1,62 +1,6 @@ +include: package:lints/recommended.yaml + analyzer: - enable-experiment: - - non-nullable errors: # Allow having TODOs in the code todo: ignore - -linter: - rules: - # these rules are documented on and in the same order as - # the Dart Lint rules page to make maintenance easier - # http://dart-lang.github.io/linter/lints/ - - # === error rules === - - avoid_empty_else - - comment_references - - cancel_subscriptions - - close_sinks - - control_flow_in_finally - - empty_statements - - hash_and_equals - - invariant_booleans - - iterable_contains_unrelated_type - - list_remove_unrelated_type - - literal_only_boolean_expressions - - test_types_in_equals - - throw_in_finally - - unrelated_type_equality_checks - - valid_regexps - - # === style rules === - - always_declare_return_types - - always_specify_types - - annotate_overrides - - avoid_as - - avoid_init_to_null - - avoid_return_types_on_setters - - await_only_futures - - camel_case_types - - constant_identifier_names - - empty_constructor_bodies - - implementation_imports - - library_names - - library_prefixes - - non_constant_identifier_names - - one_member_abstracts - - only_throw_errors - - overridden_fields - - package_api_docs - - package_prefixed_library_names - - prefer_is_not_empty - - public_member_api_docs - - slash_for_doc_comments - - sort_constructors_first - - sort_unnamed_constructors_first - - type_annotate_public_apis - - type_init_formals - - unawaited_futures - - unnecessary_getters_setters - - # === pub rules === - - package_names diff --git a/dev/setup.sh b/dev/setup.sh deleted file mode 100755 index 99ec284..0000000 --- a/dev/setup.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# 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. - -pub upgrade diff --git a/dev/travis.sh b/dev/travis.sh deleted file mode 100755 index 03d489c..0000000 --- a/dev/travis.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# 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. - -# Make sure dartfmt is run on everything -echo "Checking dart format..." -needs_dart_format="$(dart format --set-exit-if-changed --output=none lib test dev 2>&1)" -if [[ $? != 0 ]]; then - echo "FAILED" - echo "$needs_dart_format" - exit 1 -fi -echo "PASSED" - -# Make sure we pass the analyzer -echo "Checking dartanalyzer..." -fails_analyzer="$(find lib test dev -name "*.dart" --print0 | xargs -0 dartanalyzer --options analysis_options.yaml 2>&1)" -if [[ "$fails_analyzer" == *"[error]"* ]]; then - echo "FAILED" - echo "$fails_analyzer" - exit 1 -fi -echo "PASSED" - -# Make sure we could publish if we wanted to. -echo "Checking publishing..." -fails_publish="$(pub publish --dry-run 2>&1)" -if [[ $? != 0 ]]; then - echo "FAILED" - echo "$fails_publish" - exit 1 -fi -echo "PASSED" - -# Fast fail the script on failures. -set -e - -# Run the tests. -pub run test diff --git a/lib/src/interface/local_platform.dart b/lib/src/interface/local_platform.dart index c8573bd..2abd434 100644 --- a/lib/src/interface/local_platform.dart +++ b/lib/src/interface/local_platform.dart @@ -42,8 +42,7 @@ class LocalPlatform extends Platform { List get executableArguments => io.Platform.executableArguments; @override - String? get packageRoot => - io.Platform.packageRoot; // ignore: deprecated_member_use + String? get packageRoot => null; @override String? get packageConfig => io.Platform.packageConfig; diff --git a/lib/src/interface/platform.dart b/lib/src/interface/platform.dart index 7f9262f..70a7130 100644 --- a/lib/src/interface/platform.dart +++ b/lib/src/interface/platform.dart @@ -159,12 +159,14 @@ abstract class Platform { /// list containing the flags passed to the executable. List get executableArguments; - /// The value of the `--package-root` flag passed to the executable - /// used to run the script in this isolate. This is the directory in which - /// Dart packages are looked up. + /// Deprecated, do not use. /// - /// If there is no `--package-root` flag, `null` is returned. - @deprecated + /// This used to be the value of the `--package-root` flag passed to the + /// executable used to run the script in this isolate, but is no longer + /// supported in Dart 2. + /// + /// Always returns null. + @Deprecated('packages/ directory resolution is not supported in Dart 2.') String? get packageRoot; /// The value of the `--packages` flag passed to the executable diff --git a/lib/src/testing/fake_platform.dart b/lib/src/testing/fake_platform.dart index 046dd0a..8fe49c9 100644 --- a/lib/src/testing/fake_platform.dart +++ b/lib/src/testing/fake_platform.dart @@ -72,8 +72,8 @@ class FakePlatform extends Platform { /// [json] must be a JSON string that matches the encoding produced by /// [toJson]. factory FakePlatform.fromJson(String json) { - Map map = new JsonDecoder().convert(json); - return new FakePlatform( + Map map = JsonDecoder().convert(json); + return FakePlatform( numberOfProcessors: map['numberOfProcessors'], pathSeparator: map['pathSeparator'], operatingSystem: map['operatingSystem'], diff --git a/pubspec.yaml b/pubspec.yaml index efe79e0..123723b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,4 +7,5 @@ environment: sdk: '>=2.12.0 <3.0.0' dev_dependencies: + lints: ^1.0.1 test: ^1.16.8 diff --git a/test/fake_platform_test.dart b/test/fake_platform_test.dart index 3f954b6..2203852 100644 --- a/test/fake_platform_test.dart +++ b/test/fake_platform_test.dart @@ -32,13 +32,13 @@ void main() { late LocalPlatform local; setUp(() { - fake = new FakePlatform(); - local = new LocalPlatform(); + fake = FakePlatform(); + local = LocalPlatform(); }); group('fromPlatform', () { setUp(() { - fake = new FakePlatform.fromPlatform(local); + fake = FakePlatform.fromPlatform(local); }); test('copiesAllProperties', () { @@ -61,7 +61,7 @@ void main() { group('copyWith', () { setUp(() { - fake = new FakePlatform.fromPlatform(local); + fake = FakePlatform.fromPlatform(local); }); test('overrides a value, but leaves others intact', () { @@ -85,7 +85,7 @@ void main() { expect(copy.localeName, local.localeName); }); test('can override all values', () { - fake = new FakePlatform( + fake = FakePlatform( numberOfProcessors: 8, pathSeparator: ':', operatingSystem: 'fake', @@ -94,7 +94,7 @@ void main() { environment: {'PATH': '.'}, executable: 'executable', resolvedExecutable: '/executable', - script: new Uri.file('/platform/test/fake_platform_test.dart'), + script: Uri.file('/platform/test/fake_platform_test.dart'), executableArguments: ['scriptarg'], version: '0.1.1', stdinSupportsAnsi: false, @@ -125,8 +125,8 @@ void main() { group('json', () { test('fromJson', () { - String json = new io.File('test/platform.json').readAsStringSync(); - fake = new FakePlatform.fromJson(json); + String json = io.File('test/platform.json').readAsStringSync(); + fake = FakePlatform.fromJson(json); expect(fake.numberOfProcessors, 8); expect(fake.pathSeparator, '/'); expect(fake.operatingSystem, 'macos'); @@ -139,7 +139,7 @@ void main() { expect(fake.executable, '/bin/dart'); expect(fake.resolvedExecutable, '/bin/dart'); expect(fake.script, - new Uri.file('/platform/test/fake_platform_test.dart')); + Uri.file('/platform/test/fake_platform_test.dart')); expect(fake.executableArguments, ['--checked']); expect(fake.packageRoot, null); expect(fake.packageConfig, null); @@ -148,7 +148,7 @@ void main() { }); test('fromJsonToJson', () { - fake = new FakePlatform.fromJson(local.toJson()); + fake = FakePlatform.fromJson(local.toJson()); _expectPlatformsEqual(fake, local); }); });