
.sourceModules: ListProperty<Object>
[%collapsible]
====
Default: `[]` +
Example 1: `sourceModules = ["module1.pkl", "module2.pkl"]` +
Example 2: `+sourceModules = fileTree("config").include("**/*.pkl")+` +
List of Pkl modules which are used for this operation.

This property accepts the following types to represent a module:

* `java.net.URI`
* `java.io.File`
* `java.nio.file.Path`
* `java.net.URL`
* `java.lang.CharSequence` - if the represented string looks like a URI (it contains a scheme), the input is treated as a URI. Otherwise, it is treated as a path. Relative paths are resolved against the project directory.
* `org.gradle.api.file.FileSystemLocation`
====

.transitiveModules: ConfigurableFileCollection
[%collapsible]
====
Default: `files()` (empty collection) +
Example 1: `transitiveModules.from files("module1.pkl", "module2.pkl")` +
Example 2: `+transitiveModules.from fileTree("config").include("**/*.pkl")+` +
File paths of modules that are directly or indirectly used by source modules.
Setting this option enables correct Gradle up-to-date checks, which ensures that your Pkl tasks are executed if any of the transitive files are modified; it does not affect evaluation otherwise.
Including source modules in `transitiveModules` is permitted but not required.
Relative paths are resolved against the project directory.
====

.projectDir: DirectoryProperty
[%collapsible]
====
Default: `null` +
Example 1: `projectDir = layout.projectDirectory.dir("pkl")` +
Example 2: `projectDir.fileValue file("/some/absolute/path")`

Directory where the project lives.

A project is a directory that contains a `PklProject` file, which is used to declare package dependencies, as well as common evaluator settings to be applied in the project.

If `null`, this is determined by searching up from the working directory for a directory that contains a `PklProject` file, until `evalRootDir` or the file system root is reached.
====

.omitProjectSettings: Property<Boolean>
[%collapsible]
====
Disables loading evaluator settings from the PklProject file.
====

.noProject: Property<Boolean>
[%collapsible]
====
Disables all behavior related to projects.
====

.settingsModule: Property<Object>
[%collapsible]
====
Default: `null` +
Example: `settingsModule = layout.projectDirectory.file("mySettings.pkl")` +
The Pkl settings module to use.
This property accepts the same input types as the `sourceModules` property.

If `null`, `~/.pkl/settings.pkl` or defaults specified in the `pkl.settings` standard library module are used.
====

include::../partials/gradle-common-properties.adoc[]
