Skip to content
This repository has been archived by the owner on Jan 13, 2021. It is now read-only.

Matthewacon/Pal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pal

Pal is a compile-time only Library that expands on the abilities of java compiler Annotation Processor extensions. It allows for traditional source transformations as well as post-compile bytecode transformations, using the ByteBuddy library. Pal provides support for multithreaded annotation processing, for both source and bytecode, compiler event hooks, processor chaining, differentiated compile-time and runtime class definitions, and much more. The public API further allows for user defined pal annotations and processors that may be used throughout any project.

Clarification

Pal is a compile-time only library

Upon compilation with the Pal library, all annotations defined through the Pal API will be stripped from the output classes of a project, removing any dependency on the library in production.

Requirements

  • JDK 8, 9 or 10+
  • Gradle 4.8+
  • CMake 3.8+

Building

gradle clean build exampleJar

License

This project is licensed under the M.I.T License

Disclaimer

This library is very much still under development and does not currently have a stable release. The API is subject to dramatic and breaking changes. Use at your own risk.

About

A Java compiler extension library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages