54 lines
2.4 KiB
Markdown
Vendored
54 lines
2.4 KiB
Markdown
Vendored
# Migration from Gradle/KSP Plugin
|
|
|
|
Gradle and KSP plugins were useful tools in earlier versions of Kotlin DataFrame.
|
|
However, they are now being phased out. This section provides an overview of their current state and migration guidance.
|
|
|
|
## Gradle Plugin
|
|
|
|
> Do not confuse this with the [compiler plugin](Compiler-Plugin.md), which is a Kotlin compiler plugin
|
|
> and has a different plugin ID.
|
|
> {style="note"}
|
|
|
|
1. **Generation of [data schemas](schemas.md)** from data sources
|
|
(files, databases, or external URLs).
|
|
- You could copy already generated schemas from `build/generate` into your project sources.
|
|
- To generate a `DataSchema` for a [`DataFrame`](DataFrame.md) now, use
|
|
the [`generate..()` methods](DataSchemaGenerationMethods.md).
|
|
|
|
2. **Generation of [extension properties](extensionPropertiesApi.md)** from data schemas
|
|
This is now handled by the [compiler plugin](Compiler-Plugin.md), which:
|
|
- Generates extension properties for declared data schemas.
|
|
- Automatically updates the schema and regenerates properties after structural DataFrame operations.
|
|
|
|
> The Gradle plugin still works and may be helpful for generating schemas from data sources.
|
|
> However, it is planned for deprecation, and **we do not recommend using it going forward**.
|
|
> {style="warning"}
|
|
|
|
If you still choose to use Gradle plugin, make sure to disable the automatic KSP plugin dependency
|
|
to avoid compatibility issues with Kotlin 2.1+ by adding this line to `gradle.properties`:
|
|
|
|
```properties
|
|
kotlin.dataframe.add.ksp=false
|
|
```
|
|
|
|
## KSP Plugin
|
|
|
|
- **Generation of [data schemas](schemas.md)** from data sources
|
|
(files, databases, or external URLs).
|
|
- You could copy already generated schemas from `build/generate/ksp` into your project sources.
|
|
- To generate a `DataSchema` for a [`DataFrame`](DataFrame.md) now, use the
|
|
[`generate..()` methods](DataSchemaGenerationMethods.md) instead.
|
|
|
|
> The KSP plugin is **not compatible with [KSP2](https://github.com/google/ksp?tab=readme-ov-file#ksp2-is-here)**
|
|
> and may **not work properly with Kotlin 2.1 or newer**.
|
|
> It is planned for deprecation or major changes, and **we do not recommend using it at this time**.
|
|
> {style="warning"}
|
|
|
|
If you still choose to use the KSP plugin with Kotlin 2.1+,
|
|
disable [KSP2](https://github.com/google/ksp?tab=readme-ov-file#ksp2-is-here)
|
|
by adding this line to `gradle.properties`:
|
|
|
|
```properties
|
|
ksp.useKSP2=false
|
|
```
|