Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section
Column
No Format
borderColor#6699ff
bgColor#ffffff
titleBGColor#D5EFFF
title<HOME>/.ivy2
borderStylesolid

.ivy2/
|-- cache
`-- local
No Format
borderColor#6699ff
bgColor#ffffff
titleBGColor#D5EFFF
title<HOME>/.pentaho_build_cache
borderStylesolid

.pentaho_build_cache/
|-- ant-contrib
|-- cobertura
|-- ivy
`-- tmp

Column
width100%

IVY is the dependency resolver tool of choice for Pentaho projects.

  • .ivy2/cache - IVY will cache downloaded artifacts on your disk here in order to minimize downloads.
  • .ivy2/local - Developers have the option of publishing to their local repository during a build, e.g. ant publish-local. The directory .ivy2/local is that hierarchical, file-based repository.

The common_build.xml Ant script requires custom and third-party Ant libraries in order to run all targets, however it does not require that the user have these pre-installed. Common build is able to bootstrap itself by intelligently fetching libraries as needed. When common build fetches such a library, it will store it in a well-known directory, .pentaho_build_cache, and not attempt to retrieve it again as long so it is available there.

  • .pentaho_build_cache - root directory where all common build dependencies are maintained
  • .pentaho_build_cache/tmp - temporary sandbox used by common build

Your Workspace

...

Column
No Format
borderColor#6699ff
bgColor#ffffff
titleBGColor#D5EFFF
title<WORKSPACE>/my-pentaho-proj
borderStylesolid


my-pentaho-proj/
|-- bin
|   |-- classes
|   |-- javadoc
|   |-- reports
|   |   |-- cobertura
|   |   |   |-- html
|   |   |   `-- xml
|   |   `-- test
|   |       |-- html
|   |       `-- xml
|   `-- test
|       |-- classes
|       |-- cobertura-bin
|       `-- instrumented-classes
|-- dev-lib
|-- dist
|-- lib
|-- src
|-- test-src
`-- test-lib

...

width100%

Sources

  • src - Application source code
  • test-src - Test source code

Libs

...

Include Page

...

Info

When developing with the IVY Eclipse plugin, ivyDE, IVY-populated lib directories are ignored. Your Eclipse project will reference jars outside of the project space, in .ivy2/cache.

Notable Files

  • build.xml - Ant build file for the Pentaho project. This build file includes the common_build.xml and defines any project specific build functionality.
  • common_build.xml - Standardized Ant build file for all Pentaho projects
  • ivy.xml - Defines all the dependencies for the Pentaho project.

Distributable Archives

  • dist - Archive files produced by the build are placed in dist, this would include .jar, .zip, .tar.gz, .war, .ear, etc.

All Other Build Output

Build output has typically been placed in mix of hierarchical and flat directories from the project root. In an effort to tidy up the project workspace, bin has been reorganized to become the root of the hierarchy of all (non-archive) build output.

...

PEOpen:Pentaho Project Anatomy
PEOpen:Pentaho Project Anatomy