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

Port of HtmlSanityChecker from Groovy to Java #312

Closed
truhroth opened this issue Jan 10, 2024 · 1 comment
Closed

Port of HtmlSanityChecker from Groovy to Java #312

truhroth opened this issue Jan 10, 2024 · 1 comment
Assignees
Milestone

Comments

@truhroth
Copy link
Collaborator

truhroth commented Jan 10, 2024

The core module is currently written mostly using groovy. This leads to a dependency to groovy even if you do not use grade, which brings groovy itself.

The goal of this ticket, is to port the core code to pure java and reduce the runtime depe3ndencys. The aim is to only have a runtime dependency to the html parser.

The text code is also written in groovy. Since it does not forces a runtime dependency to groovy, this code is not refactored in this ticket.

@truhroth truhroth self-assigned this Jan 10, 2024
@ascheman ascheman added this to the 2.0.0-rc0 milestone Mar 26, 2024
ascheman added a commit that referenced this issue Mar 28, 2024
ascheman added a commit that referenced this issue Mar 28, 2024
- Fix some small bugs (which even existed in the Groovy implementation)
- Make central Configuration class a (lombok) Bean with only getters and a builder.
  All configuration items are now ordinary (typed) fields.
  It only contains very few setter like logic any longer (we should get rid
  of those methods as well and treat a configuration immutable in the future.
  Nevertheless, we could drop some tests regarding configuration contents,
  overriding etc.
- Fix some Groovy->Java translations, e.g., '==' for Strings -> 'equals'
- Fix some internal types, in particular,
  - using interfaces vs. implementations,
  - using Sets or Lists instead of Collections to gain more specific behavior.
- Fix warnings, e.g., remove unnecessary public modifier of test methods
- Align implementation and test packages
- Fix some typos/wording
- Align some names with Java conventions (e.g., for constants)
- Simplify by inlining some code fragments
- Handle IP address validation by Apache commons-validator
ascheman added a commit that referenced this issue Mar 28, 2024
- Align with version 1.1.6 to make results comparable.
- Fix html links in reports (remove "'").
@ascheman
Copy link
Member

Merged all changes to develop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants