Skip to content

Conversation

Jolanrensen
Copy link
Collaborator

@Jolanrensen Jolanrensen commented Sep 18, 2025

Fixes #1432

  • Enables the compiler plugin instead of the old gradle plugin for :samples
  • Enables instrumentedJars configuration and artifact to each subproject with a jar task
  • Makes sure :samples compilation depends on the jar task of each relevant module
  • Replaces the implementation(projects.dataframe) in :samples with an explicit dependency on all instrumentedJars from all relevant modules
  • Manually adds all transitive (api()) dependencies from relevant modules to :samples.
  • Rewrites all samples to take advantage of the compiler plugin features :)

@Jolanrensen Jolanrensen added this to the 1.0.0-Beta4 milestone Sep 18, 2025
@Jolanrensen Jolanrensen added documentation Improvements or additions to documentation (not KDocs) examples Something related to the examples infrastructure GitHub actions, Gradle Scripts, Writerside, etc. Compiler plugin Anything related to the DataFrame Compiler Plugin labels Sep 18, 2025
@Jolanrensen Jolanrensen changed the title Samples compiler plugin attempt Enables Compiler plugin for :samples Sep 18, 2025
@Jolanrensen Jolanrensen force-pushed the samples-compiler-plugin-attempt branch from b7cd583 to 6c63c6a Compare September 18, 2025 19:43
@Jolanrensen Jolanrensen force-pushed the samples-compiler-plugin-attempt branch 2 times, most recently from f8b6e73 to d7b85e5 Compare September 18, 2025 20:04
@Jolanrensen Jolanrensen marked this pull request as draft September 18, 2025 20:10
@Jolanrensen Jolanrensen force-pushed the samples-compiler-plugin-attempt branch from d7b85e5 to 0a18483 Compare September 18, 2025 20:21
@Jolanrensen Jolanrensen force-pushed the samples-compiler-plugin-attempt branch from 0a18483 to a96e2ac Compare September 18, 2025 20:21
@Jolanrensen Jolanrensen marked this pull request as ready for review September 19, 2025 10:36
Copilot

This comment was marked as resolved.

implementation(files(dependentProjectJarPaths))

// include api() dependencies from dependent projects, as they are not included in the jars
dependentProjects.forEach {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another way would be to have a shadowed jar in root project

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, but I wasn't sure how the compiler plugin would react to a shadowed version of dataframe being on the classpath instead of the actual jar

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and I have mixed experience with the shadowJar plugin

Copy link
Collaborator

@zaleslaw zaleslaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall it's an approval from my side: what is the main problem - after a few months it will be hard to restore context of changes in Gradle tasks, could you add more explanation (move from ticket description or refer on that) in the stuff related to the instrumentationJar

@Jolanrensen Jolanrensen merged commit 1effeac into master Sep 19, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Compiler plugin Anything related to the DataFrame Compiler Plugin documentation Improvements or additions to documentation (not KDocs) examples Something related to the examples infrastructure GitHub actions, Gradle Scripts, Writerside, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make compiler plugin work in samples (for docs)
3 participants