Gradle应用插件中的startScripts优化

5
我正在使用带有应用程序插件的Gradle。
我试图调整startScripts任务。 我认为调整不需要太多更改,因此我想更改标准任务:
  • 完整的分发包含其自己的JRE,因此我希望脚本引用该库,而不是使用JAVA_HOME
  • 如果可能,删除UNIX启动脚本。 我只需要Windows脚本。
如果可能的话,我更喜欢理解要更改任务中的哪些变量,而不是从头开始重写任务。 我的问题是如何做到这一点。 查看文档,我只看到applicationNameclasspathdefaultJvmOptsexitEnvironmentVarmainClassNameoptsEnvironmentVaroutputDir的访问器,它们对我来说都不相关。 您可以指导我查阅说明文档,以了解如何完成此操作吗?
1个回答

7
为了删除一个UNIX脚本,你可以将startScripts任务配置为:
startScripts {
    doLast {
        delete unixScript
    }
}

关于脚本内容,不太确定是否可以使用自定义脚本生成器来完成,该生成器可以在startScripts中用作WindowsStartScriptGenerator。但无论如何,在doLast中,您都可以修改启动脚本的内容,只需将其视为windowsScript.text

startScripts {
    doLast {
        windowsScript.text = windowsScript.text.replace("set JAVA_EXE=%JAVA_HOME%/bin/java.exe",
                "set JAVA_EXE=../relative/path/to/java/bin/java.exe")
    }
}

在我所有的发现中,这绝对是最轻量级的解决方案,谢谢! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接