![]() |
OpenMake Meister |
The use of Meister Dependency Directories allows you to control for each build, what source directories will be referenced in the build – a key requirement to the Pre-commit build process. Using concatenation, Meister's Dependency Directories can be configured to search for source code on a "first found" basis. This means that you can define a list of directories, indicating where files should be referenced first, and if not found go to the next directory.
To support your Pre-commit Build process you will need to define your Meister Dependency Directories using the Project Explorer from the Meister Eclipse Rich Client Platform. Your Dependency Directories should be defined to look first in your local build directory for any source code changes and then reference a shared location where the Continuous Integration build is finding source code.
In most situations, you will have in your local directory all files associated to your Project. However, other Project files that you may be dependent upon, or may depend upon you, are not managed at your Project level. These files are managed in other projects. Your Meister Pre-commit build will allow you to pull files from your local Project first and look for all other source files and libraries by pulling them from a shared location, for example from your central source code repository.
For example, your Pre-commit Dependency Directory may look like:
First Directory in list |
. The . indicates local directory) |
Second Directory in list |
P:\shared |
Third Directory in list |
P:\shared\compiler |
Fourth Directory in list |
P:\shared\java |
Using this first found concatenation will result in the compiler passing files found in your local directory (.) first. If the files are not found in the local directory, it will then search for files in the "P:\shared" directory. This directory should contain source files used by your team or continuous build. Other directories can be used to determine where compiler libraries, database libraries or any other 3rd party library are to be found.
By controlling your source code locations in this way you allow the Pre-commit build process to mimic the continuous or team build with only your changes added to the process. You also solve the time delay issue whereby you execute a Pre-commit build using a private copy of all required source code, while another person on your development team has already checked-in a source code changes which will break the build once you have committed your source code changes. The use of the Dependency Directory concatenation allows you to catch the new source code change during your Pre-commit build.
By eliminating multiple copies of source code on each individual's private work area, the Pre-commit process is as accurate as possible and more closely mimics what will occur once you commit your changes to the repository and execute a continuous integration build.