elementary
elementary copied to clipboard
A suite of libraries that simplify creating and unit testing annotation processors.
Elementary - Simplify creating and testing annotation processors.
To get started, check out the docs & Gradle example.
Elementary - JUnit extensions to test compilation & annotation processors
This project is mature. It requires Java 11.
<!-- Requires JUnit 5.9.3 & above -->
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.9.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>elementary</artifactId>
<version>2.0.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- Required if you're using the @Introspect annotation. See tour.md for a Gradle equivalent -->
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>process-test-classes</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/test-classes/</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/test/java/</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Utilitary - Utilities for annotation processors.
This project is mature. It requires Java 11.
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>utilitary</artifactId>
<version>2.0.1</version>
</dependency>
Satisfactory - Composable Element matching library
This project is currently on hiatus until Java has fully fledged pattern matching.
<repositories>
<repository>
<id>elementary-releases</id>
<url>https://repo.karuslabs.com/repository/elementary-releases/</url>
</repository>
</repositories>
<dependency>
<groupId>com.karuslabs</groupId>
<artifactId>satisfactory</artifactId>
<version>1.1.2</version>
</dependency>