Skip to content

Streamline our infrastructure with Gradle Convention plugins #1661

@Jolanrensen

Description

@Jolanrensen

Related to #1614

The DataFrame project infrastructure has become large, complex, and fractured, making it difficult to maintain, and we often forget to bump versions in places because they are not synced.

I've been experimenting with gradle convention plugins and composite builds: https://github.com/Jolanrensen/GradleConventionsExperiment

I believe this sample project can be used as a good base for the DataFrame project itself:

  • (type safe) convention plugins allow us to remove duplicate build code and avoid using allProjects {}
    (It's also the recommended way to structure builds according to Gradle and Kotlin)
  • It fixes the issue where we have to manually sync versions to subprojects like /plugins/keywords-generator. We can simply use a build-settings convention plugin that finds and sets up the correct version catalog :)
  • See https://github.com/Jolanrensen/GradleConventionsExperiment for more information and links

We could introduce it gradually:

Metadata

Metadata

Assignees

Labels

infrastructureGitHub actions, Gradle Scripts, Writerside, etc.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions