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

valkyrjaio / valkyrja-java / 30749063443
100%

Build:
DEFAULT BRANCH: 26.x
Ran 02 Aug 2026 01:02PM UTC
Jobs 1
Files 670
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

02 Aug 2026 01:01PM UTC coverage: 100.0%. Remained the same
30749063443

push

github

web-flow
[Provider] refactor!: Remove the abstract ComponentProvider base and declare every contract method (#122)

# Description

Java carried an abstract `ComponentProvider` base class. That base
supplied an empty default for
every `ComponentProviderContract` method. PHP had the same class and
removed it deliberately in
valkyrjaio/valkyrja-php#718. This pull request brings Java into line.

Two properties make the explicit form better than the inherited default:

- A reader of one provider sees what the component supplies, and what it
does not supply, from that
  one file. The reader does not open a base class.
- Each empty return is a real method on a real class, so the
100%-per-file coverage rule forces a
  test for it.

Warning: an inherited default breaks both properties. The method is not
on the subclass, so no test
asserts it. A component that must supply a provider can then return
empty, and nothing reports the
fault.

`getGrpcProviders` was the only method that a provider inherited. Every
provider already declared
the other five. Each provider now declares `getGrpcProviders` too, and
each one returns the same
value that it returned before. No behavior changes.

This change breaks a public API.
`io.valkyrja.application.provider.abstract_.ComponentProvider` is
a public class. An application that extends it must implement
`ComponentProviderContract` directly
and declare all six methods.

The tests moved to the shape that PHP uses today: one test per contract
method. The previous tests
were inconsistent. Several asserted only `assertNotNull` on a list that
a method builds with
`List.of()`, which asserts nothing. Two classes tested several providers
at once
(`CliComponentProvidersTest`, `GrpcComponentProvidersTest`);
`CliComponentProvidersTest` also
duplicated three per-provider test classes that already existed. Both
classes are now split into
per-provider classes whose package mirrors `src`.

The full CI gate passes. JaCoCo reports zero missed lines and ... (continued)

1929 of 1929 branches covered (100.0%)

Branch coverage included in aggregate %.

42 of 42 new or added lines in 21 files covered. (100.0%)

7070 of 7070 relevant lines covered (100.0%)

4.33 hits per line

Jobs
ID Job ID Ran Files Coverage
1 30749063443.1 02 Aug 2026 01:02PM UTC 670
100.0
GitHub Action Run
Source Files on build 30749063443
  • Tree
  • List 670
  • Changed 22
  • Source Changed 22
  • Coverage Changed 21
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30749063443
  • df8c95ff on github
  • Prev Build on 26.x (#30743930191)
  • Next Build on 26.x (#30749183361)
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