Grim is a tool that helps enforce dead code is eliminated from GWT libraries. Grim consists of a set of annotations that developers use to declare which methods or fields are expected to be eliminated from the javascript output under different conditions. Grim also contains an annotation processor that processes the annotations to generate a set of output rules that indicates the members that will be eliminated with specific values for compile time settings. Grim also contains an assertion library that takes one or more output rules and verifies that the results of a GWT compilation complied with the rules.
The tool is released to Maven Central and can be downloaded using normal dependency download mechanisms. The Maven dependency is:
<dependency>
<groupId>org.realityforge.grim</groupId>
<artifactId>grim-annotations</artifactId>
<version>0.09</version>
</dependency>
<dependency>
<groupId>org.realityforge.grim</groupId>
<artifactId>grim-processor</artifactId>
<version>0.09</version>
</dependency>
<dependency>
<groupId>org.realityforge.grim</groupId>
<artifactId>grim-asserts</artifactId>
<version>0.09</version>
</dependency>
The project was released as open source so others could benefit from the project. We are thankful for any contributions from the community. A Code of Conduct has been put in place and a Contributing document is under development.
The project is licensed under Apache License, Version 2.0.