Project¶
Requirements¶
- JarHC requires at least Java 11.
- JarHC has been tested with Java 11, Java 17, Java 21, and Java 25.
Note: JarHC is able to analyze Java classes compiled for Java 1.0 to Java 25, independent of which Java version is used to run JarHC.
License¶
JarHC is released under the Apache License version 2.
Dependencies¶
ASM¶
ASM is an all-purpose Java bytecode manipulation and analysis framework.
License: 3-Clause BSD License.
org.json / JSON In Java¶
The JSON-Java package is a reference implementation that demonstrates how to parse JSON documents into Java objects and how to generate new JSON documents from the Java classes.
License: The JSON License.
Maven Artifact Resolver¶
Apache Maven Artifact Resolver is a library for working with artifact repositories and dependency resolution.
License: Apache License version 2.
SLF4J¶
The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.
License: MIT License.
Developers¶
Stephan Markwalder - @smarkwal
Ideas¶
See GitHub issues:
Development¶
Build¶
Building JarHC with Gradle requires at least Java 17.
Check if Java is installed and which version is used by default:
If needed, set JAVA_HOME to an installation of Java 17 or greater:
Then, run a full build with Gradle Wrapper:
To run a build without tests:
To run the release tests:
To run the benchmarks:
Sonar analysis¶
Run a full build first (see above).
Next, set your Sonar token for SonarCloud.
Finally, run the Sonar analysis.
Scan results can be found in SonarCloud: https://sonarcloud.io/project/overview?id=smarkwal_jarhc
Documentation¶
The documentation is automatically built and published to GitHub Pages:
- On every push to the
masterbranch by the GitHub workflow Docs Snapshot. - On every release by the GitHub workflow Docs Release.
To test the documentation locally before publishing, run:
And then visit http://localhost:8000/jarhc/ in your browser.
To build and inspect the documentation locally, run:
And then open the generated file site/index.html in your browser.