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/fsevents/-/fsevents-2.3.2.tgz: 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.