Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

router_generator: allow latest pkg:analyzer, request Dart 3 #368

Merged
merged 2 commits into from
Jul 6, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 91 additions & 34 deletions .github/workflows/dart.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,16 @@ jobs:
- name: mono_repo self validate
run: dart pub global run mono_repo generate --validate
job_002:
name: "analyze_and_format; linux; Dart 2.19.0; 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 .`"
name: "analyze_and_format; linux; Dart 2.19.0; PKGS: pkgs/shelf, pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_static, 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@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages: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;commands:analyze"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/shelf-pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static-pkgs/shelf_test_handler-pkgs/shelf_web_socket;commands:analyze"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages: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
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/shelf-pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static-pkgs/shelf_test_handler-pkgs/shelf_web_socket
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
Expand Down Expand Up @@ -96,15 +96,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
Expand Down Expand Up @@ -133,6 +124,36 @@ jobs:
if: "always() && steps.pkgs_shelf_web_socket_pub_upgrade.conclusion == 'success'"
working-directory: pkgs/shelf_web_socket
job_003:
name: "analyze_and_format; linux; Dart 3.0.0; PKG: pkgs/shelf_router_generator; `dart analyze --fatal-infos .`"
runs-on: ubuntu-latest
steps:
- name: Cache Pub hosted dependencies
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/shelf_router_generator;commands:analyze"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/shelf_router_generator
os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Dart SDK
uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
with:
sdk: "3.0.0"
- id: checkout
name: Checkout repository
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- 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_004:
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:
Expand Down Expand Up @@ -225,7 +246,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_004:
job_005:
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:
Expand Down Expand Up @@ -318,7 +339,7 @@ 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_005:
job_006:
name: "unit_test; linux; Dart 2.19.0; PKGS: pkgs/shelf, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`"
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -362,17 +383,18 @@ jobs:
- job_002
- job_003
- job_004
job_006:
name: "unit_test; linux; Dart 2.19.0; 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`"
- job_005
job_007:
name: "unit_test; linux; Dart 2.19.0; PKGS: pkgs/shelf, pkgs/shelf_packages_handler, pkgs/shelf_proxy, pkgs/shelf_router, pkgs/shelf_static, 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@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages: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;commands:test_0"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/shelf-pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static-pkgs/shelf_test_handler-pkgs/shelf_web_socket;commands:test_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages: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
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0;packages:pkgs/shelf-pkgs/shelf_packages_handler-pkgs/shelf_proxy-pkgs/shelf_router-pkgs/shelf_static-pkgs/shelf_test_handler-pkgs/shelf_web_socket
os:ubuntu-latest;pub-cache-hosted;sdk:2.19.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
Expand Down Expand Up @@ -419,15 +441,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
Expand Down Expand Up @@ -460,7 +473,44 @@ jobs:
- job_002
- job_003
- job_004
job_007:
- job_005
job_008:
name: "unit_test; linux; Dart 3.0.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@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8
with:
path: "~/.pub-cache/hosted"
key: "os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/shelf_router_generator;commands:test_0"
restore-keys: |
os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0;packages:pkgs/shelf_router_generator
os:ubuntu-latest;pub-cache-hosted;sdk:3.0.0
os:ubuntu-latest;pub-cache-hosted
os:ubuntu-latest
- name: Setup Dart SDK
uses: dart-lang/setup-dart@d6a63dab3335f427404425de0fbfed4686d93c4f
with:
sdk: "3.0.0"
- id: checkout
name: Checkout repository
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- 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_009:
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:
Expand Down Expand Up @@ -504,7 +554,8 @@ jobs:
- job_002
- job_003
- job_004
job_008:
- job_005
job_010:
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:
Expand Down Expand Up @@ -602,7 +653,8 @@ jobs:
- job_002
- job_003
- job_004
job_009:
- job_005
job_011:
name: "unit_test; linux; Dart dev; PKG: pkgs/shelf_router_generator; `dart test --run-skipped -t presubmit-only`"
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -637,7 +689,8 @@ jobs:
- job_002
- job_003
- job_004
job_010:
- job_005
job_012:
name: "unit_test; windows; Dart 2.19.0; PKGS: pkgs/shelf, pkgs/shelf_test_handler; `dart test --test-randomize-ordering-seed=random -p chrome`"
runs-on: windows-latest
steps:
Expand Down Expand Up @@ -671,7 +724,8 @@ jobs:
- job_002
- job_003
- job_004
job_011:
- job_005
job_013:
name: "unit_test; windows; Dart 2.19.0; 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:
Expand Down Expand Up @@ -723,7 +777,8 @@ jobs:
- job_002
- job_003
- job_004
job_012:
- job_005
job_014:
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:
Expand Down Expand Up @@ -757,7 +812,8 @@ jobs:
- job_002
- job_003
- job_004
job_013:
- job_005
job_015:
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:
Expand Down Expand Up @@ -809,3 +865,4 @@ jobs:
- job_002
- job_003
- job_004
- job_005
5 changes: 3 additions & 2 deletions pkgs/shelf_router_generator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
## 1.0.7-dev
## 1.0.7-wip

* Require `sdk: '>=2.19.0 <3.0.0'`
* Require `sdk: ^3.0.0`
* Require `analyzer: '>=4.6.0 <7.0.0'`

## 1.0.6

Expand Down
36 changes: 16 additions & 20 deletions pkgs/shelf_router_generator/lib/src/shelf_router_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -85,26 +85,22 @@ code.Code _buildAddHandlerCode({
required code.Reference router,
required code.Reference service,
required _Handler handler,
}) {
switch (handler.verb) {
case r'$mount':
return router.property('mount').call([
code.literalString(handler.route, raw: true),
service.property(handler.element.name).property('call'),
]).statement;
case r'$all':
return router.property('all').call([
code.literalString(handler.route, raw: true),
service.property(handler.element.name),
]).statement;
default:
return 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.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
};

class ShelfRouterGenerator extends g.Generator {
@override
Expand Down
8 changes: 4 additions & 4 deletions pkgs/shelf_router_generator/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: shelf_router_generator
version: 1.0.7-dev
version: 1.0.7-wip
description: >
A package:build-compatible builder for generating request routers for the
shelf web-framework based on source annotations.
Expand All @@ -10,16 +10,16 @@ topics:
- shelf

environment:
sdk: '>=2.19.0 <3.0.0'
sdk: ^3.0.0

dependencies:
analyzer: '>=4.6.0 <6.0.0'
analyzer: '>=4.6.0 <7.0.0'
build: ^2.0.0
build_config: ^1.0.0
code_builder: ^4.2.0
http_methods: ^1.0.0
shelf: ^1.1.0
shelf_router: ^1.0.0
shelf_router: ^1.1.0
source_gen: ^1.0.0

dev_dependencies:
Expand Down