Skip to content

ArchUnitJava 0.1.0 — Public Beta

Pre-release
Pre-release

Choose a tag to compare

@TristanKruse TristanKruse released this 03 Sep 20:23
· 23 commits to main since this release

ArchUnitJava 0.1.0 is the first public release of the independent Java architecture-testing library.

Install

Maven:

<dependency>
  <groupId>io.github.tristankruse</groupId>
  <artifactId>archunitjava</artifactId>
  <version>0.1.0</version>
  <scope>test</scope>
</dependency>

Gradle:

repositories { mavenCentral() }

dependencies {
    testImplementation("io.github.tristankruse:archunitjava:0.1.0")
}

Highlights

  • Parses Java 8–25 class files and JARs as data without loading target classes.
  • Builds an immutable dependency model with selectors, projections, architecture rules, presets,
    metrics, and baseline adoption.
  • Integrates with JUnit Platform, Maven/Gradle builds, a CLI, and machine- and human-readable reports.
  • Produces deterministic evidence and graph output while keeping incomplete analysis distinct from
    architecture violations.
  • Applies bounded input, cache, regex, report, archive, and resource controls backed by an
    adversarial test corpus.

Release verification

  • Signed tag verified with release-key fingerprint
    8F7C42989C49216FA75523251BB3BFA38C776312.
  • Maven Central validated and published io.github.tristankruse:archunitjava:0.1.0.
  • The release run completed 347 tests with zero failures or errors.
  • Primary, source, Javadoc, and POM signatures were independently verified; all supplied MD5,
    SHA-1, SHA-256, and SHA-512 checksums matched.
  • The independent RAG consumer resolved this public release and passed on Linux and Windows with
    JDK 25.

Compatibility

ArchUnitJava 0.1.0 requires JDK 25 at runtime and can analyze javac bytecode targeting Java 8–25.
The API is provisional before 1.0 and is not API-compatible with the established ArchUnit project.
ArchUnitJava is independently implemented and is not affiliated with ArchUnit.

See the documentation,
release evidence, and
external consumer.