Plugin Documentation

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

Goals

Goals available for this plugin:

Goal Description
tentackle:analyze Generates code and meta-information prior to wurbeling and compiling the sources.

Processes all annotations annotated with @Analyze, such as @Service.
Processing results are either written to files in analyzeDir or placed on heap for being picked up by wurblets, depending on the handler implementation for each annotation.

tentackle:beaninfo Finds all BeanInfo-files and creates a manifest from.
tentackle:help Display help information on tentackle-maven-plugin.
Call mvn tentackle:help -Ddetail=true -Dgoal=<goal-name> to display parameter details.
tentackle:plugin-versions Mojo to determine the versions of all maven plugins used in the current project.
It logs the versions in XML-format ready to use within the properties section of a pom file. The property names are of the form version.groupIdInCamelCase.artifactIdInCamelCase.

Example:

  mvn tentackle:plugin-versions
  ...
  [INFO] 
  [INFO] --- tentackle-maven-plugin:13.0-SNAPSHOT:plugin-versions (default-cli) @ admin-parent ---
  [INFO] versions of plugins:
  <version.orgApacheMavenPlugins.mavenCleanPlugin>3.1.0</version.orgApacheMavenPlugins.mavenCleanPlugin>
  <version.orgApacheMavenPlugins.mavenCompilerPlugin>3.8.1</version.orgApacheMavenPlugins.mavenCompilerPlugin>
  <version.orgApacheMavenPlugins.mavenDependencyPlugin>3.1.1</version.orgApacheMavenPlugins.mavenDependencyPlugin>
  <version.orgApacheMavenPlugins.mavenDeployPlugin>2.8.2</version.orgApacheMavenPlugins.mavenDeployPlugin>
  <version.orgApacheMavenPlugins.mavenEnforcerPlugin>3.0.0-M1</version.orgApacheMavenPlugins.mavenEnforcerPlugin>
  <version.orgApacheMavenPlugins.mavenInstallPlugin>2.5.2</version.orgApacheMavenPlugins.mavenInstallPlugin>
  <version.orgApacheMavenPlugins.mavenJarPlugin>3.1.2</version.orgApacheMavenPlugins.mavenJarPlugin>
  <version.orgApacheMavenPlugins.mavenJavadocPlugin>3.1.1</version.orgApacheMavenPlugins.mavenJavadocPlugin>
  <version.orgApacheMavenPlugins.mavenResourcesPlugin>3.1.0</version.orgApacheMavenPlugins.mavenResourcesPlugin>
  <version.orgApacheMavenPlugins.mavenSitePlugin>3.8.2</version.orgApacheMavenPlugins.mavenSitePlugin>
  ...
Notice: the whole project must have been successfully built before invoking this goal.
tentackle:properties Generates maven properties from other maven properties.

Example:

  <propertyDescriptors>
    <propertyDescriptor>
     <input>${dbPasswd}</input>
     <converter>@org.tentackle.common.Cryptor</converter>
     <property>encryptedPasswd</property>
    </propertyDescriptor>
  </propertyDescriptors>

The converter is a FQCN of a singleton with a no-args constructor. Because it must be in the classpath of the tentackle-maven-plugin, its artifact must be placed within the plugin's <dependencies>.
If the FQCN starts with an @, the converter is looked up via META-INF/services.

Important: the converters must be stateless because their instances are cached!

tentackle:test-analyze Generates code and meta-information prior to wurbeling and compiling the test sources.

Processes all annotations annotated with @Analyze, such as @Service.
Processing results are either written to files in analyzeDir or placed on heap for being picked up by wurblets, depending on the handler implementation for each annotation.

tentackle:versions Mojo to determine the versions of all 3rd-party dependencies of the current project.
It logs the versions in XML-format ready to use within the properties section of a pom file. The property names are of the form version.groupIdInCamelCase.artifactIdInCamelCase.
If no dependency scope is given, the dependencies of all scopes are listed.

Example:

  mvn -Dscope=compile tentackle:versions
  ...
  [INFO] 
  [INFO] --- tentackle-maven-plugin:11.5.1.0:versions (default-cli) @ myapplic-parent ---
  [INFO] versions of 3rd-party dependencies for scope 'compile':
  <version.orgCodehausGroovy.groovy>2.5.8</version.orgCodehausGroovy.groovy>
  <version.orgOpenjfx.javafxBase>13.0.1</version.orgOpenjfx.javafxBase>
  <version.orgOpenjfx.javafxControls>13.0.1</version.orgOpenjfx.javafxControls>
  <version.orgOpenjfx.javafxFxml>13.0.1</version.orgOpenjfx.javafxFxml>
  <version.orgOpenjfx.javafxGraphics>13.0.1</version.orgOpenjfx.javafxGraphics>
  <version.orgOpenjfx.javafxMedia>13.0.1</version.orgOpenjfx.javafxMedia>
  <version.orgOpenjfx.javafxWeb>13.0.1</version.orgOpenjfx.javafxWeb>
  <version.orgSlf4j.slf4jApi>1.7.28</version.orgSlf4j.slf4jApi>
  <version.orgTentackle.tentackleCommon>11.5.1.0</version.orgTentackle.tentackleCommon>
  <version.orgTentackle.tentackleCore>11.5.1.0</version.orgTentackle.tentackleCore>
  <version.orgTentackle.tentackleDatabase>11.5.1.0</version.orgTentackle.tentackleDatabase>
  <version.orgTentackle.tentackleDomain>11.5.1.0</version.orgTentackle.tentackleDomain>
  <version.orgTentackle.tentackleFx>11.5.1.0</version.orgTentackle.tentackleFx>
  <version.orgTentackle.tentackleFxRdc>11.5.1.0</version.orgTentackle.tentackleFxRdc>
  <version.orgTentackle.tentackleFxRdcPoi>11.5.1.0</version.orgTentackle.tentackleFxRdcPoi>
  <version.orgTentackle.tentackleFxRdcUpdate>11.5.1.0</version.orgTentackle.tentackleFxRdcUpdate>
  <version.orgTentackle.tentackleI18n>11.5.1.0</version.orgTentackle.tentackleI18n>
  <version.orgTentackle.tentackleLogSlf4j>11.5.1.0</version.orgTentackle.tentackleLogSlf4j>
  <version.orgTentackle.tentacklePdo>11.5.1.0</version.orgTentackle.tentacklePdo>
  <version.orgTentackle.tentacklePersistence>11.5.1.0</version.orgTentackle.tentacklePersistence>
  <version.orgTentackle.tentackleScriptGroovy>11.5.1.0</version.orgTentackle.tentackleScriptGroovy>
  <version.orgTentackle.tentackleSession>11.5.1.0</version.orgTentackle.tentackleSession>
  <version.orgTentackle.tentackleSql>11.5.1.0</version.orgTentackle.tentackleSql>
  <version.orgTentackle.tentackleUpdate>11.5.1.0</version.orgTentackle.tentackleUpdate>
  ...
Notice: the whole project must have been successfully built before invoking this goal.

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.0.4 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-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-maven-plugin</artifactId>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

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