Build Architecture
This page defines the build architecture being deployed in Pentaho development. This document covers all the tools used with the build architecture and how Pentaho is using them to create a better build process.
Tool Overview
There are a number of open source 3rd party tools being used in the build process. The following list outlines the tools and how they are being used:
Tool Name | Version | Description |
|---|---|---|
1.7.0 | The tool that runs the build script. These scripts will perform all the tasks necessary to take the source code and create jar files. | |
2.0 beta 2 | A dependency manager that works well with Apache Ant. It allows for a list of dependencies in each project that get resolved at build time and removes the need to check in jar files for each project. | |
1.2.5 | A Maven2 repository implementation that allows for the storage of build artifacts (like jar files) and information about their dependencies. |
Artifact Repositories
An artifact repository allows for the storage and retrieval of build artifacts. These artifacts are mainly jar files with information about their dependencies. In addition, multiple versions of jar files may be retained for later retrieval.
Pentaho is using Ibiblio and their own Maven2 repository (running in Artifactory) to store and retrieve build artifacts:
Repository Name | Browse URL | Browse Login | Description |
|---|---|---|---|
Ibiblio | none required | Public repository maintained by Ibiblio. Contains most of the 3rd party dependencies used by Pentaho. | |
third-party | guest / guest | Repository which contains 3rd party libraries that can not be found (or are not correct) in the Ibiblio repository. | |
pentaho | guest / guest | Repository which contains build artifacts generated by Pentaho. |
Artifact Resolution
During the build process for each project, the build script will use the ivysettings.xml file to define the repository search order for resolving dependencies. The default setup of this file set the search order as:
The developer's IVY2 local repository
The developer's IVY2 cache repository (for dependencies marked as "changing" in the ivy.xml, the cache will check the next repository before returning the cached version)
The pentaho and third-party repositories
The ibiblio reposotory
If the artifact can not be found after check all the above, then the build will fail.
**** INSERT INFO HERE ABOUT RUNNING THE BUILD OFFLINE ****