view antlib/Du.kt @ 29:e90d290a9a8d

Remove dependence on Nashorn.
author David Barts <n5jrn@me.com>
date Mon, 13 Jun 2022 09:21:24 -0700
parents
children
line wrap: on
line source

import java.io.File
import java.io.IOException

class Du : org.apache.tools.ant.Task() {
    var path: String? = null
    var output: String? = null

    override fun execute(): Unit {
        project.setProperty(output, du(path!!).toString())
    }

    private fun du(path: String): Long {
        try {
            return File(path).walk().map { if (it.isFile()) { it.length() } else { 0L } }.sum()
        } catch (e: IOException) {
            return 0L
        }
    }
}