• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / sindri-java / 28342709223
100%

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jun 2026 01:19AM UTC
Jobs 1
Files 80
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jun 2026 01:18AM UTC coverage: 100.0%. Remained the same
28342709223

push

github

web-flow
[Generation] Inline manually-defined provider routes into generated routing data (#33)

# Description

Provider classes can declare routes two ways: by listing annotated
controllers via `getControllerClasses()`, and by returning `Route` /
`DynamicRoute` objects directly from `getRoutes()`. The AST data
generator previously only read `getControllerClasses()` and ignored
`getRoutes()`, so manually-defined provider routes never made it into
the generated cached routing data.

This teaches the generator to read, fully qualify, and inline those
`getRoutes()` definitions for both CLI and HTTP, so the cached data
holds every route and the runtime never has to iterate providers. It
also extends the CLI route-attribute reader to emit a
`Supplier<RouteContract>` built from `@Route` + `@RouteHandler` metadata
instead of a bare name placeholder.

---

## Types of Changes

- [x] Improvement _(non-breaking change which improves code)_
- [ ] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

---

## Changes

- **`src/main/java/io/sindri/ast/RouteProviderReader.java`** — read
`getRoutes()` alongside `getControllerClasses()`; added `qualify()` to
fully qualify type/name references against the file's imports (including
the provider's own class) so inlined routes are self-contained
- **`src/main/java/io/sindri/ast/CliRouteAttributeReader.java`** — build
the route value as a `() -> new Route(name, description, handler)`
supplier expression from `@Route` + `@RouteHandler`, fully qualified;
handle missing/marker `@RouteHandler` (null handler) and unknown
annotation members
-
**`src/main/java/io/sindri/generate/abstract_/GenerateDataFromAst.java`**
— inline provider `getRoutes()` routes into both CLI and HTTP generated
... (continued)

403 of 403 branches covered (100.0%)

Branch coverage included in aggregate %.

98 of 98 new or added lines in 3 files covered. (100.0%)

1213 of 1213 relevant lines covered (100.0%)

4.31 hits per line

Jobs
ID Job ID Ran Files Coverage
1 28342709223.1 29 Jun 2026 01:19AM UTC 80
100.0
GitHub Action Run
Source Files on build 28342709223
  • Tree
  • List 80
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #28342709223
  • c8a991d4 on github
  • Prev Build on 26.x (#28327820564)
  • Next Build on 26.x (#28349039774)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc