haifengl / smile

Statistical Machine Intelligence & Learning Engine
https://haifengl.github.io
Other
5.99k stars 1.12k forks source link

Java modules #704

Closed robertvazan closed 2 years ago

robertvazan commented 2 years ago

Please publish smile libraries as Java modules. It will make it easier to use smile in downstream libs and apps that are Java modules themselves. Probably the easiest thing to do is to mark smile libraries as automatic modules.

haifengl commented 2 years ago

I set automatic module name to "smile". Try the master branch. Thanks.

robertvazan commented 2 years ago

Wouldn't that set the same module name for all libraries published to Maven Central? For example, I am using smile-plot, which should have its own module name, something like smile.plot.

haifengl commented 2 years ago

It should be fine.

robertvazan commented 2 years ago

What do you mean when you say it's fine? I've run smile build and all the JARs contain Automatic-Module-Name: smile in their manifests. As I understand it, this will cause duplicate module errors in downstream projects.

haifengl commented 2 years ago

It is organized into smile.base, smile.core, and smile.plot modules.

robertvazan commented 2 years ago

Now it looks alright. Thank you. I will test only after release, because I don't have working Scala toolchain (not on my dev machine, at least). Let me know if there are snapshot builds or other easy means of testing.