Pineapple is organized into at set of Maven 2.0 projects.
The top Maven project is named pineapple-project (this project). Sub project are organized into these groups:
Overview:
pineapple-project | +--- applications | +--- pineapple-web-application | +--- pineapple-jetty-starter | +--- pineapple-standalone-web-client | +--- pineapple-web-application-war | +--- modules | +--- pineapple-api | +--- pineapple-commands-api | +--- pineapple-core | +--- pineapple-infrastructure-test-plugin | +--- models | +--- pineapple-example-modules | +--- plugins | +--- pineapple-agent-plugin | +--- pineapple-composite-execution-plugin | +--- pineapple-ssh-plugin | +--- pineapple-git-plugin | +--- pineapple-docker-plugin | +--- pineapple-filesystem-plugin | +--- support | +--- pineapple-hamcrest-support | +--- pineapple-process-execution-support | +--- pineapple-docker-support | +--- reporting | +--- pineapple-basic-html-report-generator | +--- testing +--- pineapple-test-utils
Location: pineapple-project/applications
POM-type project which serves to organize build order for application projects.
Location: pineapple-project/modules
POM-type project which serves to organize build order for core projects.
Location: pineapple-project/models
POM-type project which serves to organize build order for model projects.
Location: pineapple-project/plugins
POM-type project which serves to organize build order for plugin projects.
Location: pineapple-project/support
POM-type project which serves to organize build order for support projects.
Location: pineapple-project/reporting
POM-type project which serves to organize build order for reporting projects.
Location: pineapple-project/applications/pineapple-web-application
POM-type project which is an umbrella project for the web application.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/modules/pineapple-api
JAR-type project which produces a JAR file which contains:
All pineapple-projects should link to this project as they usually needs either the model classes or the plugin interfaces.
A link to the project documentation for the core component can be found here.
Location: pineapple-project/modules/pineapple-commands-api
JAR-type project which produces a JAR file which contains reusable functionality which extends the Commons Chain project and which makes usage of Chain commands easier.
Pineapple-projects should link to this project if they implements Chain commands.
A link to the project documentation for the core component can be found here.
Location: pineapple-project/modules/pineapple-core
JAR-type project which produces a JAR file which contains:
Pineapple-projects should link to this project if they need to use the reusable classes.
A link to the project documentation for the core component can be found here.
Location: pineapple-project/modules/pineapple-infrastructure-test-plugin
JAR-type project which produces a JAR file which contains a plugin for testing basic network infrastructure.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/models/pineapple-example-modules
JAR-type project which produces a JAR file which contains a compendium of example modules.
A link to the project documentation for the project can be found here.
Location: pineapple-project/plugins/pineapple-agent-plugin
JAR-type project which can supports remote communication with Pineapple agents using REST web services.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/plugins/pineapple-composite-execution-plugin
JAR-type project which produces a JAR file which implements a plugin for composite execution of modules.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/plugins/pineapple-ssh-plugin
JAR-type project which produces a JAR file which implements a plugin for SSH access to remote hosts.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/plugins/pineapple-git-plugin
JAR-type project which produces a JAR file which implements a plugin for performing Git operations on module.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/plugins/pineapple-docker-execution-plugin
JAR-type project which produces a JAR file which implements a plugin for remote management of Docker.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/support/pineapple-hamcrest-support
JAR-type project which produces a JAR file which contains a Hamcrest asserter object and a collection of reusable Hamcrest matchers.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/supportpineapple-process-execution-support
JAR-type project which produces a JAR file which contains a classes for execution of external OS processes for plugins.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/support/pineapple-docker-support
JAR-type project which produces a JAR file which contains a Docker session and a Docker client for general test purposes and a set of reusable Chain commands which implements Docker management tasks.
A link to the project documentation for the plugin can be found here.
Location: pineapple-project/applications/pineapple-web-application/pineapple-web-application-war
WAR-type project which produces a WAR file which implements the web application through the usage of Spring Web MVC and the ZK framework.
A link to the project documentation can be found here.
Location: pineapple-project/applications/pineapple-web-application/pineapple-jetty-starter
JAR-type project which produces a JAR file which contain a single Java class which is used to start the Jetty web server and deploys the Pineapple web application to the server.
A link to the project documentation can be found here.
Location: pineapple-project/applications/pineapple-web-application/pineapple-standalone-web-client
POM-type project which produces a ZIP file which bundles the web application (WAR) together with the Jetty starter project and all nessecary dependecies and creates a simple Java desktop application which have no other requirements than a JDK on the machine where it is installed.
A link to the project documentation can be found here.
Location: pineapple-project/reporting/pineapple-basic-html-report-generator
JAR-type project which contains a reporting generator which generate HTML based reports documenting how execution of operations proceeds.
A link to the project documentation for the report generator can be found here.
Location: pineapple-project/testing/pineapple-test-utils
JAR-type project which contains test utilities for developing Pineapple.
A link to the project documentation for the test utillities can be found here.
A graph of the project dependencies can be found here.