diff --git a/Makefile b/Makefile index f3f4f99d..fe992f36 100755 --- a/Makefile +++ b/Makefile @@ -36,6 +36,9 @@ linux32: build mac: build yarn build:mac yarn pkg:mac +macarm: build + yarn build:macarm + yarn pkg:macarm dmg: mac yarn build:dmg diff --git a/gulpfile.js b/gulpfile.js index 21888014..5298e263 100755 --- a/gulpfile.js +++ b/gulpfile.js @@ -215,3 +215,32 @@ gulp.task("linux32zip", done => { archive.directory(inputDir, false); archive.finalize().then(done); }); + +gulp.task("mac-arm64", done => { + console.log(`--package ${NAME}-darwin-arm64`); + + plugins.run(`rm -rf ${TARGET}/${NAME}-darwin-arm64`).exec(() => { + let options = Object.assign({}, packagerOptions); + options.platform = "darwin"; + options.arch = "arm64"; + options.icon = `${BRAND}/qiniu.icns`; + + packager(options).then((paths) => { + console.log("--done"); + done(); + }, (errs) => { + console.error(errs); + }); + }); +}); + +gulp.task("macarmzip", done => { + console.log(`--package ${KICK_NAME}-darwin-arm64-v${VERSION}.zip`); + var outputZip = fs.createWriteStream(`${TARGET}/${KICK_NAME}-darwin-arm64-v${VERSION}.zip`); + var archive = archiver('zip', { zlib: { level: 9 } }); + archive.on('error', (err) => { throw err; }); + archive.pipe(outputZip); + archive.directory(`${TARGET}/${NAME}-darwin-arm64/${NAME}.app`, `${NAME}.app`); + archive.finalize().then(done); +}); + diff --git a/package.json b/package.json index 5d8b03ef..ee11e540 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "watch": "./node_modules/.bin/webpack --env development -c ./webpack/webpack.config.js -w", "build": "./node_modules/.bin/webpack --env production --env sourcemap -c ./webpack/webpack.config.js", "build:mac": "./node_modules/.bin/gulp mac", + "build:macarm": "./node_modules/.bin/gulp mac-arm64", "pkg:mac": "./node_modules/.bin/gulp maczip", + "pkg:macarm": "./node_modules/.bin/gulp macarmzip", "build:dmg": "./node_modules/.bin/gulp dmg", "build:win32": "./node_modules/.bin/gulp win32", "pkg:win32": "./node_modules/.bin/gulp win32zip",