@@ -327,7 +327,7 @@ dependencies {
327327 // YAML formatting
328328 implementation ' org.yaml:snakeyaml:2.3'
329329
330- // AI
330+ // region AI
331331 implementation ' dev.langchain4j:langchain4j:0.34.0'
332332 // Even though we use jvm-openai for LLM connection, we still need this package for tokenization.
333333 implementation(' dev.langchain4j:langchain4j-open-ai:0.34.0' ) {
@@ -336,16 +336,19 @@ dependencies {
336336 implementation(' dev.langchain4j:langchain4j-mistral-ai:0.34.0' )
337337 implementation(' dev.langchain4j:langchain4j-google-ai-gemini:0.34.0' )
338338 implementation(' dev.langchain4j:langchain4j-hugging-face:0.34.0' )
339- implementation ' ai.djl:api:0.30.0'
340- implementation ' ai.djl.pytorch:pytorch-model-zoo:0.30.0'
341- implementation ' ai.djl.huggingface:tokenizers:0.29.0'
339+
340+ implementation platform(' ai.djl:bom:0.30.0' )
341+ implementation ' ai.djl:api'
342+ implementation ' ai.djl.huggingface:tokenizers'
343+ implementation ' ai.djl.pytorch:pytorch-model-zoo'
342344 implementation ' io.github.stefanbratanov:jvm-openai:0.11.0'
343345 // openai depends on okhttp, which needs kotlin - see https://github.com/square/okhttp/issues/5299 for details
344346 implementation (' com.squareup.okhttp3:okhttp:4.12.0' ) {
345347 exclude group : ' org.jetbrains.kotlin' , module : ' kotlin-stdlib-jdk8'
346348 }
347349 // GemxFX also (transitively) depends on kotlin
348350 implementation ' org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.20'
351+ // endregion
349352
350353 implementation ' commons-io:commons-io:2.16.1'
351354
@@ -735,51 +738,58 @@ jlink {
735738
736739 // TODO: Remove the following correction to the merged module
737740 // The module descriptor automatically generated by the plugin for the merged module contained some invalid entries.
738- // This is based on ./gradlew suggestMergedModuleInfo, sort, strip ";"", comment non-used modules, and include the suggested directives here.
739- // However, we need to fine-tune this manually (non-alphabetic order)
741+ // This is based on ./gradlew suggestMergedModuleInfo, sort, strip ";"", remove non-used modules, and include the suggested directives here.
740742 mergedModule {
741- requires ' javafx.base'
742- requires ' javafx.controls'
743- requires ' javafx.fxml'
744- requires ' javafx.graphics'
745- requires ' javafx.media'
746- requires ' javafx.swing'
747-
743+ requires ' com.google.gson'
744+ requires ' com.fasterxml.jackson.annotation'
745+ requires ' com.fasterxml.jackson.databind'
746+ requires ' com.fasterxml.jackson.core'
747+ requires ' com.fasterxml.jackson.datatype.jdk8'
748+ requires ' jakarta.xml.bind'
748749 requires ' java.compiler'
749750 requires ' java.datatransfer'
750751 requires ' java.desktop'
751752 requires ' java.logging'
752753 requires ' java.management'
753754 requires ' java.naming'
754755 requires ' java.net.http'
756+ requires ' java.rmi'
755757 requires ' java.scripting'
756758 requires ' java.security.jgss'
757759 requires ' java.security.sasl'
758760 requires ' java.sql'
759761 requires ' java.sql.rowset'
760762 requires ' java.transaction.xa'
761- requires ' java.rmi'
762763 requires ' java.xml'
764+ requires ' javafx.base'
765+ requires ' javafx.controls'
766+ requires ' javafx.fxml'
767+ requires ' javafx.graphics'
768+ requires ' javafx.media'
769+ requires ' javafx.swing'
763770 requires ' jdk.jsobject'
771+ requires ' jdk.security.jgss'
764772 requires ' jdk.unsupported'
765773 requires ' jdk.unsupported.desktop'
766- requires ' jdk.security.jgss'
767774 requires ' jdk.xml.dom'
768- requires ' com.google.gson'
769- requires ' org.jsoup'
770- requires ' org.slf4j'
771- requires ' jakarta.xml.bind'
772775 requires ' org.apache.commons.lang3'
776+ requires ' org.apache.commons.logging'
773777 requires ' org.apache.commons.text'
774- requires ' org.apache.commons.logging' ;
775- uses ' org.mariadb.jdbc.credential.CredentialPlugin'
778+ requires ' org.freedesktop.dbus'
779+ requires ' org.jsoup'
780+ requires ' org.slf4j'
781+ uses ' ai.djl.engine.EngineProvider'
782+ uses ' ai.djl.repository.RepositoryFactory'
783+ uses ' ai.djl.repository.zoo.ZooProvider'
784+ uses ' dev.langchain4j.spi.prompt.PromptTemplateFactory'
785+ uses ' kong.unirest.core.json.JsonEngine'
786+ uses ' org.eclipse.jgit.lib.GpgSigner'
787+ uses ' org.eclipse.jgit.transport.SshSessionFactory'
788+ uses ' org.mariadb.jdbc.LocalInfileInterceptor'
776789 uses ' org.mariadb.jdbc.authentication.AuthenticationPlugin'
790+ uses ' org.mariadb.jdbc.credential.CredentialPlugin'
777791 uses ' org.mariadb.jdbc.tls.TlsSocketPlugin'
778- uses ' org.mariadb.jdbc.LocalInfileInterceptor'
779- uses ' org.eclipse.jgit.transport.SshSessionFactory'
780- uses ' org.eclipse.jgit.lib.GpgSigner'
781- uses ' kong.unirest.core.json.JsonEngine' ;
782- uses ' ai.djl.repository.zoo.ZooProvider' ;
792+
783793 provides ' org.mariadb.jdbc.tls.TlsSocketPlugin' with ' org.mariadb.jdbc.internal.protocol.tls.DefaultTlsSocketPlugin'
784794 provides ' java.sql.Driver' with ' org.postgresql.Driver'
785795 provides ' org.mariadb.jdbc.authentication.AuthenticationPlugin' with ' org.mariadb.jdbc.internal.com.send.authentication.CachingSha2PasswordPlugin' ,
@@ -797,9 +807,11 @@ jlink {
797807 ' org.bouncycastle.pqc.jcajce.provider.BouncyCastlePQCProvider'
798808 provides ' kong.unirest.core.json.JsonEngine' with ' kong.unirest.modules.gson.GsonEngine' ;
799809 provides ' ai.djl.repository.zoo.ZooProvider' with ' ai.djl.engine.rust.zoo.RsZooProvider' ,
800- ' ai.djl.huggingface.zoo.HfZooProvider' ,
801- ' ai.djl.pytorch.zoo.PtZooProvider' ,
802- ' ai.djl.repository.zoo.DefaultZooProvider' ;
810+ ' ai.djl.huggingface.zoo.HfZooProvider' ,
811+ ' ai.djl.pytorch.zoo.PtZooProvider' ,
812+ ' ai.djl.repository.zoo.DefaultZooProvider' ;
813+ provides ' ai.djl.engine.EngineProvider' with ' ai.djl.engine.rust.RsEngineProvider' ,
814+ ' ai.djl.pytorch.engine.PtEngineProvider' ;
803815 }
804816
805817 jpackage {
0 commit comments