description = 'borgbutler-webapp'

task npmBuild(type: Exec) {
    workingDir '.'
    executable 'sh'
    commandLine 'npm', 'run', 'build'
}

task packageWebApp(type: Zip) {
    outputs.upToDateWhen { false } // It's never up-to-date (otherwise borgbutler-webapp.jar is missed).
    dependsOn npmBuild
    archiveBaseName.set('borgbutler-webapp')
    archiveExtension.set('jar')
    destinationDirectory.set(file("${projectDir}"))
    from('build') {
        // optional path under which output will be visible in Java classpath, e.g. static resources path
        into 'webapp'
    }
    doLast {
        //println "**** projectDir=${projectDir}, buildDir=${buildDir}"
        mkdir "${buildDir}/libs"
        def jarFile = archiveFileName.get()
        ant.move file: "${projectDir}/${jarFile}",
                toDir: "${buildDir}/libs"
        println("*** packageWebApp finished.")
    }
}

