Elementary is a suite of libraries that simplify creating and unit testing annotation processors.
Elementary and Utilitary requires Java 11+. Satisfactory requires Java 17.
Read the wiki or check out the Gradle demo project to get started!
Please read The Problem With Annotation Processors for more information on what problem Elementary solves.
Maven Repository
<repository>
<id>elementary-releases</id>
<url>https://repo.karuslabs.com/repository/elementary-releases/</url>
</repository>
Elementary - A suite of tools and JUnit extensions to test annotation processors and compilation
"If I have seen further that others, it is by standing on the shoulder of giants"
This project is heavily inspired by Google's compile-testing project.
<!-- Requires JUnit 5.7.1 & above -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>elementary</artifactId>
<version>1.1.3</version>
<scope>test</scope>
</dependency>
Element
matching library
Satisfactory - A composable
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>satisfactory</artifactId>
<version>1.1.3</version>
</dependency>
Utilitary - Utilities to simplify implementation of annotation processors.
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>utilitary</artifactId>
<version>1.1.3</version>
</dependency>