Gradle dist/bin/script文件模式

Gradle dist/bin/script文件模式,gradle,Gradle,使用Gradle构建一个应用程序,我为shutdown.sh脚本创建了一个“src/dist/bin”文件夹,该脚本将打包到发行版zip中。如何设置文件模式以便执行?我已经知道如何使用复制任务设置文件模式,但是在这种情况下,脚本是由分发插件复制的 谢谢它应该与任何复制任务中的任务相同,因为分发正在使用。我使用类似于下面的代码。我将脚本放在另一个文件夹中 distributions { main { contents { into('bin') {

使用Gradle构建一个应用程序,我为shutdown.sh脚本创建了一个“src/dist/bin”文件夹,该脚本将打包到发行版zip中。如何设置文件模式以便执行?我已经知道如何使用复制任务设置文件模式,但是在这种情况下,脚本是由分发插件复制的


谢谢

它应该与任何复制任务中的任务相同,因为分发正在使用。我使用类似于下面的代码。我将脚本放在另一个文件夹中

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计算机上