Explorar el Código

新增 version.js 记录git提交版本信息

yunxing hace 4 años
padre
commit
078cc9df64
Se han modificado 1 ficheros con 55 adiciones y 0 borrados
  1. 55 0
      version.js

+ 55 - 0
version.js

@@ -0,0 +1,55 @@
+/** 自动记录版本信息**/
+const fs = require('fs')
+const buildPath = 'wandaBmGuide' //放置 version.txt的路径
+const execSync = require('child_process').execSync //同步子进程
+const date = new Date() // Date对象
+
+// 获取时间函数
+const getDate = (df, tf) => {
+    const dArr = [
+        date.getFullYear(),
+        date.getMonth() > 9 ? String(date.getMonth() + 1) : String('0' + (date.getMonth() + 1)),
+        date.getDate() > 9 ? String(date.getDate()) : String('0' + date.getDate()),
+    ]
+    const tArr = [date.getHours(), date.getMinutes() > 9 ? String(date.getMinutes() + 1) : String('0' + date.getMinutes())]
+    return `${dArr.join(df)}${tf ? ' ' : ''}${tArr.join(tf)}`
+}
+//写入最新的版本信息
+const branch = execSync('git symbolic-ref --short -q HEAD')
+    .toString()
+    .trim() // 分支
+const commit = execSync('git show -s --format=%h')
+    .toString()
+    .trim() //版本号
+const message = execSync('git show -s --format=%s')
+    .toString()
+    .trim() //说明
+const name = execSync('git show -s --format=%cn')
+    .toString()
+    .trim() //姓名
+const email = execSync('git show -s --format=%ce')
+    .toString()
+    .trim() //邮箱
+//const date = execSync('git show -s --format=%cd').toString().trim(); //日期
+const versionStr = `git:${commit}<${branch}>\n作者:${name}<${email}>\n日期:${getDate('-', ':')}\n说明:${message}\n`
+fs.writeFile(`${buildPath}/version.txt`, versionStr, (err) => {
+    if (err) console.err('写入失败', err)
+})
+
+// 打包文件命名
+const distName = `打包命名:${buildPath}_${getDate('', '')}_git_${commit}`
+
+// 程序运行结束
+console.info(
+    '\x1B[32m%s\x1b[0m',
+    [
+        distName,
+        versionStr,
+        '██████╗ ███████╗██████╗ ███████╗ █████╗  ██████╗██╗   ██╗',
+        '██╔══██╗██╔════╝██╔══██╗██╔════╝██╔══██╗██╔════╝╚██╗ ██╔╝',
+        '██████╔╝█████╗  ██████╔╝███████╗███████║██║  ███╗╚████╔╝ ',
+        '██╔═══╝ ██╔══╝  ██╔══██╗╚════██║██╔══██║██║   ██║ ╚██╔╝  ',
+        '██║     ███████╗██║  ██║███████║██║  ██║╚██████╔╝  ██║   ',
+        '╚═╝     ╚══════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ',
+    ].join('\n')
+)