打开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基于Spring框架进行开发,Spring框架是一个广泛使用的开源框架,它为企业应用提供了全面的编程和配置模型。这种组合不仅加强了hybris在电子商务领域的竞争力,还允许开发者利用Spring丰富的生态系统...
SAP Hybris是一个高度可扩展的电子商务框架,主要用于构建复杂的多渠道商务解决方案。它由SAP公司开发,旨在帮助企业实现线上和线下的无缝融合,提供个性化的购物体验,并且能够处理大量的交易数据。Hybris框架的...
- 返回`hybris/bin/platform`目录,运行`ant modulegen`进行模块生成。 - 输入“accelerator”作为模块类型。 - 输入项目名称(例如:“king”)。 - 输入包名(例如:“com.king”)。 - 完成后,可以在`...
SAP Hybris零售行业解决方案是SAP为满足现代零售业需求而设计的一整套综合解决方案。该方案旨在通过数字化技术,重塑"人"、"货"、"场"的互动方式,实现全渠道零售的无缝一致体验。SAP Hybris方案由Dr. Winston Zhang...
2. **配置Hybris插件**: 在Eclipse的“Preferences”中,找到“SAP Hybris Commerce Platform”设置,配置Hybris安装路径和工作空间。 3. **创建连接**: 在“Servers”视图中,右键选择“New” -> “SAP Hybris ...
### Java-SAP Hybris组件:专业级培训与实践 #### 一、Java-SAP Hybris Component简介 **Java-SAP Hybris Component**是SAP Hybris电子商务平台中的关键部分之一,它利用Java这一强大且流行的编程语言,为开发者...
### Java-SAP Hybris Template Builder:高效构建电子商务模板的终极工具 #### 一、引言 随着电子商务行业的快速发展,企业对于高效、灵活且稳定的电子商务平台的需求日益增长。在这个背景下,Java-SAP Hybris ...
SAP hybris电子商务全渠道解决方案介绍 加QQ2823792750 获取
本教程将详细解释如何使用Vagrant这一轻量级虚拟化工具来安装SAP Hybris。Vagrant允许开发者在标准化的环境中快速部署和配置软件,从而简化开发和测试流程。 首先,我们需要了解`mysql`,它是关系型数据库管理系统...
通过强大的CMS(Content Management System)和个性化引擎,Hybris可以针对每个客户进行内容定制和推荐,提高用户体验和转化率。 **国际化与多语言支持** Hybris支持全球化运营,能处理多种货币、税率和语言,适应...
数字创新现已改变我们的生活方式:沟通、购物、支付、学习和工作。同时也改变 了我们追求爱情的方式。如今,由于网上交友提供了更多选择和机会,通过 Tinder 等应用程序找到潜在伴侣的情况并不鲜见。...
该扩展将Gmail与SAP Hybris Cloud for Customer解决方案连接起来,在向潜在客户和客户发送电子邮件时提供所有销售信息的快速浏览,并允许您链接电子邮件对话,搜索重复联系人,创建新的潜在客户,任务和访问,全部...
1. **理解ant命令**:Hybris的ant clean all命令包含了build和server两部分,而server部分实际执行了deploy。因此,根据代码变动情况,我们可以只执行ant build或ant deploy,而不必每次都执行全量构建。 2. **代码...
接下来,需要打开控制台窗口,切换到Hybris安装目录下的bin/platform文件夹,然后执行setantenv.bat脚本(在OS X或Linux系统中为./setantenv.sh)来设置Ant环境变量,以便使用Apache Ant这一自动化任务工具。...
SAP Hybris,现已被命名为SAP Commerce Cloud,是一款由SAP公司提供的全面的电子商务解决方案。这个平台旨在帮助企业构建、运行并优化其线上业务,提供跨渠道的个性化购物体验。在深入探讨SAP Hybris的学习资料之前...
进一步深入,你将探索Hybris的开发环境,包括使用HAC(Hybris Administration Console)进行管理,使用IDE(如Eclipse)进行编码,以及使用ant脚本进行构建和部署。此外,Hybris的灵活性还体现在其插件系统,通过...
适用于SAP Commerce Cloud的Worldpay连接器SAP Commerce Cloud的Worldpay连接器是Commerce店面的无缝扩展,使零售商可以通过一次集成...介绍SAP商务云该扩展程序专为SAP Commerce Cloud以及以前称为Hybris的早期版本而
### Hybris Platform 安装指南知识点详述 #### 引言 Hybris Platform 是一个功能强大的电子商务解决方案平台,被广泛应用于构建多渠道、全渠道...遵循官方提供的指南进行操作,可以确保 Hybris 平台的顺利安装与使用。
【标题】"hybris入门手册_hybris"涵盖了SAP的hybris平台,这是一个高度可扩展的电子商务解决方案,主要用于构建B2B和B2C在线商店。Hybris平台结合了内容管理、订单处理、产品目录管理、客户服务和市场推广等多种功能...