Anteater Plugins

Anteater is a powerful tool with built-in processors that simplify automation, testing, and system interaction. While the built-in processors provide minimal functionality for performing simple commands, they are designed to handle basic tasks efficiently and serve as a foundation for more complex workflows. However, no tool can cover every unique workflow, situation, or system. When you encounter tasks beyond the capabilities of the base processors, the solution is simple: you write code.

Anteater plugins are designed to empower developers by enabling custom functionality when the built-in processors fall short. These plugins provide a structured and deliberate way to extend Anteater’s capabilities using custom Java code. Far from being a workaround, plugins seamlessly integrate into the tool, ensuring your specific requirements are met without compromising the integrity of your workflows or the system.

How it work

Anteater plugins are developed as separate projects and are designed to extend the functionality of Anteater. These plugins have dependencies on either the anteater-cli or anteater-desktop modules, depending on the intended use case. This modular structure ensures that plugins integrate seamlessly with the core application while maintaining a clear separation of concerns, allowing for easier development, testing, and deployment of custom functionality.

The diagram showcases the following key aspects of an Anteater plugin:

  1. Anteater:

    • Represents the core Anteater framework.
    • Contains the BaseProcessor class, which provides foundational functionality for processing tasks in Anteater.
    • This package serves as the base for plugin development.
  2. Plugin (highlighted in yellow):

    • Represents the plugin being developed.
    • Contains the MyProcessor class, which extends the Anteater.BaseProcessor class.
    • The MyProcessor class is customized to add specific functionality required by the plugin.
  3. ThirdPartyComponents:

    • Represents external libraries or dependencies used by the plugin.
    • Contains the ExternalLibrary class, which is utilized by the MyProcessor class to perform certain tasks or provide additional functionality.

This page showcases several plugins developed as part of the ganteater.com project:

These plugins are designed to enhance Anteater's functionality and provide solutions for common workflows. However, you are not limited to using only these plugins—you can create your own plugins tailored to your specific needs, whether as Open Source contributions or proprietary solutions within your domain. Anteater's flexible architecture empowers developers to extend its capabilities in any way they require.

Usage

Anteater plugins offer flexibility in how they can be integrated into your projects. They can be utilized in the following ways:

Fully Assembled JAR File

  • You can directly use the compiled .jar file of the plugin in your project.
  • Simply place the .jar file in the appropriate directory (e.g., plugins folder). Adding it to the classpath is generally required, but for plugins from ganteater.com, this step is not necessary as they are automatically detected and used if downloaded to the plugins folder. Ensure the plugin is properly loaded by the Anteater application.
  • Note: A fully assembled .jar file should include all necessary related libraries to ensure proper functionality. Missing dependencies may cause runtime errors.

This ensures the .jar file is recognized and integrated properly during execution.

Example:
  1. Download or build the plugin as a .jar file.
  2. Place it in the plugins directory of your Anteater setup and add it to the classpath if required.
  3. The plugin will be automatically detected and used during execution.

Maven Dependency

  • If the plugin is hosted in a Maven repository, you can add it as a dependency in your Maven project.
  • This method is ideal for projects that use Maven for dependency management and want to integrate plugins seamlessly.

Example Maven Configuration:

<dependency>
	<groupId>com.ganteater</groupId>
	<artifactId>anteater-myplugin</artifactId>
	<version>1.0.0</version>
</dependency>

Steps:

  • Add the dependency to your pom.xml file.
  • Maven will automatically download and include the plugin in your project during the build process.