Skip to content
This repository has been archived by the owner on Mar 18, 2022. It is now read-only.

Commit

Permalink
Merge branch 'feature/create_installer' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
dualface committed Oct 8, 2016
2 parents 3d42f98 + 0366f15 commit bba7bfe
Show file tree
Hide file tree
Showing 58 changed files with 169 additions and 46 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,9 @@ lua-project/simulator/

contents.xcworkspacedata
xcuserdata

installer/mac/Install\ Lua\ Support.app/Contents/Resources/dists/
installer/mac/*.dmg

installer/win/*.exe

6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ Creator 插件功能:
cocos new -l lua luaproject
```

2. 将 `creator-project/packages/creator-legacy-support` 目录复制到你的 Creator 工程的 `packages` 目录中。如果 `packages` 目录不存在,则需要创建一个。
2. 将 `creator-project/packages/creator-lua-support` 目录复制到你的 Creator 工程的 `packages` 目录中。如果 `packages` 目录不存在,则需要创建一个。

3. 用 Creator 打开工程,然后选择菜单 "Project(工程) -> Legacy Support -> Setup Target Project",打开目标工程设置对话框:
3. 用 Creator 打开工程,然后选择菜单 "Project(工程) -> Lua Support -> Setup Target Project",打开目标工程设置对话框:

![](docs/plugin-setup-dialog.png)

Expand All @@ -68,7 +68,7 @@ Creator 插件功能:
提示:

- 如果希望每次保存场景后自动更新 Lua 文件,请在设置对话框中选中“Auto Build”选项。
- 对于大型项目,自动构建可能较慢。此时应该禁用自动构建,然后通过菜单“Project(工程) -> Legacy Support -> Build Now”进行构建操作。
- 对于大型项目,自动构建可能较慢。此时应该禁用自动构建,然后通过菜单“Project(工程) -> Lua Support -> Build Now”进行构建操作。

~

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ function _convertId(props) {

class BuildWorker extends WorkerBase {
run(state, callback) {
Editor.Ipc.sendToAll('creator-legacy-support:state-changed', 'start', 0);
printlog('[creator-legacy-support] build start');
Editor.Ipc.sendToAll('creator-lua-support:state-changed', 'start', 0);
printlog('[creator-lua-support] build start');

Editor.require('app://asset-db');

Expand Down Expand Up @@ -118,8 +118,8 @@ class BuildWorker extends WorkerBase {
this._dumplua('files', Path.join(basedir, 'files.lua'), this.results.files);
this._dumplua('scenes', Path.join(basedir, 'scenes.lua'), this.results.scenes);

Editor.Ipc.sendToAll('creator-legacy-support:state-changed', 'finish', 100);
printlog('[creator-legacy-support] build completed');
Editor.Ipc.sendToAll('creator-lua-support:state-changed', 'finish', 100);
printlog('[creator-lua-support] build completed');

this._usedUuids = null;
this._db = null;
Expand All @@ -129,7 +129,7 @@ class BuildWorker extends WorkerBase {

_convertScenes() {
if (this._debug) {
printlog('[creator-legacy-support] converting scenes');
printlog('[creator-lua-support] converting scenes');
}

let selectedScenes = this.project.getSelectedScenes();
Expand All @@ -151,7 +151,7 @@ class BuildWorker extends WorkerBase {

_convertResources() {
if (this._debug) {
printlog('[creator-legacy-support] converting resources');
printlog('[creator-lua-support] converting resources');
}

this._db.queryMetas('db://assets/resources/**/', null, (err, metas) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ const Project = require('./Project');

class CopyLibraryWorker extends WorkerBase {
run(state, callback) {
let files = JSON.parse(Fs.readFileSync(Editor.url('packages://creator-legacy-support/lua/files.json')));
let srcdir = Editor.url('packages://creator-legacy-support/lua/');
let files = JSON.parse(Fs.readFileSync(Editor.url('packages://creator-lua-support/lua/files.json')));
let srcdir = Editor.url('packages://creator-lua-support/lua/');
let destdir = state.path;

let step = 100 / files.length;
Expand All @@ -30,7 +30,7 @@ class CopyLibraryWorker extends WorkerBase {
let contents = '\nreturn "' + this._opts.version + '"\n\n';
Fs.writeFileSync(Path.join(destdir, 'src', 'creator', 'version.lua'), contents);

Editor.Ipc.sendToAll('creator-legacy-support:state-changed', 'finish', 100);
Editor.Ipc.sendToAll('creator-lua-support:state-changed', 'finish', 100);

callback();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ module.exports = class Project {

validate() {
if (typeof this.path !== 'string' || this.path === '') {
Editor.warn('[Legacy Support] not set Target Project Path');
Editor.warn('[Lua Support] not set Target Project Path');
return false;
}

try {
let stat = Fs.statSync(this.path);
if (!stat.isDirectory()) {
Editor.warn('[Legacy Support] ' + this.path + ' is not directory');
Editor.warn('[Lua Support] ' + this.path + ' is not directory');
return false;
}
} catch (e) {
Editor.warn('[Legacy Support] invalid path: ' + this.path);
Editor.warn('[Lua Support] invalid path: ' + this.path);
return false;
}

Expand All @@ -44,11 +44,11 @@ module.exports = class Project {
configPath = Path.join(this.path, 'config.json');
let config = JSON.parse(Fs.readFileSync(configPath));
if (!config.init_cfg || !config.init_cfg.name) {
Editor.warn('[Legacy Support] ' + configPath + ' is not Cocos JSON file');
Editor.warn('[Lua Support] ' + configPath + ' is not Cocos JSON file');
return false;
}
} catch (e) {
Editor.warn('[Legacy Support] ' + configPath + ' is not Cocos JSON file');
Editor.warn('[Lua Support] ' + configPath + ' is not Cocos JSON file');
return false
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ class WorkerBase {

_updateProgress(step) {
this._progress += step;
Editor.Ipc.sendToAll('creator-legacy-support:state-changed',
Editor.Ipc.sendToAll('creator-lua-support:state-changed',
'progress ' + Math.floor(this._progress) + '%',
this._progress);
}
Expand All @@ -25,15 +25,15 @@ class WorkerBase {
let current = new Date();
if (this._debug) {
let times = (current.getTime() - this._time.getTime()) / 1000;
Editor.log('[creator-legacy-support] [' + tag + '] ' + times.toString() + 's');
Editor.log('[creator-lua-support] [' + tag + '] ' + times.toString() + 's');
}
this._time = current;
}
}


function registerWorker(workerClass, runEvent) {
Electron.ipcRenderer.on('creator-legacy-support:' + runEvent, (event, state, opts) => {
Electron.ipcRenderer.on('creator-lua-support:' + runEvent, (event, state, opts) => {
let worker = new workerClass(opts);
worker.run(state, () => {
event.reply();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const Path = require('path');

const Electron = require('electron');

const PACKAGE_NAME = 'creator-legacy-support';
const PACKAGE_NAME = 'creator-lua-support';
const TIMEOUT = -1;
const DEBUG_WORKER = false;
let PACKAGE_VERSION = '';
Expand Down Expand Up @@ -53,12 +53,12 @@ function _checkProject(reason) {
Editor.Dialog.messageBox({
type: 'warning',
buttons: [Editor.T('MESSAGE.ok')],
title: 'Warning - Legacy Support',
title: 'Warning - Lua Support',
message: 'Please setup Target Project first',
noLink: true,
});
} else {
Editor.warn('[Legacy Support] Please setup Target Project first');
Editor.warn('[Lua Support] Please setup Target Project first');
}
}

Expand All @@ -67,18 +67,18 @@ function _checkProject(reason) {

function _build(reason) {
if (_buildState !== 'sleep' && _buildState !== 'finish') {
Editor.warn('[Legacy Support] Building in progress');
Editor.warn('[Lua Support] Building in progress');
return;
}

let project = _checkProject(reason);
if (!project) return;
if (reason === 'scene:saved' && !project.autoBuild) return;

Editor.Ipc.sendToAll('creator-legacy-support:state-changed', 'start', 0);
Editor.Ipc.sendToAll('creator-lua-support:state-changed', 'start', 0);

let workerUrl = 'packages://creator-legacy-support/core/BuildWorker';
_runWorker(workerUrl, 'creator-legacy-support:run-build-worker', project);
let workerUrl = 'packages://creator-lua-support/core/BuildWorker';
_runWorker(workerUrl, 'creator-lua-support:run-build-worker', project);
}

function _copyLibrary(reason) {
Expand All @@ -97,24 +97,24 @@ function _copyLibrary(reason) {
let res = Editor.Dialog.messageBox({
type: 'warning',
buttons: ['Copy', Editor.T('MESSAGE.cancel')],
title: 'Warning - Legacy Support',
title: 'Warning - Lua Support',
message: message,
noLink: true,
});

if (res == 0) {
// 0: Copy
Editor.Ipc.sendToAll('creator-legacy-support:state-changed', 'start', 0);
Editor.Ipc.sendToAll('creator-lua-support:state-changed', 'start', 0);

let workerUrl = 'packages://creator-legacy-support/core/CopyLibraryWorker';
_runWorker(workerUrl, 'creator-legacy-support:run-copy-library-worker', project);
let workerUrl = 'packages://creator-lua-support/core/CopyLibraryWorker';
_runWorker(workerUrl, 'creator-lua-support:run-copy-library-worker', project);
}
}

module.exports = {
load() {
_fetchVersion();
Editor.log('[Legacy Support] version ' + PACKAGE_VERSION);
Editor.log('[Lua Support] version ' + PACKAGE_VERSION);
},

unload() {
Expand All @@ -137,9 +137,9 @@ module.exports = {
_build('scene:saved');
},

'creator-legacy-support:state-changed'(event, state, progress) {
'creator-lua-support:state-changed'(event, state, progress) {
_buildState = state;
Editor.Ipc.sendToWins('creator-legacy-support:state-changed', state, progress);
Editor.Ipc.sendToWins('creator-lua-support:state-changed', state, progress);
}
}
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"name": "creator-legacy-support",
"name": "creator-lua-support",
"version": "1.1.0",
"description": "Creator Legact Support for cocos2d-x Lua",
"author": "Cocos Creator",
"main": "main.js",
"main-menu": {
"i18n:MAIN_MENU.project.title/Legacy Support/Setup Target Project": {
"message": "creator-legacy-support:setup-target-project"
"i18n:MAIN_MENU.project.title/Lua Support/Setup Target Project": {
"message": "creator-lua-support:setup-target-project"
},
"i18n:MAIN_MENU.project.title/Legacy Support/Build Now": {
"message": "creator-legacy-support:build"
"i18n:MAIN_MENU.project.title/Lua Support/Build Now": {
"message": "creator-lua-support:build"
}
},
"panel": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ const Fs = require('fs');
const Path = require('path');
const Electron = require('electron');

const Project = require(Editor.url('packages://creator-legacy-support/core/Project.js'));
const Project = require(Editor.url('packages://creator-lua-support/core/Project.js'));

const styleUrl = Editor.url('packages://creator-legacy-support/panels/style.css');
const styleUrl = Editor.url('packages://creator-lua-support/panels/style.css');
const style = Fs.readFileSync(styleUrl);

const templateUrl = Editor.url('packages://creator-legacy-support/panels/setup-project-panel.html');
const templateUrl = Editor.url('packages://creator-lua-support/panels/setup-project-panel.html');
const template = Fs.readFileSync(templateUrl);

Editor.Panel.extend({
Expand Down Expand Up @@ -70,7 +70,7 @@ Editor.Panel.extend({

_onCopyLibraryClick(event) {
event.stopPropagation();
Editor.Ipc.sendToMain('creator-legacy-support:copy-library', 'ui');
Editor.Ipc.sendToMain('creator-lua-support:copy-library', 'ui');
},

_onSelectAllCheckedChanged(event) {
Expand All @@ -84,12 +84,12 @@ Editor.Panel.extend({

_onBuildClick(event) {
event.stopPropagation();
Editor.Ipc.sendToMain('creator-legacy-support:build', 'ui');
Editor.Ipc.sendToMain('creator-lua-support:build', 'ui');
},

_onSetupClick(event) {
event.stopPropagation();
Editor.Panel.close('creator-legacy-support');
Editor.Panel.close('creator-lua-support');
}
}
});
Expand All @@ -105,7 +105,7 @@ Editor.Panel.extend({
},

messages: {
'creator-legacy-support:state-changed'(event, state, progress) {
'creator-lua-support:state-changed'(event, state, progress) {
this._stateChanged(state, progress);
}
}
Expand Down
Binary file added installer/assets/Icon.icns
Binary file not shown.
Binary file added installer/assets/Icon.ico
Binary file not shown.
Binary file added installer/assets/Icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added installer/assets/Icon.psd
Binary file not shown.
11 changes: 11 additions & 0 deletions installer/mac/Install Lua Support.app/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>install.sh</string>
<key>CFBundleIconFile</key>
<string>Icon</string>
</dict>
</plist>

19 changes: 19 additions & 0 deletions installer/mac/Install Lua Support.app/Contents/MacOS/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
CURRENT_DIR=$(dirname "$0")
DEST_DIR="$HOME/.CocosCreator/packages/"

mkdir -p -v $DEST_DIR
cd $DEST_DIR

cd "$CURRENT_DIR/../Resources/dists/"
cp -Rf . "$DEST_DIR"

cd "$CURRENT_DIR/../Resources"
ICON_PATH="$(pwd)/Icon.icns"

MESSGE="Install Completed. Enjoy It!\n\nHow to use:\n 1. Launch Creator, open your Creator project\n 2. Choose menu 'Project -> Lua Support -> Setup Target Project\n 3. Copy support library and Build\n\nMore information please check\nhttps://github.com/cocos-creator/creator-lua"
TITLE="Install Creator Lua Support"

CMD="tell app \"System Events\" to display dialog \"$MESSGE\" buttons \"OK\" with icon POSIX file \"$ICON_PATH\" with title \"$TITLE\""
osascript -e "$CMD"

Binary file not shown.
19 changes: 19 additions & 0 deletions installer/mac/dmg-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"title": "Creator Lua Support VERSION",
"icon": "../assets/Icon.icns",
"icon-size": 256,
"window": {
"size": {
"width": 480,
"height": 400
}
},
"contents": [
{
"x": 240,
"y": 160,
"type": "file",
"path": "Install Lua Support.app"
}
]
}
33 changes: 33 additions & 0 deletions installer/mac/make-install-dmg.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/bash
CURRENT_DIR=$(cd "$(dirname $0)" && pwd)

PACKAGE_NAME="creator-lua-support"
APP_NAME="Install Lua Support"
APP_DIR="$CURRENT_DIR/$APP_NAME.app"
DISTS_DIR="$APP_DIR/Contents/Resources/dists/$PACKAGE_NAME"
PACKAGE_SRCDIR="$CURRENT_DIR/../../creator-project/packages/$PACKAGE_NAME/"
PACKAGE_VERSION=$( sed -n 's/.*"version": "\(.*\)",/\1/p' "$PACKAGE_SRCDIR/package.json" )
DMG_FILENAME="Creator-Lua-Support-$PACKAGE_VERSION.dmg"
CONFIG_FILENAME="dmg-config.json"
TEMP_CONFIG_FILENAME="dmg-config.work.json"

xattr -dr com.apple.quarantine "$APP_DIR"

sed "s/VERSION/$PACKAGE_VERSION/g" "$CONFIG_FILENAME" > "$TEMP_CONFIG_FILENAME"

mkdir -p "$DISTS_DIR"

cd "$DISTS_DIR"
cp -R "$PACKAGE_SRCDIR" .

cd "$CURRENT_DIR"

if [ -f "$DMG_FILENAME" ]; then
rm "$DMG_FILENAME"
fi

appdmg "$TEMP_CONFIG_FILENAME" "$DMG_FILENAME"
rm "$TEMP_CONFIG_FILENAME"

open .

Loading

0 comments on commit bba7bfe

Please sign in to comment.