javafxportsgluon-mobile

compile and build gluon mobile app for desktop


we have

desktopRuntime 'org.xerial:sqlite-jdbc:3.15.1'

in gradle file. i build project but my zip file dont have this file in lib folder. how can i build project for desktop? my ide is netbeans. Thankful.


Solution

  • The problem with the distZip or jar gradle tasks is they miss to include desktop dependencies.

    When deploying to desktop you can change temporary desktopRuntime to runtime, so they will be included, as Ladislav Török suggests, but then you should undo the change so that dependency isn't included in the mobile deployment.

    If you want to have a working zip, we have to modify the distZip task, to include the desktop dependencies in the lib folder, and also to include them in the class path (so they are also added to the scripts in the bin folder). Include this in your build.gradle script:

    startScripts {
        classpath += configurations.desktopRuntime
    }
    
    distZip {
        into("$project.name/lib") {
            from configurations.desktopRuntime
        }
    }
    

    You can also solve the issue by using the shadowJar, providing you include the desktop dependencies, to create an executable fat jar, like in this solution.