头图

SAP UI5 应用在 Business Application Studio 里的构建单步分析

SAP Business Application Studio 里打开一个 SAP UI5 应用,选中 mta.yaml 文件进行构建:Build MTA Project

本文介绍选择了这个菜单之后,背后发生了哪些事情。

Executing task: mbt build -s '/home/user/projects/project1'; sleep 2; <

执行的命令行是 mbt build -s,在 project1 根目录下执行该文件。

[2022-03-22 09:23:01] INFO Cloud MTA Build Tool version 1.2.7

MTa build tool 版本号 1.2.7

[2022-03-22 09:23:01] INFO generating the "Makefile_20220322092301.mta" file...

生成 mta 文件。
[2022-03-22 09:23:01] INFO done
[2022-03-22 09:23:01] INFO executing the "make -f Makefile_20220322092301.mta p=cf mtar= strict=true mode=" command...

调用 make 执行文件。

这两个文件都安装在 /extbin/bin 文件夹下。

[2022-03-22 09:23:01] INFO validating the MTA project
[2022-03-22 09:23:01] INFO validating the MTA project
[2022-03-22 09:23:01] INFO building the "sap-btp-project1-dest-content" module...

依次构建 mta.yaml 文件里的 module:

[2022-03-22 09:23:01] INFO the "sap-btp-project1-dest-content" module was not built because the "no-source" build parameter is set to "true"

这个 module 并没有被构建,因为参数 no-source 设置为 true:

[2022-03-22 09:23:01] INFO finished building the "sap-btp-project1-dest-content" module
[2022-03-22 09:23:01] INFO building the "sapbtpproject1" module...

下一个 module :

[2022-03-22 09:23:01] INFO executing the "npm install" command...
......npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/@ui5/cli/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@https://registry.npmjs.org/fs... wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

up to date in 6.074s

64 packages are looking for funding
run npm fund for details

[2022-03-22 09:23:08] INFO executing the "npm run build:cf" command...
npm WARN lifecycle The node binary used for scripts is /extbin/bin/node but npm is using /opt/nodejs/node-v14.17.6-linux-x64/bin/node itself. Use the --scripts-prepend-node-path option to include the path for the node binary npm was executed with.

执行 npm run build:cf:

project1@0.0.1 build:cf /home/user/projects/project1
ui5 build preload --clean-dest --config ui5-deploy.yaml --include-task=generateManifestBundle generateCachebusterInfo

上面这行命令定义在:

.info builder:builder Building project sap.btp.project1 not including dependencies...
info builder:builder 🛠 (1/1) Building project sap.btp.project1
.info builder:builder application sap.btp.project1 🔨 (1/12) Running task escapeNonAsciiCharacters...
info builder:builder application sap.btp.project1 🔨 (2/12) Running task replaceCopyright...
info builder:builder application sap.btp.project1 🔨 (3/12) Running task replaceVersion...
info builder:builder application sap.btp.project1 🔨 (4/12) Running task generateFlexChangesBundle...
info builder:builder application sap.btp.project1 🔨 (5/12) Running task webide-extension-task-updateManifestJson...
info builder:builder application sap.btp.project1 🔨 (6/12) Running task generateManifestBundle...
info builder:builder application sap.btp.project1 🔨 (7/12) Running task generateComponentPreload...
.WARN lbt:bundle:Builder ** warning: module sap/btp/project1/utils/locate-reuse-libs.js requires top level scope and can only be embedded as a string (requires 'eval')
info builder:builder application sap.btp.project1 🔨 (8/12) Running task createDebugFiles...
info builder:builder application sap.btp.project1 🔨 (9/12) Running task uglify...
info builder:builder application sap.btp.project1 🔨 (10/12) Running task generateVersionInfo...
info builder:builder application sap.btp.project1 🔨 (11/12) Running task generateCachebusterInfo...
info builder:builder application sap.btp.project1 🔨 (12/12) Running task ui5-task-zipper...
info builder:builder Build succeeded in 1.6 s
info builder:builder Executing cleanup tasks...
[2022-03-22 09:23:11] INFO finished building the "sapbtpproject1" module
[2022-03-22 09:23:11] INFO building the "sap-btp-project1-app-content" module...

构建 app-content module:

[2022-03-22 09:23:11] INFO copying files matching the [sapbtpproject1.zip,...] patterns from the "/home/user/projects/project1/dist" folder to the "/home/user/projects/project1/resources" folder
[2022-03-22 09:23:11] INFO copying the "sapbtpproject1.zip" pattern from the "/home/user/projects/project1/dist" folder to the "/home/user/projects/project1/resources" folder
[2022-03-22 09:23:11] INFO the build results of the "sap-btp-project1-app-content" module will be packaged and saved in the "/home/user/projects/project1/.project1_mta_build_tmp/sap-btp-project1-app-content" folder
[2022-03-22 09:23:11] INFO finished building the "sap-btp-project1-app-content" module
[2022-03-22 09:23:11] INFO generating the metadata...
[2022-03-22 09:23:11] INFO generating the "/home/user/projects/project1/.project1_mta_build_tmp/META-INF/mtad.yaml" file...

生成部署到 SAP Business Technology Platform 上的 MTA archive 文件。

[2022-03-22 09:23:11] INFO generating the MTA archive...
[2022-03-22 09:23:11] INFO the MTA archive generated at: /home/user/projects/project1/mta_archives/sap-btp-project1_0.0.1.mtar
[2022-03-22 09:23:11] INFO cleaning temporary files...

Terminal will be reused by tasks.


Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使
884 声望
1.6k 粉丝
0 条评论
推荐阅读
什么是 Dynatrace 里的 Visually Complete 度量标准
Dynatrace 中的 Visually Complete 是一个度量标准,用于测量在加载过程中用户在页面上看到的内容。Visually Complete 指标是当一个用户看到页面上的所有重要元素并且它们正确地渲染时所测量的时间点。这意味着所...

JerryWang_汪子熙阅读 79

封面图
交流学习SAP ERP的各种问题和方法,如何快速入行?
笔者从 2007 年大学计算机专业硕士毕业后加入 SAP 成都研究院从事 SAP 各种标准产品的设计和研发工作已经十五余年,期间也曾经在 SAP ERP 上工作过一段时间,当然也包含 SAP 次世代的最新 ERP 产品 S/4HANA.

JerryWang_汪子熙阅读 1.1k

封面图
SAP UI5 按钮的类型和背景色设置例子
我在 SAP UI5 XML 视图里有一个 Button 控件,类型为 Accept:运行时渲染出来的效果如下:这个按钮对应生成的 HTML 视图代码里,起作用的 css: {代码...} 对应的 css 文件地址:[链接]本地渲染:sapui5.hana.ond...

JerryWang_汪子熙阅读 1.1k

封面图
SAP R/3,SAP ECC 和 SAP S/4HANA 的联系和区别
有朋友在我的知识星球里提问:汪哥,我想问一下,就是 r/3 和 ecc 和 s/4 之间的联系和区别。我们首先聊聊 R/3 和 S/4 的联系和区别。在笔者这篇文章ABAP 真的会过时吗?聊聊 ABAP 的过去,现在和未来里,我曾经...

JerryWang_汪子熙阅读 986

封面图
SAP Corbu Theme 在浏览器和 SAPGUI 应用中的使用场景
SAP Corbu Theme 是一种清新、现代且独特的视觉标识。 它以瑞士建筑师兼设计师 Charles-Édouard Jeanneret,又名 Le Corbusier 的名字命名。 该设计有意保持中立,以与各种遗留内容(Legacy content)融为一体。

JerryWang_汪子熙阅读 933

封面图
SAP Fiori Belize 主题应用在 SAPGUI 里的一些要点
为了遵守 Fiori 设计指南,SAPGUI 里的 Belize 主题需要在某些方面与之前提供的所有 SAP GUI for Windows/HTML 主题不同。

JerryWang_汪子熙阅读 907

封面图
SAPGUI 里运行的老程序,如何对新的 SAP Fiori Belize Theme 进行适配?
为了尽快使现有应用程序的外观适应 Fiori 2.0 设计和可用性范例,而无需在技术上切换到 Fiori 框架,SAP 引入了一个所谓的 SAP Fiori themes for SAPGUI 的概念。

JerryWang_汪子熙阅读 903

封面图
884 声望
1.6k 粉丝
宣传栏