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

valkyrjaio / sindri-java / 30418286712
100%

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jul 2026 02:59AM UTC
Jobs 1
Files 90
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 Jul 2026 02:58AM UTC coverage: 99.952% (+0.001%) from 99.951%
30418286712

push

github

web-flow
[Http] Read dynamic route annotations and carry their parameter flags (#61)

# Description

Two defects that between them made a dynamic route unusable from the
generated cache.

**1. `@DynamicRoute` was never read.** `HttpRouteAttributeReader`
collected a method's route
annotations with `getNameAsString().equals("Route")`, so every
`@DynamicRoute` was silently
skipped and its route vanished from the generated data — the application
routed it when
collected at runtime and 404'd when running cached. The PHP reader scans
for both
`#[Route]` and `#[DynamicRoute]`; this brings the Java reader in line,
and also reads the
`parameters = {@Parameter(...)}` a dynamic route declares inline.

**2. A parameter's optional and capture flags were dropped.**
`HttpRouteParameterReader`
reads `isOptional` and `shouldCapture` into `HttpParameterData`, but
both the regex
computation and the emitted parameter list rebuilt the framework
`Parameter` from only its
name and regex. A parameter declared `shouldCapture = false` was
generated as a named
capture group, and an optional one lost its optionality — so the cached
regex did not match
what the framework builds at runtime.

Found while adding one route per routing permutation to the example
application
(valkyrjaio/valkyrja-starter-app-java), whose non-capturing permutation
generated
`(?<value>[a-zA-Z]+)` instead of `(?:[a-zA-Z]+)`. Verified end to end:
with this build the
example application generates the non-capturing group and every
permutation's regex matches
the processor's own output.

## 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 _(breaking change which removes functionality)_
- [ ] Breaking change _(fix or feature that would cause existing
functionality to change)_
- [ ] Documentation improvement

## Changes

- **`ast/HttpRouteAttributeR... (continued)

533 of 534 branches covered (99.81%)

Branch coverage included in aggregate %.

18 of 18 new or added lines in 2 files covered. (100.0%)

1529 of 1529 relevant lines covered (100.0%)

4.38 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30418286712.1 29 Jul 2026 02:59AM UTC 90
99.95
GitHub Action Run
Source Files on build 30418286712
  • Tree
  • List 90
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30418286712
  • a954a831 on github
  • Prev Build on 26.x (#30416234887)
  • Next Build on 26.x (#30418777941)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc