Skip to content

Commit

Permalink
Release 2.0.0-rc2
Browse files Browse the repository at this point in the history
  • Loading branch information
ascheman committed Nov 4, 2024
1 parent a50696e commit a6caf16
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 33 deletions.
49 changes: 42 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# ChangeLog

## Publication (Generic)

- [Documentation](https://hsc.aim42.org)
- [Maven Central](https://central.sonatype.com/namespace/org.aim42.htmlSanityCheck)
- [Gradle Plugin Portal](https://plugins.gradle.org/search?term=org.aim42.htmlSanityCheck)

## 2.0.0-rc2

### Changes (2.0.0-rc2)

#### Improvements (2.0.0-rc2)

- [#330](https://github.com/aim42/htmlSanityCheck/issues/330) - Replace incorporated `net.ricecode` components
- [#331](https://github.com/aim42/htmlSanityCheck/issues/331) - Use mocks for remote/integration testing

#### Version Bumps (2.0.0-rc2)

- Gradle Wrapper
- Junit5
- WireMock and TestContainers
- JReleaser

#### Misc. Changes (2.0.0-rc2)

- Drop ignored (flaky) tests (thanks again to RC)
- Refer to Apache license directly from ASF site (due to flaky HSC checks of former location)
- Fix typos, simplify the language, and align with technical writer conventions of the ChangeLog and other documentation
- Fix generating the ChangeLog.md file (header) for the documentation

### New Contributors (2.0.0-rc2)

- [Rehan Chalana](https://github.com/RehanChalana) (RC)
- [Prankur Tiwari](https://github.com/Prankurtiwari) (PT)

## 2.0.0-rc1

### Publication (2.0.0-rc1)
Expand All @@ -19,23 +53,23 @@
- Misc. dependency/plugin version bumps
- Execute the full integration test with misc. Gradle version only on CI (to improve local build/test speed)
- Reduce empty lines from console reporting
- Move Gradle classes to gradle subdirectory and improve type safety in plugin implementation
- Ensure that self-check always uses latest build
- Move Gradle classes to Gradle subdirectory and improve type safety in plugin implementation
- Ensure that self-check always uses the latest build
- Enable upload to Gradle Plugin Portal
- [#258](https://github.com/aim42/htmlSanityCheck/issues/258) - Change to new (replaced) hsc.aim42.org documentation page
- Add Mastodon announcement (incl. credentials) via JReleaser
- Consequently rename 'HTML Sanity Checker' -> 'HTML Sanity Check'
- Consequently, rename 'HTML Sanity Checker' 'HTML Sanity Check'
- Set GitHub specific admonition icons in README files
- [#332](https://github.com/aim42/htmlSanityCheck/issues/332) - Update and fix documentation
- Derive Groovy version from implicit (Gradle) dependency
- Derive the Groovy version from implicit (Gradle) dependency
- Add GPG agent configuration
- Release to Maven Central via JReleaser
- Unify utility classes (and tests) for Web and URLs

#### BugFixes (2.0.0-rc1)

- Avoid NPE in config initialization
- Replace outdated/missing link from [#185](https://github.com/aim42/htmlSanityCheck/issues/185)
- Replace an outdated/missing link from [#185](https://github.com/aim42/htmlSanityCheck/issues/185)
- Fix/Update badges and contained links
- Search MavenCentral first for dependencies to avoid strange Gradle errors with Maven local repository
- [#153](https://github.com/aim42/htmlSanityCheck/issues/153) - Rollback HTTP redirect codes to bbc210fb and ignore 'javascript:' URLs
Expand All @@ -45,6 +79,7 @@
- Avoid JPMS warnings for AsciiDoctor task

### New Contributors (2.0.0-rc1)

- [Sandra Parsick](https://github.com/sparsick) (SP)

## 2.0.0-rc0
Expand All @@ -62,7 +97,7 @@
- [#320](https://github.com/aim42/htmlSanityCheck/issues/320) - Add SonarQube (SonarCloud) analysis
- [#317](https://github.com/aim42/htmlSanityCheck/issues/317) - Add test coverage reports (aka. JaCoCo)
- [#315](https://github.com/aim42/htmlSanityCheck/issues/315) - Introduce dependabot to become aware of dependency updates
- [#312](https://github.com/aim42/htmlSanityCheck/issues/312) - Port HSC from Groovy to Java (in order to prepare [#314](https://github.com/aim42/htmlSanityCheck/issues/314), the proposed Maven plugin)
- [#312](https://github.com/aim42/htmlSanityCheck/issues/312) - Port HSC from Groovy to Java (to prepare [#314](https://github.com/aim42/htmlSanityCheck/issues/314), the proposed Maven plugin)
- [#309](https://github.com/aim42/htmlSanityCheck/issues/309) - Modularize htmlSanityChecker → gradle plugin + core (GA/BK/JT)

#### BugFixes (2.0.0-rc0)
Expand Down Expand Up @@ -110,7 +145,7 @@ April 8th 2016: Add JUnit XML reporting to support automated tools.

## 0.9.3
June 14th 2015: published on Gradle Plugin Repository
May 14th 2015: reverted subproject structure, as it led to numerous build problems.
May 14th 2015: reverted subproject structure, as it led to many build problems.

## 0.8.0
It could not be published on Bintray due to these issues.
Expand Down
2 changes: 1 addition & 1 deletion src/docs/arc42/chapters/_config.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
// Align the version with
// - ../../../../gradle.properties file
// - ../../../../asciidoctor-config.ad
:hsc-version: 2.0.0-rc1
:hsc-version: 2.0.0-rc2

:project: htmlsanitycheck

Expand Down
30 changes: 13 additions & 17 deletions src/docs/arc42/chapters/chap-09-Decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,34 @@ include::_config.adoc[]


=== HTML Parsing with jsoup
To check HTML we parse it into an internal (DOM-like) representation.
For this task we use {jsoup-url}, an open-source parser without
external dependencies.

To check HTML, we parse it into an internal (DOM-like) representation.
For this task we use {jsoup-url}, an open-source parser without external dependencies.

To quote from the jsoup website:

[quote]
jsoup is a Java library for working with real-world HTML.
It provides a very convenient API for extracting and manipulating data,
using the best of DOM, CSS, and jQuery-like methods.

`jsoup` is a Java library for working with real-world HTML.
It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jQuery-like methods.

Goals of this decision::
Check HTML programmatically by using an existing API that provides access and finder
methods to the DOM-tree of the file(s) to be checked.
Check HTML programmatically by using an existing API that provides access and finder methods to the DOM tree of the file(s) to be checked.

Decision Criteria::
* few dependencies, so the HSC binary stays as small as possible.
* accessor and finder methods to find images, links and link-targets within the DOM tree.
* Few dependencies, so the HSC binary stays as small as possible.
* Accessor and finder methods to find images, links and link-targets within the DOM tree.

Alternatives::

* HTTPUnit: a testing framework for web applications and -sites. Its main focus is web testing and it suffers from a large number of dependencies.
* jsoup: a plain HTML parser without any dependencies (!) and a rich API to access all HTML elements in DOM-like syntax.

* `HTTPUnit`: a testing framework for web applications and sites.
Its main focus is web testing, and it suffers from a large number of dependencies.
* `jsoup`: a plain HTML parser without any dependencies (!) and a rich API to access all HTML elements in DOM-like syntax.

Find details on how HSC implements HTML parsing in the {xrefConceptHtmlEncapsulation}.


=== String Similarity Checking with https://wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance[Jaro-Winkler-Distance]

The small https://github.com/rrice/java-string-similarity[java-string-similarity] library (by Ralph Allen Rice) contains implementations of several similarity-calculation algorithms.
As it is public binary, available at central https://central.sonatype.com/artifact/net.ricecode/string-similarity[maven repository] we have used it as external library dependencies.
Primarily we have used Jaro-Winkler strategy to find similarity.
As it is a public binary, available at https://central.sonatype.com/artifact/net.ricecode/string-similarity[Maven Central], we have used it as external library dependencies.
Primarily, we have used Jaro-Winkler strategy to find similarity.

15 changes: 7 additions & 8 deletions src/docs/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,15 @@ v0.9, 2014-09-02

image::{improveDocImage}[link={repositoryDocsDir}index.adoc, float=right]

*The Problem*: Languages like AsciiDoc or Markdown allow for easy writing and
hyperlinking. When they are transformed to HTML the _sanity_ of links
and images is not checked - that's where HSC comes into play...
*The Problem*: Languages like AsciiDoc or Markdown allow for easy writing and hyperlinking.
When they are transformed to HTML, the _sanity_ of links and images is not checked - that's where HSC comes into play...

*The Solution*:

image::htmlsanitycheck-overview.png["Overview", title="Overview"]

HSC can perform various content and semantic checks on HTML files,
e.g. check for missing images, broken internal links, duplicate targets etc.
e.g., check for missing images, broken internal links, duplicate targets, etc.

It is open source software and provides documentation for the following
types of stakeholders:
Expand All @@ -34,13 +33,13 @@ types of stakeholders:
| Documentation
| Content

| Asciidoc, Markdown etc. author
| AsciiDoc, Markdown etc. author
| User Guide
| (planned) intended for writers and authors, explains
how to check your (generated) html
how to check your (generated) HTML

| link:development/development-intro.adoc[Development Guide]
| software developers,
| Software developers,
| Describes development environment,
building HSC and its documentation.

Expand All @@ -54,7 +53,7 @@ types of stakeholders:

|===

The {project-url}[repository is located on Github].
The {project-url}[repository is located on GitHub].

ifdef::backend-html5[]
*Status*:
Expand Down

0 comments on commit a6caf16

Please sign in to comment.