Gradle dist/bin/script文件模式
使用Gradle构建一个应用程序,我为shutdown.sh脚本创建了一个“src/dist/bin”文件夹,该脚本将打包到发行版zip中。如何设置文件模式以便执行?我已经知道如何使用复制任务设置文件模式,但是在这种情况下,脚本是由分发插件复制的Gradle dist/bin/script文件模式,gradle,Gradle,使用Gradle构建一个应用程序,我为shutdown.sh脚本创建了一个“src/dist/bin”文件夹,该脚本将打包到发行版zip中。如何设置文件模式以便执行?我已经知道如何使用复制任务设置文件模式,但是在这种情况下,脚本是由分发插件复制的 谢谢它应该与任何复制任务中的任务相同,因为分发正在使用。我使用类似于下面的代码。我将脚本放在另一个文件夹中 distributions { main { contents { into('bin') {
谢谢它应该与任何复制任务中的任务相同,因为分发正在使用。我使用类似于下面的代码。我将脚本放在另一个文件夹中
distributions {
main {
contents {
into('bin') {
from {
'src/main/customscripts/start.sh'
}
fileMode 0755
}
}
}
}
能否提供示例
build.gradle
文件?此解决方案有效,我必须移动脚本位置,因为如果我将其保存在“src/dist/bin”文件夹中,它会在分发tar文件中包含两次。用Gradle 2.4版验证它。它也需要duplicatesStrategy='exclude'
,请参见…正如我从那以后发现的那样,fileMode
只有在我避免使用duplicatesStrategy
的情况下才对我有效,因为它是第二个副本,具有正确的fileMode
,但如果我使用duplicatesStrategy
,该副本会被删除。即使在Windows机器上构建,这也会起作用吗?@KarlIvarDahl yes,事实上,我使用它是因为构建发生在Windows计算机上