0.1.5 • Published 28 days ago

uos-bundle-script v0.1.5

Weekly downloads
-
License
ISC
Repository
github
Last release
28 days ago

项目名称

介绍

本项目旨在提供一种简便、高效的方式,将 Electron 应用构建为适用于 UOS 系统的可执行文件。目标是丰富和优化国产操作系统的应用生态。详细的打包方法,参考提供的教程

脚本说明

该脚本用于将 Electron 应用构建为 UOS 平台可执行文件。 (代码量很少,有必要时候可以查看,创建对应需要的目录和文件,执行deb构建的系列指令,对文件修改。)

配置说明:

ALL Field

字段名类型描述
outputstring输出路径
appIdstring应用ID
svgPathstringSVG图标路径,不建议使用png,需要管理各种尺寸的资源
unpackedDirstring未打包目录路径,electron builder 构建deb的unpacked目录
DesktopInfoDesktopInfoType桌面信息类型
DesktopEntryDesktopEntryType桌面条目类型
controlFilecontrolFileType控制文件类型
beforeGenerateTemplateDir函数 (可选)在生成模板目录之前执行的函数
afterGenerateTemplateDir函数 (可选)在生成模板目录之后执行的函数,参数为模板路径
beforePack函数 (可选)在打包之前执行的函数
afterPack函数 (可选)在打包之后执行的函数
removeTemplateDirboolean (可选)是否移除模板目录
beforeRemoveTemplateDir函数 (可选)在移除模板目录之前执行的函数
afterRemoveTemplateDir函数 (可选)在移除模板目录之后执行的函数

DesktopInfoType

字段名类型描述
appIdstring应用ID
namestring应用名称
versionstring应用版本
descriptionstring应用描述
permissionsDesktopInfoPermissionType (可选)应用权限信息

DesktopEntryType

字段名类型描述
Categoriesstring应用分类
Namestring应用名称
GenericNamestring通用名称
Typestring类型
Execstring执行命令
Iconstring图标
MimeTypesstring (可选)MIME 类型
Commentstring (可选)注释
Terminalstring (可选)是否在终端中运行
StartupNotifystring (可选)是否在启动时通知
key: stringstring 或 undefined其他任意字段

controlFileType

字段名类型描述
Sourcestring源代码信息
Sectionstring包的分类
Prioritystring包的优先级
Maintainerstring维护者信息
StandardsVersionstring标准版本
Homepagestring主页链接
VcsBrowserstring版本控制系统浏览器链接
VcsGitstringGit 版本控制系统链接
Packagestring包名
Architecturestring架构信息
Descriptionstring包的描述
key: stringstring 或 undefined其他任意字段

使用方式

const appId = 'com.electron.builduos';
const name = 'buildUos';
const execFileName = 'electron-godan';
const version = '1.0.0';
const output = join(currentDir, 'output');

await buildUOS({
  output, appId,
  svgPath: join(currentDir, 'static', 'icon.svg'),
  unpackedDir: join(currentDir, 'static', 'linux-arm64-unpacked'),
  removeTemplateDir: false,
  DesktopInfo: {
    appId, name, version,
    description: 'desc',
  },
  DesktopEntry: {
    Categories: 'dev', //
    Name: name,
    GenericName: name,
    Type: 'Application',
    Exec: `/opt/apps/${appId}/files/${execFileName} %U --no-sandbox`,
    Icon: `${appId}`,
  // MimeType=x-scheme-handler/[URL Scheme];x-scheme-handler/[URL Scheme];
  },
  controlFile: {
    Source: appId,
    Section: 'dev',
    Priority: 'optional',
    Maintainer: 'godaner<690591397@qq.com>',
    // BuildDepends: 'debhelper (>= 11)',
    StandardsVersion: '4.1.3',
    Homepage: 'https://github.com/690591397',
    VcsBrowser: 'https://salsa.debian.org/debian/com.electron.builduos',
    VcsGit: 'https://salsa.debian.org/debian/com.electron.builduos.git',
    Package: appId,
    Architecture: 'any',
    Description: 'desc',
  }
});

项目开发

  1. 克隆项目到本地
  2. 安装依赖:npm install
  3. 搭建构建环境,目前使用 Ubuntu:latest(docker 启动将当前项目共享既可)
  4. 使用 electron 构建 Linux,产出的 unpacked 移动到 static 下(当前执行文件是hello world)
  5. 修改 test 文件的入参
  6. npm run test

贡献

欢迎提交问题和改进的请求。

许可证

该项目基于 MIT 许可证


项目和文档中使用了部分统信UOS官网、技术支持人员提供的内容。

0.1.5

28 days ago

0.1.4

1 month ago

0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago