Using Regular Expressions (regex)
You can use regular expressions,regex, to define the build tools and processes you include in an ib_profile.xml file. The regex applies to the process filename.
When regex=true, the process filename is checked as a regular expression instead of an exact match. This way, you can add to an ib_profile.xml file tools and processes that has a dynamic name or whose name is not fully known.
To use regex, enter the following:
regex in an ib_profile.xml file:
-
The “
$” regular expression is used in the process filename definition:In this case, every process whose name ends with “bash”, that is"<any_character>bash", will be handled as intercepted. -
The “
^” regular expression is used in the process filename definition:In this case, every process whose name starts with “soong”, that is “soong<any_character>”, will be handled as intercepted.
Using Arguments (args)
The arguments,args, parameter enables you to filter the instances of the running process, and to automatically apply the defined distribution type only to instances that include or do not include certain arguments.
The args parameter is relevant for processes whose instances contain different arguments. In such a process, each running instance may need to be distributed in a different manner. For example, a process can run a compilation instance, which should be executed remotely, and a linker instance, which should be executed locally.
We can specify, for example, that all instances should be local_only, except for instances that have the -c (compilation without linking) argument. This means that the distribution type of the compilation instances will not be local_only but allow_remote, while all other instances will be local_only.
You can use the args parameter both in an exclusion and an inclusion approach. In both approaches, the args parameter specifies one or more arguments. If there is more than one argument in the args parameter, the arguments should be organized in a list, when each argument is separated by a colon.
To use args, enter the following:
- exclude_args:
exclude_args list is met at the actual process execution, the specified distribution type will NOT be applied to the process instance.
For example:
clang.real process should run as local_only. However, if its instance contains one or more of the defined tokens (-c, -S, or -E), this distribution type will not be applied to it. This means that if the command that runs the clang.real process contains the -c, -S or -E tokens, the process will run as allow_remote instead of local_only.
- include_args:
include_args list is met at the actual process execution, the specified distribution type will be applied to the process.
If there is more than one entry regarding the same process, the entry with the include_args parameter will take effect.
For example:
org.gradle.launcher.GradleMain and/or org.gradle.wrapper.GradleWrapperMain, the java processes will be handled as intercepted.
https://docs.incredibuild.com/Default.htm
https://docs.incredibuild.com/lin/latest/Default.htm
https://docs.incredibuild.com/win/latest/Default.htm
https://docs.incredibuild.com/cloud/Default.htm
rLinuxhttps://www.incredibuild.com/4.18