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

valkyrjaio / sindri-java / 27920061701
100%

Build:
DEFAULT BRANCH: 26.x
Ran 21 Jun 2026 10:53PM 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

21 Jun 2026 10:52PM UTC coverage: 100.0%. Remained the same
27920061701

push

github

web-flow
[Generation] Fix HTTP routing data and framework-provider resolution (#31)

# Description

Generating the application's `App*Data` files revealed the generated
output diverging badly from the PHP generator's. This fixes four bugs in
the AST readers and file generators so the generated HTTP routing and
container data are correct and complete.

- **HTTP route values were not real suppliers.** `routes()` emitted
`"version", version` — a bare, undefined identifier that does not
compile — instead of a `Supplier<RouteContract>`. It now builds `() ->
new Route(...)` with the handler method-reference and request methods.
- **`HEAD` was dropped from `paths()`.** PHP includes it; the skip is
removed.
- **Dynamic routes were not generated.** `{placeholder}` routes are now
detected, `@Parameter` / `@Parameters` are read (resolving `Regex.*`
constants), the match regex is precomputed by running the real framework
`Processor` (so it can never drift from runtime), and a `DynamicRoute`
supplier plus `dynamicPaths()` / `regexes()` are emitted.
- **`AppContainerData` was missing framework providers (~36 of ~40
callbacks).** Provider resolution only handled the app namespace and
recursed one level, so framework providers (`io.valkyrja.*`, reached via
`HttpApplicationComponentProvider`) were skipped. It now resolves
framework `.java` from the valkyrja sources jar on the classpath (the
portable equivalent of PHP's `ReflectionClass::getFileName()`) and
recurses the whole component-provider graph.

The end-to-end generate test previously only asserted the four files
exist. It now asserts the generated content (route suppliers, `HEAD`,
dynamic routes + regexes, framework-provider publishers) and that the
generated file parses as valid Java.

---

## Types of Changes

- [ ] Improvement _(non-breaking change which improves code)_
- [x] Bug fix _(non-breaking change which fixes an issue)_
- [ ] New feature _(non-breaking change which adds functionality)_
- [ ] Deprecation _(bre... (continued)

354 of 354 branches covered (100.0%)

Branch coverage included in aggregate %.

168 of 168 new or added lines in 5 files covered. (100.0%)

1133 of 1133 relevant lines covered (100.0%)

4.27 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27920061701.1 21 Jun 2026 10:53PM UTC 80
100.0
GitHub Action Run
Source Files on build 27920061701
  • Tree
  • List 80
  • Changed 6
  • Source Changed 6
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27920061701
  • 46ba7282 on github
  • Prev Build on 26.x (#27895975739)
  • Next Build on 26.x (#27920099948)
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