Skip to content

构建打包

energy 命令行工具, 制作安装包

平台介绍描述
windowNSIS安装包制作工具可通过 energy cli 安装
linuxdpkg 命令系统自带
macosenergy 仅生成 xxx.app系统自带

Windows 安装包制作

应用配置文件 energy.json

  • energy.json是自动生成应用配置文件,在编译执行程序和应用安装包制作使用
  • info: 应用的二进制执行程序配置
  • nsis: 安装包程序配置
json
{
  "name": "{{.Name}}", // 自动填充
  "projectPath": "{{.ProjectPath}}", // 自动填充
  "frameworkPath": "{{.FrameworkPath}}", // 自动填充
  "assetsDir": "assets",// 一搬不修改
  "outputFilename": "{{.OutputFilename}}", // 自动填充
  "info": {
    "icon": "{{.ProjectPath}}/resources/icon.ico", // 自动填充, 应用图标,建议修改
    "companyName": "{{.CompanyName}}", // 自动填充,建议修改
    "productName": "{{.ProductName}}", // 自动填充,建议修改
    "fileVersion": "1.0.0", // 建议修改
    "productVersion": "1.0.0", // 建议修改
    "copyright": "Copyright.....", // 建议修改
    "comments": "Built using ENERGY (https://github.com/energye/energy)", // 建议修改
    "fileDescription": "Built using ENERGY (https://github.com/energye/energy)" // 建议修改
  },
  "nsis": {
    "include": [], // 额外要打包的资源, 绝对路径
    "exclude": ["cache"], // 忽略
    "icon": "{{.ProjectPath}}/resources/icon.ico", // 自动填充,安装程序图标,建议修改
    "unIcon": "{{.ProjectPath}}/resources/icon.ico", // 自动填充,安装程序卸载图标,建议修改
    "license": "",// 安装包授权信息界面, xxx.txt 绝对路径,不为空时
    "language": "english", // 安装包界面语言,默认英文: english,中文: SimpChinese
    "requestExecutionLevel": "admin",// 执行等级, 空""当前用户
    "compress": "7za", // 空时不启用7za压缩
    "compressName": "framework.7z" // 7z 压缩包名称
  },
  "author": {
    "name": "youname",// 忽略
    "email": "demo@email.com"// 忽略
  }
}

构建二进制执行文件

  • 进入项目根目录执行编译命令 energy build
  • 根据 energy.json 配置文件 info 生成二进制文件

生成安装包程序

  • 进入项目根目录执行打包命令 energy package
  • 根据 energy.json 配置文件 nsis 生成安装包
  • 安装包输出目录 approotpath/build/windows/appname-install.exe

关于NSIS脚本

approotpath/build/windows installer-nsis.nsi installer-tools.nsh 你可以自己配置nsis脚本, 自定义安装程序界面.


Linux 安装包制作

应用配置文件 energy.json

  • energy.json是自动生成应用配置文件,在编译执行程序和应用安装包制作使用
  • info: 应用的二进制执行程序配置
  • dpkg: 安装包程序配置
json
{
  "name": "{{.Name}}",// 自动填充
  "projectPath": "{{.ProjectPath}}",// 自动填充
  "frameworkPath": "{{.FrameworkPath}}",// 自动填充
  "assetsDir": "assets",// 一搬不修改
  "outputFilename": "{{.OutputFilename}}",// 自动填充
  "info": {
    "icon": "{{.ProjectPath}}/resources/icon.png",// 自动填充, 安装后的应用图标,建议修改
    "companyName": "{{.CompanyName}}",// 自动填充,建议修改
    "productName": "{{.ProductName}}",// 自动填充,建议修改
    "productVersion": "1.0.0",// 建议修改
    "comments": "Built using ENERGY (https://github.com/energye/energy)"// 建议修改
  },
  "dpkg": {
    "include": [],// 忽略
    "exclude": ["cache"],// 忽略
    "package": "com.{{.CompanyName}}.{{.CompanyName}}",// 自动填充, 建议修改
    "homepage": "https://github.com/energye/energy",// 建议修改
    "compress": "7zz", // 忽略
    "compressName": "framework.7z" // 忽略
  },
  "author": {
    "name": "yanghy",// 建议修改
    "email": "snxamdf@126.com"// 建议修改
  }
}

构建二进制执行文件

  • 进入项目根目录执行编译命令 energy build

生成安装包程序

  • 进入项目根目录执行打包命令 energy package
  • 根据 energy.json 配置文件 info 和 dpkg 生成安装包
  • 安装包输出目录 approotpath/build/linux/appname-install.deb

MacOS 应用包制作

应用配置文件 energy.json

  • energy.json是自动生成应用配置文件,在编译执行程序和应用安装包制作使用
  • plist: xxx.app Info.plist 文件配置
json
{
  "name": "{{.Name}}",
  "projectPath": "{{.ProjectPath}}",
  "frameworkPath": "{{.FrameworkPath}}",
  "assetsDir": "assets",
  "outputFilename": "{{.OutputFilename}}",
  "plist": {
    "icon": "{{.ProjectPath}}/resources/icon.png",
    "companyName": "{{.CompanyName}}",
    "productName": "{{.ProductName}}",
    "locals": [
      "zh_CN",
      "en"
    ],
    "cfBundleVersion": "1.0.0",
    "cfBundleShortVersionString": "1.0.0",
    "copyright": "Copyright.....",
    "comments": "Built using ENERGY (https://github.com/energye/energy)",
    "include": [],
    "exclude": ["cache"]
  },
  "author": {
    "name": "yanghy",
    "email": "snxamdf@126.com"
  }
}

构建二进制执行文件

  • 进入项目根目录执行编译命令 energy build

生成安装包程序

  • 进入项目根目录执行打包命令 energy package
  • 根据 energy.json 配置文件 plist 生成安装包
  • 安装包输出目录 approotpath/build/darwin/appname-install.app