24 lines
1.3 KiB
Markdown
Vendored
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>`.
|