-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Because :examples are include()'d in from the main settings.gradle.kts, they are built using the "raw" dataframe sources. This is great for making sure changing our API does not break our tests, but it comes with some limits:
- we need to inherit versions of libraries, like the Kotlin version
- Enabling the compiler plugin in modules inside
:dataframeis not that easy and requires a lot of boilerplate build-code that I don't think our users would appreciate to find in our examples.
Some other examples, like :examples/android-example and :examples/kotlin-dataframe-plugin-example use includeBuild() to avoid these issues. However, they come with the downside of using their own versions (which are easily forgotten to be bumped after releases), and as they use their own version of dataframe, they will not fail when we break our API until it's too late.
Maybe we can find a middle ground in Gradle where we dó use includeBuild but can still substitute or override dependencies, or we make a generic "enable the compiler plugin for local modules" function we can call from all local modules in such a way that users can identify and omit them for themselves.