Plugin Documentation

This report describes goals, parameters details, requirements and sample usage of this plugin.

Goals

Goals available for this plugin:

Goal Description
tentackle-check:bundles Verifies all bundle getString() invocations.

Finds all invocations of <reference>.getString(<string-literal>).
Where <reference> is:

  • a bundle classname, e.g. BlahBundle.getString("foo") checked against BlahBundle properties.
  • a method that refers to a bundle with the same name as the class containing the method invocation, e.g. getBundle().getString("foo") in class Blah corresponds to the key "foo" in Blah.properties.
  • a variable or constant: same as method, i.e. the bundle name is that of the containing class, e.g. resources.getString("foo").
If a class must not be checked for bundle keys, it needs to be excluded from the fileset.

The following cases are not covered by this mojo:

  • all non-literals, e.g. getBundle().getString(text) as often found in enums. Needs explicit tests.
  • PdoBundles, i.e. translations for @Singular, @Plural. See PdoUtilitiesTest.
  • ValidationBundles, i.e. translations in validators, are covered by the mojo tentackle-check:validations.
tentackle-check:help Display help information on tentackle-check-maven-plugin.
Call mvn tentackle-check:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
tentackle-check:validations Verifies all annotation-based validations.
Scans for validator annotations (annotated with @Validation), creates the validators and their compound values for the annotation's value, message and condition. If the compound values are scripts, the scripts will be compiled. If a message-script is an i18n-script (see @MessageScriptConverter), the script will be evaluated for each configured locale.

System Requirements

The following specifies the minimum requirements to run this Maven plugin:

Maven 3.9.0
JDK 21

System Requirements History

The following specifies the minimum requirements to run this Maven plugin for historical versions:

Plugin Version Maven JDK
from 21.15.0.0 to 21.16.1.0 - 21
from 17.8.0.0 to 17.14.0.2 - 17
16.0-M1 - 16
from 11.2.3.0 to 11.7.4.1 - 11
from 8.2.2.0 to 8.3.0.4 - 8
2.2.0 - 11
from 2.1.0 to 2.1.6 - 8

Usage

You should specify the version in your project's plugin configuration:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.tentackle</groupId>
          <artifactId>tentackle-check-maven-plugin</artifactId>
          <version>21.16.1.0</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.tentackle</groupId>
        <artifactId>tentackle-check-maven-plugin</artifactId>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

For more information, see "Guide to Configuring Plug-ins"