diff --git a/.github/workflows/dart.yml b/.github/workflows/dart.yml index 10b075f7..d46ba167 100644 --- a/.github/workflows/dart.yml +++ b/.github/workflows/dart.yml @@ -1,4 +1,4 @@ -# Created with package:mono_repo v6.6.2 +# Created with package:mono_repo v6.6.3 name: Dart CI on: push: @@ -36,20 +36,20 @@ jobs: name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: mono_repo self validate - run: dart pub global activate mono_repo 6.6.2 + run: dart pub global activate mono_repo 6.6.3 - name: mono_repo self validate run: dart pub global run mono_repo generate --validate job_002: - name: "analyze_and_format; linux; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_router_generator, pkgs/shelf_static, pkgs/shelf_test_handler; `dart analyze --fatal-infos .`" + name: "analyze_and_format; linux; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_static; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_router_generator-pkgs/shelf_static-pkgs/shelf_test_handler;commands:analyze" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static;commands:analyze" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_router_generator-pkgs/shelf_static-pkgs/shelf_test_handler + os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest @@ -87,15 +87,6 @@ jobs: run: dart analyze --fatal-infos . if: "always() && steps.pkgs_shelf_router_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_router - - id: pkgs_shelf_router_generator_pub_upgrade - name: pkgs/shelf_router_generator; dart pub upgrade - run: dart pub upgrade - if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_router_generator - - name: "pkgs/shelf_router_generator; dart analyze --fatal-infos ." - run: dart analyze --fatal-infos . - if: "always() && steps.pkgs_shelf_router_generator_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_router_generator - id: pkgs_shelf_static_pub_upgrade name: pkgs/shelf_static; dart pub upgrade run: dart pub upgrade @@ -105,15 +96,6 @@ jobs: run: dart analyze --fatal-infos . if: "always() && steps.pkgs_shelf_static_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_static - - id: pkgs_shelf_test_handler_pub_upgrade - name: pkgs/shelf_test_handler; dart pub upgrade - run: dart pub upgrade - if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler - - name: "pkgs/shelf_test_handler; dart analyze --fatal-infos ." - run: dart analyze --fatal-infos . - if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler job_003: name: "analyze_and_format; linux; Dart 3.4.0; PKG: pkgs/shelf; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest @@ -145,16 +127,16 @@ jobs: if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf job_004: - name: "analyze_and_format; linux; Dart 3.5.0; PKG: pkgs/shelf_web_socket; `dart analyze --fatal-infos .`" + name: "analyze_and_format; linux; Dart 3.5.0; PKGS: pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_web_socket;commands:analyze" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler-pkgs/shelf_web_socket;commands:analyze" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_web_socket + os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler-pkgs/shelf_web_socket os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest @@ -165,6 +147,15 @@ jobs: - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - id: pkgs_shelf_test_handler_pub_upgrade + name: pkgs/shelf_test_handler; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler + - name: "pkgs/shelf_test_handler; dart analyze --fatal-infos ." + run: dart analyze --fatal-infos . + if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler - id: pkgs_shelf_web_socket_pub_upgrade name: pkgs/shelf_web_socket; dart pub upgrade run: dart pub upgrade @@ -175,6 +166,36 @@ jobs: if: "always() && steps.pkgs_shelf_web_socket_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_web_socket job_005: + name: "analyze_and_format; linux; Dart 3.7.0; PKG: pkgs/shelf_router_generator; `dart analyze --fatal-infos .`" + runs-on: ubuntu-latest + steps: + - name: Cache Pub hosted dependencies + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 + with: + path: "~/.pub-cache/hosted" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0;packages:pkgs/shelf_router_generator;commands:analyze" + restore-keys: | + os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0;packages:pkgs/shelf_router_generator + os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0 + os:ubuntu-latest;pub-cache-hosted + os:ubuntu-latest + - name: Setup Dart SDK + uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c + with: + sdk: "3.7.0" + - id: checkout + name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - id: pkgs_shelf_router_generator_pub_upgrade + name: pkgs/shelf_router_generator; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: pkgs/shelf_router_generator + - name: "pkgs/shelf_router_generator; dart analyze --fatal-infos ." + run: dart analyze --fatal-infos . + if: "always() && steps.pkgs_shelf_router_generator_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_router_generator + job_006: name: "analyze_and_format; linux; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_router_generator, pkgs/shelf_static, pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart analyze --fatal-infos .`" runs-on: ubuntu-latest steps: @@ -267,7 +288,7 @@ jobs: run: dart analyze --fatal-infos . if: "always() && steps.pkgs_shelf_web_socket_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_web_socket - job_006: + job_007: name: "analyze_and_format; linux; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_router_generator, pkgs/shelf_static, pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart format --output=none --set-exit-if-changed .`" runs-on: ubuntu-latest steps: @@ -360,17 +381,17 @@ jobs: run: "dart format --output=none --set-exit-if-changed ." if: "always() && steps.pkgs_shelf_web_socket_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_web_socket - job_007: - name: "unit_test; linux; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_router_generator, pkgs/shelf_static, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random`" + job_008: + name: "unit_test; linux; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_static; `dart test --test-randomize-ordering-seed=random`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_router_generator-pkgs/shelf_static-pkgs/shelf_test_handler;commands:test_0" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static;commands:test_0" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_router_generator-pkgs/shelf_static-pkgs/shelf_test_handler + os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest @@ -408,15 +429,6 @@ jobs: run: "dart test --test-randomize-ordering-seed=random" if: "always() && steps.pkgs_shelf_router_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_router - - id: pkgs_shelf_router_generator_pub_upgrade - name: pkgs/shelf_router_generator; dart pub upgrade - run: dart pub upgrade - if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_router_generator - - name: "pkgs/shelf_router_generator; dart test --test-randomize-ordering-seed=random" - run: "dart test --test-randomize-ordering-seed=random" - if: "always() && steps.pkgs_shelf_router_generator_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_router_generator - id: pkgs_shelf_static_pub_upgrade name: pkgs/shelf_static; dart pub upgrade run: dart pub upgrade @@ -426,15 +438,6 @@ jobs: run: "dart test --test-randomize-ordering-seed=random" if: "always() && steps.pkgs_shelf_static_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_static - - id: pkgs_shelf_test_handler_pub_upgrade - name: pkgs/shelf_test_handler; dart pub upgrade - run: dart pub upgrade - if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler - - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random" - run: "dart test --test-randomize-ordering-seed=random" - if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler needs: - job_001 - job_002 @@ -442,36 +445,37 @@ jobs: - job_004 - job_005 - job_006 - job_008: - name: "unit_test; linux; Dart 3.3.0; PKG: pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" + - job_007 + job_009: + name: "unit_test; linux; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_test_handler;commands:test_1" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf;commands:test_1" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0;packages:pkgs/shelf_test_handler - os:ubuntu-latest;pub-cache-hosted;sdk:3.3.0 + os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf + os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest - name: Setup Dart SDK uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c with: - sdk: "3.3.0" + sdk: "3.4.0" - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - id: pkgs_shelf_test_handler_pub_upgrade - name: pkgs/shelf_test_handler; dart pub upgrade + - id: pkgs_shelf_pub_upgrade + name: pkgs/shelf; dart pub upgrade run: dart pub upgrade if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler - - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random -p chrome" + working-directory: pkgs/shelf + - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random -p chrome" run: "dart test --test-randomize-ordering-seed=random -p chrome" - if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler + if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf needs: - job_001 - job_002 @@ -479,15 +483,16 @@ jobs: - job_004 - job_005 - job_006 - job_009: - name: "unit_test; linux; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random -p chrome`" + - job_007 + job_010: + name: "unit_test; linux; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf;commands:test_1" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf;commands:test_0" restore-keys: | os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0 @@ -505,8 +510,8 @@ jobs: run: dart pub upgrade if: "always() && steps.checkout.conclusion == 'success'" working-directory: pkgs/shelf - - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random -p chrome" - run: "dart test --test-randomize-ordering-seed=random -p chrome" + - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random" + run: "dart test --test-randomize-ordering-seed=random" if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf needs: @@ -516,36 +521,37 @@ jobs: - job_004 - job_005 - job_006 - job_010: - name: "unit_test; linux; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random`" + - job_007 + job_011: + name: "unit_test; linux; Dart 3.5.0; PKG: pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf;commands:test_0" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler;commands:test_1" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0;packages:pkgs/shelf - os:ubuntu-latest;pub-cache-hosted;sdk:3.4.0 + os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler + os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest - name: Setup Dart SDK uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c with: - sdk: "3.4.0" + sdk: "3.5.0" - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - id: pkgs_shelf_pub_upgrade - name: pkgs/shelf; dart pub upgrade + - id: pkgs_shelf_test_handler_pub_upgrade + name: pkgs/shelf_test_handler; dart pub upgrade run: dart pub upgrade if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf - - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random" - run: "dart test --test-randomize-ordering-seed=random" - if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf + working-directory: pkgs/shelf_test_handler + - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random -p chrome" + run: "dart test --test-randomize-ordering-seed=random -p chrome" + if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler needs: - job_001 - job_002 @@ -553,17 +559,18 @@ jobs: - job_004 - job_005 - job_006 - job_011: - name: "unit_test; linux; Dart 3.5.0; PKG: pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" + - job_007 + job_012: + name: "unit_test; linux; Dart 3.5.0; PKGS: pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" runs-on: ubuntu-latest steps: - name: Cache Pub hosted dependencies uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 with: path: "~/.pub-cache/hosted" - key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_web_socket;commands:test_0" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler-pkgs/shelf_web_socket;commands:test_0" restore-keys: | - os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_web_socket + os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0;packages:pkgs/shelf_test_handler-pkgs/shelf_web_socket os:ubuntu-latest;pub-cache-hosted;sdk:3.5.0 os:ubuntu-latest;pub-cache-hosted os:ubuntu-latest @@ -574,6 +581,15 @@ jobs: - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - id: pkgs_shelf_test_handler_pub_upgrade + name: pkgs/shelf_test_handler; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler + - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random" + run: "dart test --test-randomize-ordering-seed=random" + if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler - id: pkgs_shelf_web_socket_pub_upgrade name: pkgs/shelf_web_socket; dart pub upgrade run: dart pub upgrade @@ -590,7 +606,46 @@ jobs: - job_004 - job_005 - job_006 - job_012: + - job_007 + job_013: + name: "unit_test; linux; Dart 3.7.0; PKG: pkgs/shelf_router_generator; `dart test --test-randomize-ordering-seed=random`" + runs-on: ubuntu-latest + steps: + - name: Cache Pub hosted dependencies + uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 + with: + path: "~/.pub-cache/hosted" + key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0;packages:pkgs/shelf_router_generator;commands:test_0" + restore-keys: | + os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0;packages:pkgs/shelf_router_generator + os:ubuntu-latest;pub-cache-hosted;sdk:3.7.0 + os:ubuntu-latest;pub-cache-hosted + os:ubuntu-latest + - name: Setup Dart SDK + uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c + with: + sdk: "3.7.0" + - id: checkout + name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - id: pkgs_shelf_router_generator_pub_upgrade + name: pkgs/shelf_router_generator; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: pkgs/shelf_router_generator + - name: "pkgs/shelf_router_generator; dart test --test-randomize-ordering-seed=random" + run: "dart test --test-randomize-ordering-seed=random" + if: "always() && steps.pkgs_shelf_router_generator_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_router_generator + needs: + - job_001 + - job_002 + - job_003 + - job_004 + - job_005 + - job_006 + - job_007 + job_014: name: "unit_test; linux; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome -c dart2wasm`" runs-on: ubuntu-latest steps: @@ -636,7 +691,8 @@ jobs: - job_004 - job_005 - job_006 - job_013: + - job_007 + job_015: name: "unit_test; linux; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: ubuntu-latest steps: @@ -682,7 +738,8 @@ jobs: - job_004 - job_005 - job_006 - job_014: + - job_007 + job_016: name: "unit_test; linux; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_router_generator, pkgs/shelf_static, pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" runs-on: ubuntu-latest steps: @@ -782,7 +839,8 @@ jobs: - job_004 - job_005 - job_006 - job_015: + - job_007 + job_017: name: "unit_test; linux; Dart dev; PKG: pkgs/shelf_router_generator; `dart test --run-skipped -t presubmit-only`" runs-on: ubuntu-latest steps: @@ -819,8 +877,9 @@ jobs: - job_004 - job_005 - job_006 - job_016: - name: "unit_test; windows; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_static, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random`" + - job_007 + job_018: + name: "unit_test; windows; Dart 3.3.0; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_static; `dart test --test-randomize-ordering-seed=random`" runs-on: windows-latest steps: - name: Setup Dart SDK @@ -848,15 +907,6 @@ jobs: run: "dart test --test-randomize-ordering-seed=random" if: "always() && steps.pkgs_shelf_static_pub_upgrade.conclusion == 'success'" working-directory: pkgs/shelf_static - - id: pkgs_shelf_test_handler_pub_upgrade - name: pkgs/shelf_test_handler; dart pub upgrade - run: dart pub upgrade - if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler - - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random" - run: "dart test --test-randomize-ordering-seed=random" - if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler needs: - job_001 - job_002 @@ -864,26 +914,27 @@ jobs: - job_004 - job_005 - job_006 - job_017: - name: "unit_test; windows; Dart 3.3.0; PKG: pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" + - job_007 + job_019: + name: "unit_test; windows; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: windows-latest steps: - name: Setup Dart SDK uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c with: - sdk: "3.3.0" + sdk: "3.4.0" - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - id: pkgs_shelf_test_handler_pub_upgrade - name: pkgs/shelf_test_handler; dart pub upgrade + - id: pkgs_shelf_pub_upgrade + name: pkgs/shelf; dart pub upgrade run: dart pub upgrade if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler - - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random -p chrome" + working-directory: pkgs/shelf + - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random -p chrome" run: "dart test --test-randomize-ordering-seed=random -p chrome" - if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf_test_handler + if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf needs: - job_001 - job_002 @@ -891,26 +942,27 @@ jobs: - job_004 - job_005 - job_006 - job_018: - name: "unit_test; windows; Dart 3.4.0; PKG: pkgs/shelf; `dart test --test-randomize-ordering-seed=random -p chrome`" + - job_007 + job_020: + name: "unit_test; windows; Dart 3.5.0; PKG: pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: windows-latest steps: - name: Setup Dart SDK uses: dart-lang/setup-dart@e51d8e571e22473a2ddebf0ef8a2123f0ab2c02c with: - sdk: "3.4.0" + sdk: "3.5.0" - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - - id: pkgs_shelf_pub_upgrade - name: pkgs/shelf; dart pub upgrade + - id: pkgs_shelf_test_handler_pub_upgrade + name: pkgs/shelf_test_handler; dart pub upgrade run: dart pub upgrade if: "always() && steps.checkout.conclusion == 'success'" - working-directory: pkgs/shelf - - name: "pkgs/shelf; dart test --test-randomize-ordering-seed=random -p chrome" + working-directory: pkgs/shelf_test_handler + - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random -p chrome" run: "dart test --test-randomize-ordering-seed=random -p chrome" - if: "always() && steps.pkgs_shelf_pub_upgrade.conclusion == 'success'" - working-directory: pkgs/shelf + if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler needs: - job_001 - job_002 @@ -918,8 +970,9 @@ jobs: - job_004 - job_005 - job_006 - job_019: - name: "unit_test; windows; Dart 3.5.0; PKG: pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" + - job_007 + job_021: + name: "unit_test; windows; Dart 3.5.0; PKGS: pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" runs-on: windows-latest steps: - name: Setup Dart SDK @@ -929,6 +982,15 @@ jobs: - id: checkout name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - id: pkgs_shelf_test_handler_pub_upgrade + name: pkgs/shelf_test_handler; dart pub upgrade + run: dart pub upgrade + if: "always() && steps.checkout.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler + - name: "pkgs/shelf_test_handler; dart test --test-randomize-ordering-seed=random" + run: "dart test --test-randomize-ordering-seed=random" + if: "always() && steps.pkgs_shelf_test_handler_pub_upgrade.conclusion == 'success'" + working-directory: pkgs/shelf_test_handler - id: pkgs_shelf_web_socket_pub_upgrade name: pkgs/shelf_web_socket; dart pub upgrade run: dart pub upgrade @@ -945,7 +1007,8 @@ jobs: - job_004 - job_005 - job_006 - job_020: + - job_007 + job_022: name: "unit_test; windows; Dart dev; PKGS: pkgs/shelf, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`" runs-on: windows-latest steps: @@ -981,7 +1044,8 @@ jobs: - job_004 - job_005 - job_006 - job_021: + - job_007 + job_023: name: "unit_test; windows; Dart dev; PKGS: pkgs/shelf_packages_handler, pkgs/shelf_static, pkgs/shelf_test_handler, pkgs/shelf_web_socket; `dart test --test-randomize-ordering-seed=random`" runs-on: windows-latest steps: @@ -1035,3 +1099,4 @@ jobs: - job_004 - job_005 - job_006 + - job_007 diff --git a/pkgs/shelf_router_generator/CHANGELOG.md b/pkgs/shelf_router_generator/CHANGELOG.md index ca33e6e0..ea47db1e 100644 --- a/pkgs/shelf_router_generator/CHANGELOG.md +++ b/pkgs/shelf_router_generator/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.1.2-wip + +* Require `analyzer: ^7.4.0` +* Require `build: ^3.0.0` +* Require `build_config: ^1.1.0` +* Require `source_gen: ^3.0.0` +* Require `sdk: ^3.7.0` + ## 1.1.1 * Support the latest `package:analyzer` and `package:source_gen` diff --git a/pkgs/shelf_router_generator/example/main.g.dart b/pkgs/shelf_router_generator/example/main.g.dart index 869d8ecb..bb5347d1 100644 --- a/pkgs/shelf_router_generator/example/main.g.dart +++ b/pkgs/shelf_router_generator/example/main.g.dart @@ -8,47 +8,18 @@ part of 'main.dart'; Router _$ServiceRouter(Service service) { final router = Router(); - router.add( - 'GET', - r'/say-hi/', - service._hi, - ); - router.add( - 'GET', - r'/user/', - service._user, - ); - router.add( - 'GET', - r'/wave', - service._wave, - ); - router.mount( - r'/api', - service._api.call, - ); - router.all( - r'/', - service._notFound, - ); + router.add('GET', r'/say-hi/', service._hi); + router.add('GET', r'/user/', service._user); + router.add('GET', r'/wave', service._wave); + router.mount(r'/api', service._api.call); + router.all(r'/', service._notFound); return router; } Router _$ApiRouter(Api service) { final router = Router(); - router.add( - 'GET', - r'/messages', - service._messages, - ); - router.add( - 'GET', - r'/messages/', - service._messages, - ); - router.all( - r'/', - service._notFound, - ); + router.add('GET', r'/messages', service._messages); + router.add('GET', r'/messages/', service._messages); + router.all(r'/', service._notFound); return router; } diff --git a/pkgs/shelf_router_generator/lib/builder.dart b/pkgs/shelf_router_generator/lib/builder.dart index 5fe106a2..b790aed6 100644 --- a/pkgs/shelf_router_generator/lib/builder.dart +++ b/pkgs/shelf_router_generator/lib/builder.dart @@ -29,7 +29,5 @@ import 'src/shelf_router_generator.dart'; /// A [Builder] that generates a `_$Router( service)` /// function for each class `` containing a member annotated with /// [shelf_router.Route]. -Builder shelfRouter(BuilderOptions _) => SharedPartBuilder( - [ShelfRouterGenerator()], - 'shelf_router', - ); +Builder shelfRouter(BuilderOptions _) => + SharedPartBuilder([ShelfRouterGenerator()], 'shelf_router'); diff --git a/pkgs/shelf_router_generator/lib/src/shelf_router_generator.dart b/pkgs/shelf_router_generator/lib/src/shelf_router_generator.dart index 0ccf70d2..10bbcbf0 100644 --- a/pkgs/shelf_router_generator/lib/src/shelf_router_generator.dart +++ b/pkgs/shelf_router_generator/lib/src/shelf_router_generator.dart @@ -14,16 +14,16 @@ import 'dart:async' show Future; -import 'package:analyzer/dart/element/element.dart' - show ClassElement, ElementKind, ExecutableElement; +import 'package:analyzer/dart/element/element2.dart' + show ClassElement2, ElementKind, ExecutableElement2; import 'package:analyzer/dart/element/type.dart' show ParameterizedType; import 'package:build/build.dart' show BuildStep, log; import 'package:code_builder/code_builder.dart' as code; import 'package:http_methods/http_methods.dart' show isHttpMethod; import 'package:shelf/shelf.dart' as shelf; import 'package:shelf_router/shelf_router.dart' as shelf_router; -// ignore: implementation_imports -import 'package:shelf_router/src/router_entry.dart' show RouterEntry; +import 'package:shelf_router/src/router_entry.dart' // ignore: implementation_imports + show RouterEntry; import 'package:source_gen/source_gen.dart' as g; // Type checkers that we need later @@ -36,93 +36,113 @@ const _stringType = g.TypeChecker.fromRuntime(String); /// A representation of a handler that was annotated with [shelf_router.Route]. class _Handler { final String verb, route; - final ExecutableElement element; + final ExecutableElement2 element; _Handler(this.verb, this.route, this.element); } /// Find members of a class annotated with [shelf_router.Route]. -List getAnnotatedElementsOrderBySourceOffset( - ClassElement cls) => - [ - ...cls.methods.where(_routeType.hasAnnotationOfExact), - ...cls.accessors.where(_routeType.hasAnnotationOfExact) - ]..sort((a, b) => (a.nameOffset).compareTo(b.nameOffset)); +List getAnnotatedElementsOrderBySourceOffset( + ClassElement2 cls, +) => [ + ...cls.methods2.where(_routeType.hasAnnotationOfExact), + ...cls.getters2.where(_routeType.hasAnnotationOfExact), +]..sort( + (a, b) => + (a.firstFragment.nameOffset2!).compareTo(b.firstFragment.nameOffset2!), +); /// Generate a `_$Router( service)` method that returns a /// [shelf_router.Router] configured based on annotated handlers. code.Method _buildRouterMethod({ - required ClassElement classElement, + required ClassElement2 classElement, required List<_Handler> handlers, -}) => - code.Method( - (b) => b - ..name = '_\$${classElement.name}Router' +}) => code.Method( + (b) => + b + ..name = '_\$${classElement.name3}Router' ..requiredParameters.add( - code.Parameter((b) => b - ..name = 'service' - ..type = code.refer(classElement.name)), + code.Parameter( + (b) => + b + ..name = 'service' + ..type = code.refer(classElement.name3!), + ), ) ..returns = code.refer('Router') ..body = code.Block( - (b) => b - ..addExpression( - code - .declareFinal('router') - .assign(code.refer('Router').newInstance([])), - ) - ..statements.addAll(handlers.map((h) => _buildAddHandlerCode( - router: code.refer('router'), - service: code.refer('service'), - handler: h, - ))) - ..addExpression(code.refer('router').returned), + (b) => + b + ..addExpression( + code + .declareFinal('router') + .assign(code.refer('Router').newInstance([])), + ) + ..statements.addAll( + handlers.map( + (h) => _buildAddHandlerCode( + router: code.refer('router'), + service: code.refer('service'), + handler: h, + ), + ), + ) + ..addExpression(code.refer('router').returned), ), - ); +); /// Generate the code statement that adds [handler] from [service] to [router]. code.Code _buildAddHandlerCode({ required code.Reference router, required code.Reference service, required _Handler handler, -}) => - switch (handler.verb) { - r'$mount' => router.property('mount').call([ - code.literalString(handler.route, raw: true), - service.property(handler.element.name).property('call'), - ]).statement, - r'$all' => router.property('all').call([ - code.literalString(handler.route, raw: true), - service.property(handler.element.name), - ]).statement, - _ => router.property('add').call([ - code.literalString(handler.verb.toUpperCase()), - code.literalString(handler.route, raw: true), - service.property(handler.element.name), - ]).statement - }; +}) => switch (handler.verb) { + r'$mount' => + router.property('mount').call([ + code.literalString(handler.route, raw: true), + service.property(handler.element.name3!).property('call'), + ]).statement, + r'$all' => + router.property('all').call([ + code.literalString(handler.route, raw: true), + service.property(handler.element.name3!), + ]).statement, + _ => + router.property('add').call([ + code.literalString(handler.verb.toUpperCase()), + code.literalString(handler.route, raw: true), + service.property(handler.element.name3!), + ]).statement, +}; class ShelfRouterGenerator extends g.Generator { @override Future generate(g.LibraryReader library, BuildStep buildStep) async { // Create a map from ClassElement to list of annotated elements sorted by // offset in source code, this is not type checked yet. - final classes = >{}; + final classes = >{}; for (final cls in library.classes) { final elements = getAnnotatedElementsOrderBySourceOffset(cls); if (elements.isEmpty) { continue; } - log.info('found shelf_router.Route annotations in ${cls.name}'); + log.info('found shelf_router.Route annotations in ${cls.name3}'); - classes[cls] = elements - .map((e) => _routeType.annotationsOfExact(e).map((a) => _Handler( - a.getField('verb')!.toStringValue()!, - a.getField('route')!.toStringValue()!, - e, - ))) - .expand((i) => i) - .toList(); + classes[cls] = + elements + .map( + (e) => _routeType + .annotationsOfExact(e) + .map( + (a) => _Handler( + a.getField('verb')!.toStringValue()!, + a.getField('route')!.toStringValue()!, + e, + ), + ), + ) + .expand((i) => i) + .toList(); } if (classes.isEmpty) { return null; // nothing to do if nothing was annotated @@ -139,13 +159,12 @@ class ShelfRouterGenerator extends g.Generator { } // Build library and emit code with all generate methods. - final methods = classes.entries.map((e) => _buildRouterMethod( - classElement: e.key, - handlers: e.value, - )); - return code.Library((b) => b.body.addAll(methods)) - .accept(code.DartEmitter()) - .toString(); + final methods = classes.entries.map( + (e) => _buildRouterMethod(classElement: e.key, handlers: e.value), + ); + return code.Library( + (b) => b.body.addAll(methods), + ).accept(code.DartEmitter()).toString(); } } @@ -154,32 +173,36 @@ class ShelfRouterGenerator extends g.Generator { void _typeCheckHandler(_Handler h) { if (h.element.isStatic) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation cannot be used on static members', - element: h.element); + 'The shelf_router.Route annotation cannot be used on static members', + element: h.element, + ); } // Check the verb, note that $all is a special value for handling all verbs. if (!isHttpMethod(h.verb) && h.verb != r'$all') { throw g.InvalidGenerationSourceError( - 'The verb "${h.verb}" used in shelf_router.Route annotation must be ' - 'a valid HTTP method', - element: h.element); + 'The verb "${h.verb}" used in shelf_router.Route annotation must be ' + 'a valid HTTP method', + element: h.element, + ); } // Check that this shouldn't have been annotated with Route.mount if (h.element.kind == ElementKind.GETTER) { throw g.InvalidGenerationSourceError( - 'Only the shelf_router.Route.mount annotation can only be used on a ' - 'getter, and only if it returns a shelf_router.Router', - element: h.element); + 'Only the shelf_router.Route.mount annotation can only be used on a ' + 'getter, and only if it returns a shelf_router.Router', + element: h.element, + ); } // Check that this is indeed a method if (h.element.kind != ElementKind.METHOD) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on request ' - 'handling methods', - element: h.element); + 'The shelf_router.Route annotation can only be used on request ' + 'handling methods', + element: h.element, + ); } // Check the route can parse @@ -188,60 +211,63 @@ void _typeCheckHandler(_Handler h) { params = RouterEntry(h.verb, h.route, () => null).params; // ignore: avoid_catching_errors } on ArgumentError catch (e) { - throw g.InvalidGenerationSourceError( - e.toString(), - element: h.element, - ); + throw g.InvalidGenerationSourceError(e.toString(), element: h.element); } // Ensure that the first parameter is shelf.Request - if (h.element.parameters.isEmpty) { + if (h.element.formalParameters.isEmpty) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf request ' - 'handlers accept a shelf.Request parameter', - element: h.element); + 'The shelf_router.Route annotation can only be used on shelf request ' + 'handlers accept a shelf.Request parameter', + element: h.element, + ); } - for (final p in h.element.parameters) { + for (final p in h.element.formalParameters) { if (p.isOptional) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf ' - 'request handlers accept a shelf.Request parameter and/or a ' - 'shelf.Request parameter and all string parameters in the route, ' - 'optional parameters are not permitted', - element: p); + 'The shelf_router.Route annotation can only be used on shelf ' + 'request handlers accept a shelf.Request parameter and/or a ' + 'shelf.Request parameter and all string parameters in the route, ' + 'optional parameters are not permitted', + element: p, + ); } } - if (!_requestType.isExactlyType(h.element.parameters.first.type)) { + if (!_requestType.isExactlyType(h.element.formalParameters.first.type)) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf request ' - 'handlers accept a shelf.Request parameter as first parameter', - element: h.element); + 'The shelf_router.Route annotation can only be used on shelf request ' + 'handlers accept a shelf.Request parameter as first parameter', + element: h.element, + ); } - if (h.element.parameters.length > 1) { - if (h.element.parameters.length != params.length + 1) { + if (h.element.formalParameters.length > 1) { + if (h.element.formalParameters.length != params.length + 1) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf ' - 'request handlers accept a shelf.Request parameter and/or a ' - 'shelf.Request parameter and all string parameters in the route', - element: h.element); + 'The shelf_router.Route annotation can only be used on shelf ' + 'request handlers accept a shelf.Request parameter and/or a ' + 'shelf.Request parameter and all string parameters in the route', + element: h.element, + ); } for (var i = 0; i < params.length; i++) { - final p = h.element.parameters[i + 1]; - if (p.name != params[i]) { + final p = h.element.formalParameters[i + 1]; + if (p.name3 != params[i]) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf ' - 'request handlers accept a shelf.Request parameter and/or a ' - 'shelf.Request parameter and all string parameters in the route, ' - 'the "${p.name}" parameter should be named "${params[i]}"', - element: p); + 'The shelf_router.Route annotation can only be used on shelf ' + 'request handlers accept a shelf.Request parameter and/or a ' + 'shelf.Request parameter and all string parameters in the route, ' + 'the "${p.name3}" parameter should be named "${params[i]}"', + element: p, + ); } if (!_stringType.isExactlyType(p.type)) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf ' - 'request handlers accept a shelf.Request parameter and/or a ' - 'shelf.Request parameter and all string parameters in the route, ' - 'the "${p.name}" parameter is not of type string', - element: p); + 'The shelf_router.Route annotation can only be used on shelf ' + 'request handlers accept a shelf.Request parameter and/or a ' + 'shelf.Request parameter and all string parameters in the route, ' + 'the "${p.name3}" parameter is not of type string', + element: p, + ); } } } @@ -254,10 +280,11 @@ void _typeCheckHandler(_Handler h) { } if (!_responseType.isAssignableFromType(returnType)) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation can only be used on shelf request ' - 'handlers that return shelf.Response, Future or ' - 'FutureOr, and not "${h.element.returnType}"', - element: h.element); + 'The shelf_router.Route annotation can only be used on shelf request ' + 'handlers that return shelf.Response, Future or ' + 'FutureOr, and not "${h.element.returnType}"', + element: h.element, + ); } } @@ -266,36 +293,41 @@ void _typeCheckHandler(_Handler h) { void _typeCheckMount(_Handler h) { if (h.element.isStatic) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route annotation cannot be used on static members', - element: h.element); + 'The shelf_router.Route annotation cannot be used on static members', + element: h.element, + ); } // Check that this should have been annotated with Route.mount if (h.element.kind != ElementKind.GETTER) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route.mount annotation can only be used on a ' - 'getter that returns shelf_router.Router', - element: h.element); + 'The shelf_router.Route.mount annotation can only be used on a ' + 'getter that returns shelf_router.Router', + element: h.element, + ); } // Sanity checks for the prefix if (!h.route.startsWith('/')) { throw g.InvalidGenerationSourceError( - 'The prefix "${h.route}" in shelf_router.Route.mount(prefix) ' - 'annotation must begin with a slash', - element: h.element); + 'The prefix "${h.route}" in shelf_router.Route.mount(prefix) ' + 'annotation must begin with a slash', + element: h.element, + ); } if (h.route.contains('<')) { throw g.InvalidGenerationSourceError( - 'The prefix "${h.route}" in shelf_router.Route.mount(prefix) ' - 'annotation cannot contain <', - element: h.element); + 'The prefix "${h.route}" in shelf_router.Route.mount(prefix) ' + 'annotation cannot contain <', + element: h.element, + ); } if (!_routerType.isAssignableFromType(h.element.returnType)) { throw g.InvalidGenerationSourceError( - 'The shelf_router.Route.mount annotation can only be used on a ' - 'getter that returns shelf_router.Router', - element: h.element); + 'The shelf_router.Route.mount annotation can only be used on a ' + 'getter that returns shelf_router.Router', + element: h.element, + ); } } diff --git a/pkgs/shelf_router_generator/pubspec.yaml b/pkgs/shelf_router_generator/pubspec.yaml index e1840d5e..ab1fb542 100644 --- a/pkgs/shelf_router_generator/pubspec.yaml +++ b/pkgs/shelf_router_generator/pubspec.yaml @@ -1,5 +1,5 @@ name: shelf_router_generator -version: 1.1.1 +version: 1.1.2-wip description: > A package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations. @@ -11,21 +11,21 @@ topics: - shelf environment: - sdk: ^3.3.0 + sdk: ^3.7.0 dependencies: - analyzer: '>=4.6.0 <8.0.0' - build: ^2.2.2 - build_config: ^1.0.0 + analyzer: ^7.4.0 + build: ^3.0.0 + build_config: ^1.1.0 code_builder: ^4.2.0 http_methods: ^1.1.0 shelf: ^1.1.0 shelf_router: ^1.1.0 - source_gen: ">=1.2.2 <3.0.0" + source_gen: ^3.0.0 dev_dependencies: - build_runner: ^2.1.9 + build_runner: ^2.6.0 build_verify: ^3.0.0 dart_flutter_team_lints: ^3.0.0 http: ^1.0.0 - test: ^1.21.0 + test: ^1.25.9 diff --git a/pkgs/shelf_router_generator/test/server/api.g.dart b/pkgs/shelf_router_generator/test/server/api.g.dart index 75e9a23c..b2dc9a96 100644 --- a/pkgs/shelf_router_generator/test/server/api.g.dart +++ b/pkgs/shelf_router_generator/test/server/api.g.dart @@ -8,20 +8,8 @@ part of 'api.dart'; Router _$ApiRouter(Api service) { final router = Router(); - router.add( - 'GET', - r'/time', - service._time, - ); - router.add( - 'GET', - r'/to-uppercase/', - service._toUpperCase, - ); - router.add( - 'GET', - r'/$string-escape', - service._stringEscapingWorks, - ); + router.add('GET', r'/time', service._time); + router.add('GET', r'/to-uppercase/', service._toUpperCase); + router.add('GET', r'/$string-escape', service._stringEscapingWorks); return router; } diff --git a/pkgs/shelf_router_generator/test/server/server.dart b/pkgs/shelf_router_generator/test/server/server.dart index ba55082a..70d911be 100644 --- a/pkgs/shelf_router_generator/test/server/server.dart +++ b/pkgs/shelf_router_generator/test/server/server.dart @@ -29,9 +29,5 @@ class Server { Future stop() => _server.close(); - Uri get uri => Uri( - scheme: 'http', - host: 'localhost', - port: _server.port, - ); + Uri get uri => Uri(scheme: 'http', host: 'localhost', port: _server.port); } diff --git a/pkgs/shelf_router_generator/test/server/service.g.dart b/pkgs/shelf_router_generator/test/server/service.g.dart index 07508c26..8140b76e 100644 --- a/pkgs/shelf_router_generator/test/server/service.g.dart +++ b/pkgs/shelf_router_generator/test/server/service.g.dart @@ -8,38 +8,12 @@ part of 'service.dart'; Router _$ServiceRouter(Service service) { final router = Router(); - router.add( - 'GET', - r'/say-hello', - service._sayHello, - ); - router.add( - 'GET', - r'/say-hello/', - service._sayHello, - ); - router.add( - 'GET', - r'/wave', - service._wave, - ); - router.add( - 'GET', - r'/greet/', - service._greet, - ); - router.add( - 'GET', - r'/hi/', - service._hi, - ); - router.mount( - r'/api/', - service._api.call, - ); - router.all( - r'/<_|.*>', - service._index, - ); + router.add('GET', r'/say-hello', service._sayHello); + router.add('GET', r'/say-hello/', service._sayHello); + router.add('GET', r'/wave', service._wave); + router.add('GET', r'/greet/', service._greet); + router.add('GET', r'/hi/', service._hi); + router.mount(r'/api/', service._api.call); + router.all(r'/<_|.*>', service._index); return router; } diff --git a/pkgs/shelf_router_generator/test/server_test.dart b/pkgs/shelf_router_generator/test/server_test.dart index df14559d..bb946eb6 100644 --- a/pkgs/shelf_router_generator/test/server_test.dart +++ b/pkgs/shelf_router_generator/test/server_test.dart @@ -22,10 +22,7 @@ void main() { setUpAll(server.start); tearDownAll(server.stop); - void testGet({ - required String path, - required String result, - }) => + void testGet({required String path, required String result}) => test('GET $path', () async { final result = await http.get(server.uri.resolve(path)); expect(result, equals(result)); diff --git a/pkgs/shelf_test_handler/CHANGELOG.md b/pkgs/shelf_test_handler/CHANGELOG.md index 941ecbc6..cb895460 100644 --- a/pkgs/shelf_test_handler/CHANGELOG.md +++ b/pkgs/shelf_test_handler/CHANGELOG.md @@ -1,6 +1,8 @@ ## 2.0.3-wip -* Require Dart `^3.3.0`. +* Require `shelf: ^1.1.0` +* Require `test: ^1.25.15` +* Require `sdk: ^3.5.0`. ## 2.0.2 diff --git a/pkgs/shelf_test_handler/pubspec.yaml b/pkgs/shelf_test_handler/pubspec.yaml index 35afd903..c8420493 100644 --- a/pkgs/shelf_test_handler/pubspec.yaml +++ b/pkgs/shelf_test_handler/pubspec.yaml @@ -9,15 +9,15 @@ topics: - shelf environment: - sdk: ^3.3.0 + sdk: ^3.5.0 dependencies: http_multi_server: ^3.0.0 - shelf: ^1.0.0 - test: ^1.16.0 + shelf: ^1.1.0 + test: ^1.25.15 dev_dependencies: dart_flutter_team_lints: ^3.0.0 http: ^1.0.0 - shelf_web_socket: ^2.0.0 - web_socket_channel: ^2.0.0 + shelf_web_socket: ^3.0.0 + web_socket_channel: ^3.0.3 diff --git a/pkgs/shelf_web_socket/CHANGELOG.md b/pkgs/shelf_web_socket/CHANGELOG.md index 8a6c40f0..980b77f2 100644 --- a/pkgs/shelf_web_socket/CHANGELOG.md +++ b/pkgs/shelf_web_socket/CHANGELOG.md @@ -1,3 +1,5 @@ +## 3.0.1-wip + ## 3.0.0 * **BREAKING:**: Change the signature of the `webSocketHandler` method's diff --git a/pkgs/shelf_web_socket/pubspec.yaml b/pkgs/shelf_web_socket/pubspec.yaml index deb6656d..9d142ddf 100644 --- a/pkgs/shelf_web_socket/pubspec.yaml +++ b/pkgs/shelf_web_socket/pubspec.yaml @@ -1,5 +1,5 @@ name: shelf_web_socket -version: 3.0.0 +version: 3.0.1-wip description: A shelf handler that wires up a listener for every connection. repository: https://github.com/dart-lang/shelf/tree/master/pkgs/shelf_web_socket issue_tracker: https://github.com/dart-lang/shelf/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Ashelf_web_socket @@ -20,7 +20,3 @@ dev_dependencies: dart_flutter_team_lints: ^3.0.0 http: '>=0.13.0 <2.0.0' test: ^1.25.2 - -# TODO(devoncarew): Remove once package:test supports v2+v3 of shelf_web_socket. -dependency_overrides: - test: ^1.25.11 diff --git a/tool/ci.sh b/tool/ci.sh index d576ee0e..c5272b36 100644 --- a/tool/ci.sh +++ b/tool/ci.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Created with package:mono_repo v6.6.2 +# Created with package:mono_repo v6.6.3 # Support built in commands on windows out of the box.