Skip to content

Conversation

m-dzianishchyts
Copy link
Contributor

@m-dzianishchyts m-dzianishchyts commented Oct 3, 2025

What does this PR do?

Adds extension auto-loading from JJAVA_CLASSPATH at kernel startup by resolving globs and installing extensions after kernel creation.

Fixes #71.

@andrus
Copy link
Contributor

andrus commented Oct 3, 2025

Thanks for the PR. A few comments:

  • Need to think of a proper consistent place for extension loading. E.g., loading from the main classpath happens inside JavaKernel constructor, this one happens in the builder (and likely in the wrong one... If someone extends JavaKernelBuilder, they'd lose this functionality). I guess let's keep it where it is, and I will think of it some more
  • We need unit tests demonstrating the original problem (and the fix here). We must keep Improving the test coverage in general. Otherwise making any changes is very risky.

@andrus
Copy link
Contributor

andrus commented Oct 3, 2025

loading from the main classpath happens inside JavaKernel constructor, this one happens in the builder

Maybe we can even combine the two, and load everything once using a proper ClassLoader with the extra classpath

@m-dzianishchyts m-dzianishchyts marked this pull request as draft October 8, 2025 12:03
@m-dzianishchyts m-dzianishchyts marked this pull request as ready for review October 10, 2025 11:14
@andrus andrus merged commit e19417a into dflib:main Oct 11, 2025
3 checks passed
@andrus
Copy link
Contributor

andrus commented Oct 11, 2025

The PR is in. I really appreciate the kernel tests that don't require Docker and still allow to play with extensions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extension loading from classpath

2 participants