mirror of
https://github.com/anidl/multi-downloader-nx.git
synced 2026-05-21 00:52:24 +00:00
Bug fixes
This commit is contained in:
parent
f85753fd9b
commit
511bd9a131
3 changed files with 33 additions and 19 deletions
6
.github/workflows/release-matrix.yml
vendored
6
.github/workflows/release-matrix.yml
vendored
|
|
@ -9,7 +9,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
build_type: [ ubuntu, macos, windows ]
|
build_type: [ ubuntu, macos, windows ]
|
||||||
gui: [ true, false ]
|
gui: [ gui, cli ]
|
||||||
runs-on: ${{ matrix.build_type }}-latest
|
runs-on: ${{ matrix.build_type }}-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
@ -38,8 +38,8 @@ jobs:
|
||||||
uses: actions/upload-release-asset@v1
|
uses: actions/upload-release-asset@v1
|
||||||
with:
|
with:
|
||||||
upload_url: ${{ github.event.release.upload_url }}
|
upload_url: ${{ github.event.release.upload_url }}
|
||||||
asset_name: ${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ matrix.build_type }}.7z
|
asset_name: multi-downloader-nx-${{ matrix.build_type }}-{{ matrix.gui }}.7z
|
||||||
asset_path: ./lib/_builds/${{ env.PACKAGE_NAME }}-${{ env.PACKAGE_VERSION }}-${{ matrix.build_type }}64.7z
|
asset_path: ./lib/_builds/multi-downloader-nx-${{ matrix.build_type }}64-{{ matrix.gui }}.7z
|
||||||
asset_content_type: application/x-7z-compressed
|
asset_content_type: application/x-7z-compressed
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import pkg from '../package.json';
|
||||||
import modulesCleanup from 'removeNPMAbsolutePaths';
|
import modulesCleanup from 'removeNPMAbsolutePaths';
|
||||||
import { exec } from 'pkg';
|
import { exec } from 'pkg';
|
||||||
import { execSync } from 'child_process';
|
import { execSync } from 'child_process';
|
||||||
|
import { sep } from 'path';
|
||||||
|
|
||||||
const buildsDir = './_builds';
|
const buildsDir = './_builds';
|
||||||
const nodeVer = 'node16-';
|
const nodeVer = 'node16-';
|
||||||
|
|
@ -13,19 +14,32 @@ const nodeVer = 'node16-';
|
||||||
const isGUI = process.argv[3] === 'true';
|
const isGUI = process.argv[3] === 'true';
|
||||||
|
|
||||||
if (isGUI) {
|
if (isGUI) {
|
||||||
buildGUI();
|
buildGUI(buildType);
|
||||||
} else {
|
} else {
|
||||||
buildBinary(buildType);
|
buildBinary(buildType);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
async function buildGUI() {
|
async function buildGUI(buildType: string) {
|
||||||
execSync('npx electron-forge make');
|
execSync('npx electron-forge make');
|
||||||
|
const path = ['out', 'make'];
|
||||||
|
const makerDir = fs.readdirSync(path.join(sep));
|
||||||
|
if (makerDir.length !== 1)
|
||||||
|
throw new Error(`Illegal state ${makerDir.join(sep)}`);
|
||||||
|
path.push(makerDir[0]);
|
||||||
|
const arch = fs.readdirSync(path.join(sep));
|
||||||
|
if (arch.length !== 1)
|
||||||
|
throw new Error(`Illegal state ${arch.join(sep)}`);
|
||||||
|
path.push(arch[0]);
|
||||||
|
execSync(`7z a -t7z "../../../../${buildsDir}/multi-downloader-nx-${buildType}-gui.7z" .`,{
|
||||||
|
stdio:[0,1,2],
|
||||||
|
cwd: path.join(sep)
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// main
|
// main
|
||||||
async function buildBinary(buildType: string) {
|
async function buildBinary(buildType: string) {
|
||||||
const buildStr = `${pkg.name}-${pkg.version}`;
|
const buildStr = `multi-downloader-nx`;
|
||||||
const acceptableBuilds = ['windows64','ubuntu64','macos64'];
|
const acceptableBuilds = ['windows64','ubuntu64','macos64'];
|
||||||
if(!acceptableBuilds.includes(buildType)){
|
if(!acceptableBuilds.includes(buildType)){
|
||||||
console.error('[ERROR] unknown build type!');
|
console.error('[ERROR] unknown build type!');
|
||||||
|
|
@ -35,7 +49,7 @@ async function buildBinary(buildType: string) {
|
||||||
if(!fs.existsSync(buildsDir)){
|
if(!fs.existsSync(buildsDir)){
|
||||||
fs.mkdirSync(buildsDir);
|
fs.mkdirSync(buildsDir);
|
||||||
}
|
}
|
||||||
const buildFull = `${buildStr}-${buildType}`;
|
const buildFull = `${buildStr}-${buildType}-cli`;
|
||||||
const buildDir = `${buildsDir}/${buildFull}`;
|
const buildDir = `${buildsDir}/${buildFull}`;
|
||||||
if(fs.existsSync(buildDir)){
|
if(fs.existsSync(buildDir)){
|
||||||
fs.removeSync(buildDir);
|
fs.removeSync(buildDir);
|
||||||
|
|
|
||||||
24
package.json
24
package.json
|
|
@ -76,18 +76,18 @@
|
||||||
"start": "cd lib && electron-forge start",
|
"start": "cd lib && electron-forge start",
|
||||||
"docs": "ts-node modules/build-docs.ts",
|
"docs": "ts-node modules/build-docs.ts",
|
||||||
"tsc": "ts-node tsc.ts",
|
"tsc": "ts-node tsc.ts",
|
||||||
"prebuild-windows-false": "npm run tsc false false",
|
"prebuild-windows-cli": "npm run tsc false false",
|
||||||
"prebuild-ubuntu-false": "npm run tsc false false",
|
"prebuild-ubuntu-cli": "npm run tsc false false",
|
||||||
"prebuild-macos-false": "npm run tsc false false",
|
"prebuild-macos-cli": "npm run tsc false false",
|
||||||
"build-windows-false": "cd lib && node modules/build windows64",
|
"build-windows-cli": "cd lib && node modules/build windows64",
|
||||||
"build-ubuntu-false": "cd lib && node modules/build ubuntu64",
|
"build-ubuntu-cli": "cd lib && node modules/build ubuntu64",
|
||||||
"build-macos-false": "cd lib && node modules/build macos64",
|
"build-macos-cli": "cd lib && node modules/build macos64",
|
||||||
"prebuild-windows-true": "npm run tsc",
|
"prebuild-windows-gui": "npm run tsc",
|
||||||
"prebuild-ubuntu-true": "npm run tsc",
|
"prebuild-ubuntu-gui": "npm run tsc",
|
||||||
"prebuild-macos-true": "npm run tsc",
|
"prebuild-macos-gui": "npm run tsc",
|
||||||
"build-windows-true": "cd lib && node modules/build notNeeded true",
|
"build-windows-gui": "cd lib && node modules/build windows64 true",
|
||||||
"build-ubuntu-true": "cd lib && node modules/build notNeeded true",
|
"build-ubuntu-gui": "cd lib && node modules/build ubuntu64 true",
|
||||||
"build-macos-true": "cd lib && node modules/build notNeeded true",
|
"build-macos-gui": "cd lib && node modules/build macos64 true",
|
||||||
"eslint": "eslint *.js modules",
|
"eslint": "eslint *.js modules",
|
||||||
"eslint-fix": "eslint *.js modules --fix",
|
"eslint-fix": "eslint *.js modules --fix",
|
||||||
"pretest": "npm run tsc",
|
"pretest": "npm run tsc",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue