日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Hybris使用recipe进行安装时,是如何执行ant命令的?

發布時間:2023/12/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Hybris使用recipe进行安装时,是如何执行ant命令的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

打開Hybris安裝文件夾下的recipes,隨便打開一個recipe的build.gradle文件,發現使用了installer-platform-plugin和installer-addon-plugin這兩個plugin. Groovy setup任務的邏輯,也就是使用這兩個plugin里的實現,根據config實例化platform對象,然后調用其setup方法和executeAntTarget方法。

這兩個方法的實現源代碼在哪里?這就是本文所要描述的內容。

去docs文件夾里可以找到插件的實現源代碼:

到源代碼里根據executeAntTarget進行搜索:

在AbstractPlatform.groovy里找到了executeAntTarget的實現邏輯,發現其delegate到了成員屬性antExecutor里:

這個antExecutor的類型是HybrisAntExecutor:

找到HybrisAntExcutor,發現其只不過是調用類HybrisPluginUtils的靜態方法:

靜態方法之一:runProcess

實現核心:

private static void runExternalProcess(String workDir, String[] command, Closure closure) {def builder = new DefaultExecHandleBuilder()builder.setWorkingDir((new File(workDir)).absolutePath)builder.setCommandLine(command)if (closure) closure.call(builder)def handle = builder.build()handle.start()def result = handle.waitForFinish()if (result.getExitValue() != 0) {throw new IllegalStateException("external process returned non-zero exit code, command: ${command}")}}

運行外部程序的方法,使用的是Groovy SDK提供的import org.gradle.process.internal.DefaultExecHandleBuilder.

靜態方法之二:isWindowsOs

import org.apache.tools.ant.taskdefs.condition.Os

HybrisAntExcutor方法之一:getWindowsAntCmd

private String[] getWindowsAntCmd(String antArgs, String antOpts) {def antPreCommand = "set \"ANT_OPTS=${antOpts}\""antPreCommand += " & set \"PLATFORM_HOME=${platformHome}\""antPreCommand += " & set \"ANT_HOME=${platformHome}\\apache-ant-1.9.1\""antPreCommand += " & set \"PATH=${platformHome}\\apache-ant-1.9.1\\bin;%PATH%\""String antCommand = "${antPreCommand} & ant ${antArgs}"['cmd', '/c', antCommand]}

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的SAP Hybris使用recipe进行安装时,是如何执行ant命令的?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。