cocos-engine icon indicating copy to clipboard operation
cocos-engine copied to clipboard

通过命令行 构建项目时, 如果项目存在 资源引用丢失的情况, 没有警告信息.

Open finscn opened this issue 1 year ago • 6 comments

Cocos Creator version

3.8.3

System information

all

Issue description

在 2.x 里 通过命令行构建项目, 如果存在资源引用错误 (资源丢失) 时, 是会给出警告信息的. 但是 在 3.8.3 里没有.

如果是bug , 希望修正, 如果不是, 希望能支持这个功能.

谢谢

Relevant error log output

No response

Steps to reproduce

如上所述

Minimal reproduction project

No response

finscn avatar Jul 02 '24 10:07 finscn

没有复现你的问题,3.x 也一直有警告信息的,你可以搜索日志查看。如果你使用的引用方式比较特殊,麻烦上传一下可以复现的 demo 。 image

yanOO1497 avatar Jul 04 '24 08:07 yanOO1497

没有复现你的问题,3.x 也一直有警告信息的,你可以搜索日志查看。如果你使用的引用方式比较特殊,麻烦上传一下可以复现的 demo 。 image

请问你是用什么参数构建的? 我的如下

CocosCreator --project 项目路径 --build platform=wechatgame;buildPath=build目录;configPath=微信小游戏构建的配置json;stage=build

finscn avatar Jul 04 '24 19:07 finscn

CocosCreator --project 项目路径 --build platform=wechatgame;buildPath=build目录;configPath=微信小游戏构建的配置json;stage=build

没区别的,都一样的,甚至不管是命令行构建还是界面构建,实际构建流程都是一致的。你可以正常构建,先确认下日志里是否确实没有警告。另外如果引用丢失资源的资源并没有参与构建(没有被参与场景引用或者在 Bundle 内),不参与构建也自然不会提示。

yanOO1497 avatar Jul 05 '24 06:07 yanOO1497

CocosCreator --project 项目路径 --build platform=wechatgame;buildPath=build目录;configPath=微信小游戏构建的配置json;stage=build

没区别的,都一样的,甚至不管是命令行构建还是界面构建,实际构建流程都是一致的。你可以正常构建,先确认下日志里是否确实没有警告。另外如果引用丢失资源的资源并没有参与构建(没有被参与场景引用或者在 Bundle 内),不参与构建也自然不会提示。

我是写了构建脚本

我是用 node 的 child_process.spawn 来执行的 构建命令

const build = child_process.spawn("构建命令以及各种参数")
build.stdout.on('data', chunk => {
    console.log(chunk.toString())
})

build.stderr.on('data', chunk => {
    console.error(chunk.toString())
})

build.on('error', err => {
    console.error('ERROR: ')
    console.error(err)
})

两处对 error 的捕捉 都无法显示出任何 error

我怀疑和这个类似 issue里提到的问题有一定的关联性. https://github.com/cocos/cocos-engine/issues/16987

finscn avatar Jul 05 '24 07:07 finscn

CocosCreator 构建时的输出 是不是用了什么特殊方式 ?

我在mac 下, 正常情况执行 " CocosCreator ...参数... > log.txt " 的话, 应该控制台没有输出, 输出内容全部重定向到 log.txt . 但是 cocos 并不是这样. 我加了 > log.txt, 结果还是在 屏幕输出, log.txt 里是空的.

是不是你们内部的输出没有使用标准的 stdout stderr ? 自己重定向了?

finscn avatar Jul 05 '24 07:07 finscn

@yanOO1497 在mac下 iterm2 里 直接用命令行构建 也不打印任何错误信息. 我故意让构建过程有错误. 构建遇到错误直接退出. 但是终端里没有任何错误信息

finscn avatar Jul 10 '24 04:07 finscn