能否支持命令行"构建"?

以便集成到jenkins等CI服务中。

EDIT:下图中的“构建”

1赞

顶一下,有没有尝试过同步资源后使用原生工程 proj.android 来构建

不是有 cocos compile 么?

creator 中不能用之前的方式了

还是可以使用 compile 命令的,只要你的系统环境变量设置都 ok
creator 的编译也是用的 compile 命令,只不过会以 preferences 里设置的 环境变量传参到 cocos console 里

“构建”,是指cocoscreator把assert里的资源输出到原生工程的src和res里。

@jare @nantas 请问这个有计划支持吗?
稍大一点的团队应该都很需要这个功能,如果能在1.1支持就最好了。不然还得想其他办法。

多谢反馈,1.1 是来不及支持了,这个功能我们有计划在之后的版本中加入。

有计划就好~越早越好~:slightly_smiling:

请问现在有计划吗? 有没有可以绕着搞得方法

NEW_INFO_STEP_APPEND_TEMPLATE 这个字符串在脚本哪里用了 我们可以自己搞一下

很难绕过…… 那个字符串问问 @jjyinkailejj

你指的是 cocos console 里面的 NEW_INFO_STEP_APPEND_TEMPLATE?
需要这个来干什么?

通过扩展可以实现构建,启动 Creator时加上 --x path_proj ,–x是随便写的,但必须有一个参数,可以直接打开工程
scene的id到编辑器里查,勉强能用还是希望官方早日支持


'use strict';

var AndroidCfg = {
  title: 'xx',
  platform: 'android',
  dest: 'E:\/xx\/build',
  startScene: '1a7bf4e2-074d-418e-9074-0a4b9984ae6f',
  debug: false,
  previewWidth: 1280,
  previewHeight: 720,
  sourceMaps: false,
  webOrientation: 'auto',
  packageName: 'com.test.demo',
  useDebugKeystore: true,
  keystorePath: '',
  keystorePassword: '',
  keystoreAlias: '',
  keystoreAliasPassword: '',
  orientation: {
    landscapeLeft: false,
    landscapeRight: false,
    portrait: true,
    upsideDown: true
  },
  template: 'default',
  scenes: ['1a7bf4e2-074d-418e-9074-0a4b9984ae6f'],
};


var Builder = {
  _buildAndroid: function () {
    this._nextFun = this._compileAndroid.bind(this);
    Editor.Ipc.sendToMain('builder:start-task', 'build', AndroidCfg);
  },

  _compileAndroid: function () {
    this._nextFun = this._finish.bind(this);
    Editor.Ipc.sendToMain('builder:start-task', 'compile', AndroidCfg);
  },

  _finish: function () {
    cc.log('build finish');
  },

  _startBuild: function () {
    setTimeout(this._buildAndroid.bind(this), 10000);
  },

  _stateChanged: function (type, percent) {
    if (type === 'finish') {
      setTimeout(this._nextFun, 1000);
    } else if (type === 'start') {
      //start
    } else if (type === 'error') {
      //error
    }
  },

  load: function () {
    setTimeout(this._startBuild.bind(this), 10000);
  },

  messages: {
    "builder:state-changed": function (e, type, percent) {
      this._stateChanged(type, percent)
    },
  },
}

module.exports = Builder;
1赞

哈哈,让插件系统来得更猛烈些吧。

这个写的有点 不太理解
–x 参数表示什么意思呢
代码里的load方法表示每次打开creator都自动执行构建吗。
另外问下Editor.Ipc.sendToMain这些事件有文档介绍吗
我试了Mac 下命令行启动creator creator启动了 但是却没有自动打开项目 是因为什么参数设置问题吗, 命令行如下
open /Applications/CocosCreator.app /Users/shishaoguang/work/project
open -a /Applications/CocosCreator.app /Users/shishaoguang/work/project
open -a /Applications/CocosCreator.app ‘/Users/shishaoguang/work/project’
open -a /Applications/CocosCreator.app --args /Users/shishaoguang/work/project
open -a /Applications/CocosCreator.app --args ‘/Users/shishaoguang/work/project’
以上几种命令行 参数都试了 只能打开creator 但是无法打开指定项目

能否支持linux系统下通过命令行构建? (没有UI)

open /Applications/CocosCreator.app --args --x /Users/shishaoguang/work/project

是cocos build console 里的字符串资源 在cocos creator 的build log 里有用到 我就看看能不能自己改动一些脚本。

@lixuewu 正解

@lixuewu
现在启动creator 自动构建OK了, 现在我们还有一个需求是希望命令行构建完毕能自动关闭creator. 有没有相关接口呢. 比如通过Editor.Ipc.sendToMain发送一个close事件 类似这样的

1赞

请问1.2会加入吗?可以支持在linux的纯命令行下构建吗?