Pineapple Runtime Directories

Pineapple use a runtime directory structure to read and write files.

How Pineapple resolves runtime directories

The runtime directory provider

The runtime directories are resolved during Initialization of the core component, where an internal part the core component named runtime directory provider resolves all runtime directories. The runtime directory provider serves as a central directory service for all other parts of the core component and all plugins to be used for lookups about runtime directories.

How the home directory is resolved

The runtime directory provider use this algorithm to resolve the Pineapple Home Directory:

  1. If the system property pineapple.home.dir is set then the home directory is resolved to this directory.
  2. If the system property isn't defined then Pineapple will resolve to its home directory to: ${user.home}/.pineapple

The operating system is determined on the value of the os.name system property.

${user.home} is the value of the user.home system property.

How all other runtime directories are resolved

All other directories within the runtime directory structure (described below) are resolved as child directories from the the home directory.

How the temp directory is resolved

The runtime directory provider resolves the temp directory used by internally Pineapple to the same value as the Java system propery java.io.tmpdir.

Layout of the runtime directory structure

The layout of the runtime directory structure is:

The home directory

The root directory for the directory structure is the Pineapple home directory. The default name for the home directory is .pineapple.

Location of the home directory

The location of the home directory is determined by the configuration of the different Pineapple clients and can by configured through the Java system property pineapple.home.dir.

Default locations for the different clients and how to configure the home directory for each client

.. link: how to configure the home directory in the maven client..

The configuration directory (conf)

The configuration directory holds the configuration files:

  • resource.xml and credentials.xml which defines the resources the makes up the the environment configuration for Pineapple. For more info: Environment configuration reference.
  • credentialprovider.password which contains the master password for encryption of credentials. For more info: Encrypting credential passwords.
  • scheduled-operations.xml which contains the set of scheduled operations.

The modules directory (modules)

The modules directory holds the modules which defines the input used by Pineapple when an operation is executed to do some testing, information retrieval or configuration on resources.

Module configuration reference.

The reports directory (reports)

The reports directory holds reports generated by report generators.

The logs directory (logs)

The logs directory holds log files generated by the core component and clients.