我有以下gradle任务,可用于创建debian归档文件:
val packDeb by tasks.registering(Deb::class) {
mkdir("/var/lib/salam/")
}
但是运行./gradlew build
org.gradle.api.UncheckedIOException: Failed to create directory '/var/lib/salam'
我在这里做什么错了?
答案 0 :(得分:1)
您使用的mkdir
method不是Deb
任务的一部分(而是来自project
对象)。在您的Gradle项目被配置时调用该方法,即Gradle尝试在Gradle启动时创建该目录。这很可能失败,因为运行Gradle的用户帐户在/var/lib
下没有写权限。
要在安装DEB软件包时创建该目录,可以执行以下操作:
plugins {
id("nebula.deb") version "6.2.0"
}
import com.netflix.gradle.plugins.deb.Deb
val packDeb by tasks.registering(Deb::class) {
into("/")
// TODO assumes that the (non-empty) "salam" dir is prepared in your
// project dir
from("salam") {
into("var/lib/salam")
}
}