|
Documentation Index
|
IPR
This page contains reference information about the IPR Build Runner fields.
| Option |
Description |
| Build runner |
Select Ipr from the drop-down list. This runner generates a JUnit task for the tests in the project. |
| Artifact Paths |
Use this field to specify directories containing artifacts or file names as a comma-separated string. If a directory is specified its contents will be uploaded to the server.
In version 3.1 this field is located on the General Settings page. |
IntelliJ IDEA Project Settings
| Option |
Description |
Path to the project file |
Use this field to specify the path to the project file (.ipr). This build runner requires this file to understand the structure of the project.
 | Specified path should be relative to the project root directory
|
|
Detect global libraries and module-based JDK in *.iml files |
If this option is checked, the form all of the module files will be automatically scanned for references to the global libraries and module JDKs when saved. This helps you ensure all references will be properly resolved.
 | Warning When this option is selected, the process of opening and saving the build runner settings may become time-consuming, because it involves loading and parsing all project module files. |
|
| Build working directory |
Enter a building working directory is your CVS checkout mode is set to Do not checkout files automatically. |
Unresolved Project Modules and Path Variables
This section displays messages when an IntelliJ IDEA module file (.iml) referenced from IPR file cannot be found as well as allows you to enter the values of path variables used in the IPR file. You may want to click the Save button to refresh values in this section.
| Option |
Description |
| <path_variable_name> |
This field appears, if the project file contains path macros, defined in the Path Variables dialog of IntelliJ IDEA's Settings dialog. In the Set value to field, specify a path to project resources, to be used on different build agents. |
Project JDKs
This section provides the list of JDKs detected in the project file.
| Option |
Description |
JDK Home |
Use this field to specify JDK home for the project.
 | When building with the Ipr runner, this JDK will be used to compile the sources of corresponding IDEA modules. For Inspections and Duplicate Finder builds, this JDK will be used internally to resolve the Java API used in your project.
To run the build process itself the JDK specified in the JAVA_HOME environment variable will be used. |
|
JDK jar file patterns |
Click this link to open a text area, where you can define templates for the jar files of the project JDK. Use Ant rules to define the jar file patterns.
The default value is used for Linux and Windows operating systems:
For Mac OS X, use the following lines:
lib/*.jar
../Classes/*.jar
|
IDEA Home |
If your project uses the IDEA JDK, specify the location of IDEA's home directory |
| IDEA Jar Files Patterns |
Click this link to open a text area, where you can define templates for the jar files of the IDEA JDK. |
 | You can use references to external properties when defining the values, like %system.idea_home% or %env.JDK_1_3%. This will add a requirement for the corresponding property. |
Project Global Libraries
This section appears if your project has references to global libraries (option Detect global libraries and module-based JDK in *.iml files should be enabled).
| Option |
Description |
| Path to Library |
Use this field to specify root directory which contains library jar files. |
| Library Jar Files Patterns |
Click this link to open a text area, where you can define templates for the jar files of the library (default *.jar) |
 |
You can use references to external properties when defining the values, like %env.CATALINA_BASE%. This will add a requirement for the corresponding property. |
JVM Settings
| Option |
Description |
| JVM command line parameters |
Specify the desired Java Virtual Machine parameters, such as maximum heap size or parameters that enable remote debugging. These settings are passed to the JVM used to run your build.
Example:
|
Additional Pre/Post Processing (Ant)
| Option |
Description |
| Run before build |
In the appropriate fields, enter the Ant scripts and targets (optional) that you want to run prior to starting the build. The path to the Ant file should be relative to the project root directory. |
| Run after build |
In the appropriate fields, enter the Ant scripts and targets (optional) that you want to run after the build is completed. The path to the Ant file should be relative to the project root directory. |
JUnit Test Runner Settings
| Option |
Description |
Test patterns |
Click the Type test patterns link, and specify the required test patterns in a text area.
These patterns are used to generate parameters of the batchtest JUnit task section. Each pattern generates either include or exclude section. These patterns are also used to compose classpath for the test run. Each module mentioned in the patterns adds its classpath to the whole classpath.
Each pattern should be placed on a separate line and has the following format:
[-]moduleName:[testFileNamePattern]
where:
- [-]: If a pattern starts with minus character, the corresponding files will be excluded from the build process.
- moduleName : this name can contain wildcards.
- [testFileNamePattern] : Default value for testFileNamePattern is **/*Test.java , i.e. all files ending with Test.java in all directories. You can use Ant syntax for file patterns.The sample below includes all test files from modules ending with "test" and excludes all files from packages containing the "ui" subpackage:
*test:**/*Test.java
-*:**/ui/**/*.java
|
| Classpath in Tests |
By default the whole classpath is composed of all classpaths of the modules used to get tests from. The following two options define whether you will use the default classpath, or take it from the specified module. |
| Override classpath in tests |
If this option is checked, you can define test classpath from a single, explicitly specified module. |
| Module name to use JDK and classpath from |
If the option Override classpath in tests is checked, you have to specify the module, where the classpath to be used for tests is specified. |
JUnit Fork mode |
Select the desired fork mode from the combobox:
- Do not fork: fork is disabled.
- Fork per test: fork is enabled, and each test class runs in a separate JVM
- Fork once: fork is enabled, and all test classes run in a single JVM
|
| New classloader instance for each test |
Check this option, if you want a new classloader to be instantiated for each test case. This option is available only if Do not fork option is selected. |
| Include Ant runtime |
Check this option to add Ant classes, required to run JUnit tests. This option is available if fork mode is enabled (Fork per test or Fork once). |
| JVM executable |
Specify the command that will be used to invoke JVM. This option is available if fork mode is enabled (Fork per test or Fork once). |
| Stop build on error |
Check this option, if you want the build to stop if an error occurs during test run. |
| JVM command line parameters for JUnit |
Specify JVM parameters to be passed to JUnit task. |
| Tests working directory |
Specify the path to the working directory for tests. |
| Tests timeout |
Specify the lapse of time in milliseconds, after which test will be canceled. This value is ignored, if Do not fork option is selected. |
| Verbose Ant |
Check this option, if the generated JUnit task has to produce verbose output in ant terms. |
Coverage Info
| Option |
Description |
Code coverage |
Check this option, if you want code coverage to be analyzed.
 | 'metadata is empty' problem
For some complex build scripts, coverage metadata cannot be collected. In this case, try adding debug=true parameter to javac tasks in your ant script. |
If this option is not checked, the following two options are disabled. |
Include Source Files in the Coverage Data |
Check this option to include source files into the code coverage report (you'll be able to see sources on the Web).
|
Coverage Instrumentation Parameters |
Use this field to specify the filters to be used for creating the code coverage report. These filters define classes to be exempted from instrumentation. For detailed description of filters refer to http://emma.sourceforge.net/reference_single/reference.html#prop-ref.tables. |
|