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

Modularize Build #309

Closed
ascheman opened this issue Oct 19, 2023 · 6 comments · Fixed by #310
Closed

Modularize Build #309

ascheman opened this issue Oct 19, 2023 · 6 comments · Fixed by #310

Comments

@ascheman
Copy link
Member

As users we would like to make HSC more modular in order to enable integration it with other build tools (e.g., Maven) or even UIs (like a GUI and a CLI tool for HSC).

Note: This is already foreseen in the architecture.

Background

In our contexts we had already the demand to use HTML Sanity Checker in other tool chains, e.g.,

  • as part of a Maven build: The respective organisation has written an inner source Maven plugin based on the sources of HSC as there was no Maven plugin available (perhaps this organisation would now be willing to contribute their Maven adaption?)
  • for docToolchain it was discussed to make embedded components like HSC more lightweight to get rid of an Gradle based build in the long run.

Authors / Proof of Concept

  • The idea to request this was already born in internal discussions with some client organisations long ago (@ascheman)
  • The mentioned discussions in the docToolchain context with @rdmueller and others contributed to this idea
  • In the CyberLand Code Camp of Oct. 11th we found more allies to implement a Proof-of-Concept (coming soon): @BjoernKasteleiner and @johthor
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 19, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 19, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 19, 2023
This includes all Java code, all resources, and most parts of Groovy code.
@ascheman
Copy link
Member Author

Do you like this RfE and our PoC (cf. #310), @gernotstarke / @rdmueller? At least I would then adjust the documentation accordingly and make the PR final. I have already additional ideas to implement a CLI layer on top of the new core module and hope that some of the others will provide a Maven plugin for HSC.

@gernotstarke
Copy link
Member

sounds good to me, no objections at all. Currently I cannot support you, though.

@PacoVK
Copy link

PacoVK commented Oct 19, 2023

Awesome! @rdmueller and i had a chat yesterday and we agreed to go that road with docToolchain as well. I already implemented a core component in dtc here and will release a RC soon. Good to see HSC evolves in the same direction because we then have the possibility to integrate the HSC core module decoupled from Gradle, which is nice. For reference: modularize dtc ADR

ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 20, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 20, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
Kudos to the TNG/JGiven project - learned a lot from their nice Gradle setup!
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Oct 21, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
This includes all Java code, all resources, and most parts of Groovy code.
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
Kudos to the TNG/JGiven project - learned a lot from their nice Gradle setup!
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit to ascheman/htmlSanityCheck that referenced this issue Dec 13, 2023
ascheman added a commit that referenced this issue Jan 24, 2024
ascheman added a commit that referenced this issue Jan 24, 2024
Use Slf4j "nop" impl. to avoid warnings during tests.
It is overridden by Gradle logging anyways.
ascheman added a commit that referenced this issue Jan 24, 2024
ascheman added a commit that referenced this issue Jan 24, 2024
ascheman added a commit that referenced this issue Jan 24, 2024
ascheman added a commit that referenced this issue Jan 24, 2024
ascheman added a commit that referenced this issue Jan 26, 2024
@ascheman
Copy link
Member Author

Build modularization completed, kudos to @truhroth, @johthor and other contributors during the CyberLand Open Source Camps!

@ascheman
Copy link
Member Author

We seem to need a little bit of documentation for the modularization before we could release it

@ascheman ascheman reopened this Apr 22, 2024
ascheman added a commit that referenced this issue Apr 23, 2024
and integrate conversion and sanity checking of the README document
into the `gradle-plugin` integration test.
@ascheman
Copy link
Member Author

ascheman commented Aug 7, 2024

First release candidate (rc0) of modularised build was published to Maven Central on 23rd of June 2024.

@ascheman ascheman closed this as completed Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants