Files
2026-02-08 11:20:43 -10:00

24 lines
1.3 KiB
Markdown
Vendored

## :build-logic
This project contains all shared logic for build logic (`build.gradle.kts` files).
The entire DataFrame project is built
using [Composite Builds](https://docs.gradle.org/current/userguide/composite_builds.html)
and [Pre-compiled Script Plugins](https://docs.gradle.org/current/userguide/implementing_gradle_plugins_precompiled.html)
acting as [Convention Plugins](https://docs.gradle.org/current/userguide/implementing_gradle_plugins_convention.html).
### Plugins:
- `dfbuild.base`: common build logic for all projects.
- `dfbuild.kotlinJvmCommon`: common build logic for all Kotlin JVM projects.
- Includes `dfbuild.base` and `dfbuild.ktlint`.
- Sets `explicitApi()`, opt-ins, and the toolchain version.
- Sets up the `instrumentedJars` configuration and task.
- This should not be used directly, as a JVM target version needs to be picked.
Use `dfbuild.kotlinJvm8` (preferred) or `dfbuild.kotlinJvm11` instead.
- `dfbuild.kotlinJvm8`: See `dfbuild.kotlinJvmCommon`.
- `dfbuild.kotlinJvm11`: See `dfbuild.kotlinJvmCommon`.
- `dfbuild.ktlint`: Sets up our linter plugin. Included by default in `dfbuild.kotlinJvmCommon`.
- `dfbuild.buildConfig`: Generates build config compile-time constants,
like `BuildConfig.VERSION` and `BuildConfig.DEBUG`.
Is NOT included by default, but can be combined with `dfbuild.kotlinJvm<X>`.