diff --git a/publish/build.sh b/publish/build.sh index af43e7477ec10b529ee8d241d153990204b9ee87..74fdbdf89f92f1646a9a37835a2ce7bd720b4666 100644 --- a/publish/build.sh +++ b/publish/build.sh @@ -8,8 +8,6 @@ node build_check.js set +e -npm install - cd ../form npm install @@ -55,3 +53,15 @@ cd ../publish node build_step_3.js echo "build_step_3 完æˆ~ï¼" + +cd ../play + +/Applications/CocosCreator/Creator/2.4.4/CocosCreator.app/Contents/MacOS/CocosCreator --path "./" --build "platform=web-desktop;debug=false;buildPath=build_web_desktop" --force + +echo "ç”Ÿæˆ web-desktop 完æˆ~ï¼" + +cd ../publish + +node build_step_4.js + +echo "build_step_4 完æˆ~ï¼" \ No newline at end of file diff --git a/publish/build_step_3.js b/publish/build_step_3.js index b1b1bc4d2dde903191ef989aa6edff91224de2a1..8fc7de02724b70b63223c50f212d90eb6f115e24 100644 --- a/publish/build_step_3.js +++ b/publish/build_step_3.js @@ -6,51 +6,6 @@ async function main() { await removeDir('./publish/android'); await copyDir('../play/build_android/jsb-link/remote', './publish/android'); await removeDir('../play/build_android/jsb-link'); - - const bundleData = { - ios: await getBundleData('./publish/ios'), - android: await getBundleData('./publish/android'), - } - - fs.writeFileSync('./publish/config.json', JSON.stringify(bundleData)); - - const tarStream = new compressing.zip.Stream(); - tarStream.addEntry('./publish/play'); - tarStream.addEntry('./publish/form'); - tarStream.addEntry('./publish/ios'); - tarStream.addEntry('./publish/android'); - tarStream.addEntry('./publish/config.json'); - - const destStream = fs.createWriteStream(`publish/${getReleaseFileName()}.zip`); - - tarStream.pipe(destStream); - - console.log('打包完æˆï¼'); -} - -async function getBundleData(path) { - const bundleData = { - sceneName: '', - version: '', - } - const paths = fs.readdirSync(path); - bundleData.sceneName = paths[0]; - const files = fs.readdirSync(path + '/' + bundleData.sceneName); - files.forEach(fileName => { - fileName.split('.').forEach((str, idx, arr) => { - if (str == 'config') { - bundleData.version = arr[idx + 1]; - } - }) - }); - return bundleData; -} - -function getReleaseFileName() { - let date = new Date(); - let fileName = `Release_${date.getFullYear()}${fix2(date.getMonth() + 1)}${fix2(date.getDate())} `; - fileName += `${fix2(date.getHours())}-${fix2(date.getMinutes())}-${fix2(date.getSeconds())}`; - return fileName; } main(); \ No newline at end of file diff --git a/publish/build_step_4.js b/publish/build_step_4.js new file mode 100644 index 0000000000000000000000000000000000000000..8992f0a54837b4d7c7ab6dd7f2c448e9e0eed529 --- /dev/null +++ b/publish/build_step_4.js @@ -0,0 +1,63 @@ +const { removeDir, copyDir, fix2 } = require('./utils'); +const compressing = require('compressing'); +let fs = require('fs'); + +async function main() { + await removeDir('./publish/web_desktop'); + const projectName = await getBundleName('../play/build_web_desktop/web-desktop/assets'); + await copyDir(`../play/build_web_desktop/web-desktop/assets/${projectName}`, './publish/web_desktop'); + await removeDir('../play/build_web_desktop'); + + const bundleData = { + ios: await getBundleData('./publish/ios'), + android: await getBundleData('./publish/android'), + } + + fs.writeFileSync('./publish/config.json', JSON.stringify(bundleData)); + + const tarStream = new compressing.zip.Stream(); + tarStream.addEntry('./publish/play'); + tarStream.addEntry('./publish/form'); + tarStream.addEntry('./publish/ios'); + tarStream.addEntry('./publish/android'); + tarStream.addEntry('./publish/web_desktop'); + tarStream.addEntry('./publish/config.json'); + + const destStream = fs.createWriteStream(`publish/${getReleaseFileName()}.zip`); + + tarStream.pipe(destStream); + + console.log('打包完æˆï¼'); +} + +async function getBundleName(path) { + const paths = fs.readdirSync(path); + return paths.find(path => path != 'internal' && path !='main'); +} + +async function getBundleData(path) { + const bundleData = { + sceneName: '', + version: '', + } + const paths = fs.readdirSync(path); + bundleData.sceneName = paths[0]; + const files = fs.readdirSync(path + '/' + bundleData.sceneName); + files.forEach(fileName => { + fileName.split('.').forEach((str, idx, arr) => { + if (str == 'config') { + bundleData.version = arr[idx + 1]; + } + }) + }); + return bundleData; +} + +function getReleaseFileName() { + let date = new Date(); + let fileName = `Release_${date.getFullYear()}${fix2(date.getMonth() + 1)}${fix2(date.getDate())} `; + fileName += `${fix2(date.getHours())}-${fix2(date.getMinutes())}-${fix2(date.getSeconds())}`; + return fileName; +} + +main(); \ No newline at end of file diff --git a/publish/index.html b/publish/index.html index d4bf389faec104cc5286634abc03c84037876a0d..b0ca3a534085851fcf7119afc4cbeafaf635bed3 100644 --- a/publish/index.html +++ b/publish/index.html @@ -35,7 +35,7 @@ <script src="src/settings.js" charset="utf-8"></script> <script src="main.js" charset="utf-8"></script> -<script type="text/javascript" src="https://staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script> +<script type="text/javascript" src="//staging-teach.cdn.ireadabc.com/h5template/h5-static-lib/js/air.js"></script> <script type="text/javascript"> diff --git a/publish/package-lock.json b/publish/package-lock.json index e830904f310afa074d35aed98cd67eb25953bdfa..05a1722797227f701681bde30e6b87ee9c3aa63d 100644 --- a/publish/package-lock.json +++ b/publish/package-lock.json @@ -5,9 +5,9 @@ "requires": true, "dependencies": { "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1"