The project uses JAXB through the Maven plugin cxf-xjc-plugin to generate classes from XML schema.
The plugin uses Log4j for logging. Each project which links to this project must provide a Log4j configuration which is accessible at runtime as a result of the build process.
For testing the project uses the Log4j configuration supplied by the pineapple-test-utils project.
The plugin contains a configuration file which defines a Spring application context. The Spring application context defines the input unmarshalling for the plugin. The file is located in src/main/resources/com.alpha.pineapple.plugin.composite.execution-config.xml.
The package com.alpha.pineapple.plugin.jrockit.installation is the root package of the plugin and contains the plugin class PluginImpl.
The package com.alpha.pineapple.plugin.jrockit.installation.session contains the session classes for the plugin:
The package com.alpha.pineapple.plugin.jrockit.installation.operation contains the operation classes for the plugin.
The plugin implement these default operations:
The package com.alpha.pineapple.plugin.jrockit.installation.command contains Chain commands:
Creates a XML file which configures the JRockit installer for silent installation.
The file is stored in a temporary file named com.alpha.pineapple.plugin.jrockit.installation.command.CreateR27SilentXmlCommand.xml which is stored in the temporary directory resolved from the runtime directory provider.
The class uses the helper class R27ArgumentBuilder to create argument lists and the classes in the process execution support project to execute external processes in the OS.
Creates a XML file which configures the JRockit installer for silent installation.
The file is stored in a temporary file named com.alpha.pineapple.plugin.jrockit.installation.command.CreateR28SilentXmlCommand.xml which is stored in the temporary directory resolved from the runtime directory provider.
The class uses the helper class R28ArgumentBuilder to create argument lists and the classes in the process execution support project to execute external processes in the OS.
The package com.alpha.pineapple.plugin.jrockit.installation.configurer contains strategies for configuration of the support JRockit versions:
The class R27ArgumentBuilder is a helper class which build arguments list for JRockit R27.
The class R28ArgumentBuilder is a helper class which build arguments list for JRockit R28.
The class implements the command line argument arguments for silent installation specified by the R27 documentation at: http://download.oracle.com/docs/cd/E13150_01/jrockit_jvm/jrockit/releases/R27/install/index.html
The command line arguments for uninstallation isn't documented, but a byte wise inspection of the uninstaller revealed the -silent argument for silent uninstallation.
The class implements the command line argument arguments for silent installation specified by the R28 documentation at: http://download.oracle.com/docs/cd/E15289_01/doc.40/e15065/prod_install.htm
The command line arguments for uninstallation isn't documented, but a byte wise inspection of the uninstaller revealed the -silent argument for silent uninstallation.