`
JerryWang_SAP
  • 浏览: 1043623 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    SAP hybris电商实施和开发

    此外,SAP hybris基于Spring框架进行开发,Spring框架是一个广泛使用的开源框架,它为企业应用提供了全面的编程和配置模型。这种组合不仅加强了hybris在电子商务领域的竞争力,还允许开发者利用Spring丰富的生态系统...

    SAP Hybris 框架介绍

    SAP Hybris是一个高度可扩展的电子商务框架,主要用于构建复杂的多渠道商务解决方案。它由SAP公司开发,旨在帮助企业实现线上和线下的无缝融合,提供个性化的购物体验,并且能够处理大量的交易数据。Hybris框架的...

    SAP hybris 6.4 B2C平台搭建文档

    - 返回`hybris/bin/platform`目录,运行`ant modulegen`进行模块生成。 - 输入“accelerator”作为模块类型。 - 输入项目名称(例如:“king”)。 - 输入包名(例如:“com.king”)。 - 完成后,可以在`...

    藏经阁-SAP Hybris零售行业解决方案 SAP Retail Industry Solution with Hybris

    SAP Hybris零售行业解决方案是SAP为满足现代零售业需求而设计的一整套综合解决方案。该方案旨在通过数字化技术,重塑"人"、"货"、"场"的互动方式,实现全渠道零售的无缝一致体验。SAP Hybris方案由Dr. Winston Zhang...

    hybris的搭建、使用、集成eclipse(中文版)

    2. **配置Hybris插件**: 在Eclipse的“Preferences”中,找到“SAP Hybris Commerce Platform”设置,配置Hybris安装路径和工作空间。 3. **创建连接**: 在“Servers”视图中,右键选择“New” -> “SAP Hybris ...

    掌握Java-SAP Hybris组件:专业级培训与实践

    ### Java-SAP Hybris组件:专业级培训与实践 #### 一、Java-SAP Hybris Component简介 **Java-SAP Hybris Component**是SAP Hybris电子商务平台中的关键部分之一,它利用Java这一强大且流行的编程语言,为开发者...

    Java-SAP Hybris Template Builder:高效构建电子商务模板的终极工具

    ### Java-SAP Hybris Template Builder:高效构建电子商务模板的终极工具 #### 一、引言 随着电子商务行业的快速发展,企业对于高效、灵活且稳定的电子商务平台的需求日益增长。在这个背景下,Java-SAP Hybris ...

    SAP hybris电子商务全渠道解决方案介绍

    SAP hybris电子商务全渠道解决方案介绍 加QQ2823792750 获取

    带有流浪汉的安装混合:使用流浪汉安装SAP Hybris

    本教程将详细解释如何使用Vagrant这一轻量级虚拟化工具来安装SAP Hybris。Vagrant允许开发者在标准化的环境中快速部署和配置软件,从而简化开发和测试流程。 首先,我们需要了解`mysql`,它是关系型数据库管理系统...

    hybris帮助文档

    通过强大的CMS(Content Management System)和个性化引擎,Hybris可以针对每个客户进行内容定制和推荐,提高用户体验和转化率。 **国际化与多语言支持** Hybris支持全球化运营,能处理多种货币、税率和语言,适应...

    2017年SAP Hybris 消费者洞察报告 - 中国

    数字创新现已改变我们的生活方式:沟通、购物、支付、学习和工作。同时也改变 了我们追求爱情的方式。如今,由于网上交友提供了更多选择和机会,通过 Tinder 等应用程序找到潜在伴侣的情况并不鲜见。...

    用于客户Gmail插件的SAP Hybris Cloud「SAP Hybris Cloud for Customer Gmail Add-in」-crx插件

    该扩展将Gmail与SAP Hybris Cloud for Customer解决方案连接起来,在向潜在客户和客户发送电子邮件时提供所有销售信息的快速浏览,并允许您链接电子邮件对话,搜索重复联系人,创建新的潜在客户,任务和访问,全部...

    idea jenkins集成及Hybris构建小技巧

    1. **理解ant命令**:Hybris的ant clean all命令包含了build和server两部分,而server部分实际执行了deploy。因此,根据代码变动情况,我们可以只执行ant build或ant deploy,而不必每次都执行全量构建。 2. **代码...

    hybris Developer Training Part I - Core Platform - Module 02 - Environment

    接下来,需要打开控制台窗口,切换到Hybris安装目录下的bin/platform文件夹,然后执行setantenv.bat脚本(在OS X或Linux系统中为./setantenv.sh)来设置Ant环境变量,以便使用Apache Ant这一自动化任务工具。...

    sap hypris学习资料

    SAP Hybris,现已被命名为SAP Commerce Cloud,是一款由SAP公司提供的全面的电子商务解决方案。这个平台旨在帮助企业构建、运行并优化其线上业务,提供跨渠道的个性化购物体验。在深入探讨SAP Hybris的学习资料之前...

    Hybris Trail学习指南_中文

    进一步深入,你将探索Hybris的开发环境,包括使用HAC(Hybris Administration Console)进行管理,使用IDE(如Eclipse)进行编码,以及使用ant脚本进行构建和部署。此外,Hybris的灵活性还体现在其插件系统,通过...

    hybris:Worldpay SAP Hybris插件

    适用于SAP Commerce Cloud的Worldpay连接器SAP Commerce Cloud的Worldpay连接器是Commerce店面的无缝扩展,使零售商可以通过一次集成...介绍SAP商务云该扩展程序专为SAP Commerce Cloud以及以前称为Hybris的早期版本而

    Hybris Platform Installation Guide

    ### Hybris Platform 安装指南知识点详述 #### 引言 Hybris Platform 是一个功能强大的电子商务解决方案平台,被广泛应用于构建多渠道、全渠道...遵循官方提供的指南进行操作,可以确保 Hybris 平台的顺利安装与使用。

    hybris入门手册_hybris

    【标题】"hybris入门手册_hybris"涵盖了SAP的hybris平台,这是一个高度可扩展的电子商务解决方案,主要用于构建B2B和B2C在线商店。Hybris平台结合了内容管理、订单处理、产品目录管理、客户服务和市场推广等多种功能...

Global site tag (gtag.js) - Google Analytics