# withSystemProperties

@Incubating
abstract fun withSystemProperties(systemProperties: Map<String, String>): LongRunningOperation

Sets system properties to pass to the build.

By default, the Tooling API passes all system properties defined in the client to the build. If called, this method limits the system properties that are passed to the build, except for immutable system properties that need to match on both sides.

System properties can be also defined in the build scripts (and in the gradle.properties file), or with a JVM argument. In case of an overlapping system property definition the precedence is as follows:

- `withSystemProperties(...)` (highest)
- `addJvmArguments(...)` and `setJvmArguments(...)`
- build scripts

Note: this method has "setter" behavior, so the last invocation will overwrite previously set values.

#### Return

this

#### Since

7.6

#### Parameters

systemProperties

the system properties add to the Gradle process. Passing `null` resets to the default behavior.