mirror of
https://github.com/zen-browser/surfer.git
synced 2025-07-08 09:20:01 +02:00
🔀Migrate to downloadInternals
This commit is contained in:
parent
dfc9d675e7
commit
2d4a6b974a
3 changed files with 46 additions and 70 deletions
|
@ -6,18 +6,8 @@ import { bin_name, config } from '..'
|
||||||
import { log } from '../log'
|
import { log } from '../log'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
setupFirefoxSource,
|
downloadInternals
|
||||||
shouldSetupFirefoxSource,
|
|
||||||
} from './download/firefox'
|
} from './download/firefox'
|
||||||
import {
|
|
||||||
addAddonsToMozBuild,
|
|
||||||
downloadAddon,
|
|
||||||
generateAddonMozBuild,
|
|
||||||
getAddons,
|
|
||||||
initializeAddon,
|
|
||||||
resolveAddonDownloadUrl,
|
|
||||||
unpackAddon,
|
|
||||||
} from './download/addon'
|
|
||||||
|
|
||||||
export const download = async (): Promise<void> => {
|
export const download = async (): Promise<void> => {
|
||||||
const version = config.version.version
|
const version = config.version.version
|
||||||
|
@ -30,20 +20,7 @@ export const download = async (): Promise<void> => {
|
||||||
process.exit(1)
|
process.exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldSetupFirefoxSource()) {
|
await downloadInternals(version)
|
||||||
await setupFirefoxSource(version)
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const addon of getAddons()) {
|
|
||||||
const downloadUrl = await resolveAddonDownloadUrl(addon)
|
|
||||||
const downloadedXPI = await downloadAddon(downloadUrl, addon)
|
|
||||||
|
|
||||||
await unpackAddon(downloadedXPI, addon)
|
|
||||||
await generateAddonMozBuild(addon)
|
|
||||||
await initializeAddon(addon)
|
|
||||||
}
|
|
||||||
|
|
||||||
await addAddonsToMozBuild(getAddons())
|
|
||||||
|
|
||||||
log.success(
|
log.success(
|
||||||
`You should be ready to make changes to ${config.name}.`,
|
`You should be ready to make changes to ${config.name}.`,
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import execa from 'execa'
|
import execa from 'execa'
|
||||||
import { existsSync } from 'node:fs'
|
import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs'
|
||||||
import { dirname, resolve } from 'node:path'
|
import { dirname, resolve } from 'node:path'
|
||||||
import { bin_name } from '../..'
|
import { bin_name } from '../..'
|
||||||
import { BASH_PATH, ENGINE_DIR, MELON_TMP_DIR } from '../../constants'
|
import { BASH_PATH, ENGINE_DIR, MELON_TMP_DIR } from '../../constants'
|
||||||
|
@ -8,6 +8,17 @@ import { commandExistsSync } from '../../utils/command-exists'
|
||||||
import { downloadFileToLocation } from '../../utils/download'
|
import { downloadFileToLocation } from '../../utils/download'
|
||||||
import { ensureDirectory, windowsPathToUnix } from '../../utils/fs'
|
import { ensureDirectory, windowsPathToUnix } from '../../utils/fs'
|
||||||
import { init } from '../init'
|
import { init } from '../init'
|
||||||
|
import { config } from '../..'
|
||||||
|
import {
|
||||||
|
addAddonsToMozBuild,
|
||||||
|
downloadAddon,
|
||||||
|
generateAddonMozBuild,
|
||||||
|
getAddons,
|
||||||
|
initializeAddon,
|
||||||
|
resolveAddonDownloadUrl,
|
||||||
|
unpackAddon,
|
||||||
|
} from './addon'
|
||||||
|
import { configPath } from '../../utils'
|
||||||
|
|
||||||
export function shouldSetupFirefoxSource() {
|
export function shouldSetupFirefoxSource() {
|
||||||
return !(
|
return !(
|
||||||
|
@ -98,3 +109,33 @@ async function downloadFirefoxSource(version: string) {
|
||||||
await downloadFileToLocation(url, resolve(MELON_TMP_DIR, filename))
|
await downloadFileToLocation(url, resolve(MELON_TMP_DIR, filename))
|
||||||
return filename
|
return filename
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function downloadInternals(version: string) {
|
||||||
|
// If gFFVersion isn't specified, provide legible error
|
||||||
|
if (!version) {
|
||||||
|
log.error(
|
||||||
|
'You have not specified a version of firefox in your config file. This is required to build a firefox fork.'
|
||||||
|
)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (existsSync(ENGINE_DIR)) {
|
||||||
|
log.info("Deleting engine/")
|
||||||
|
rmSync(ENGINE_DIR)
|
||||||
|
await setupFirefoxSource(version)
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const addon of getAddons()) {
|
||||||
|
const downloadUrl = await resolveAddonDownloadUrl(addon)
|
||||||
|
const downloadedXPI = await downloadAddon(downloadUrl, addon)
|
||||||
|
|
||||||
|
await unpackAddon(downloadedXPI, addon)
|
||||||
|
await generateAddonMozBuild(addon)
|
||||||
|
await initializeAddon(addon)
|
||||||
|
}
|
||||||
|
|
||||||
|
await addAddonsToMozBuild(getAddons())
|
||||||
|
|
||||||
|
config.version.version = version
|
||||||
|
writeFileSync(configPath, JSON.stringify(config, undefined, 2))
|
||||||
|
}
|
|
@ -6,56 +6,14 @@ import { bin_name, config } from '..'
|
||||||
import { log } from '../log'
|
import { log } from '../log'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
setupFirefoxSource,
|
downloadInternals
|
||||||
shouldSetupFirefoxSource,
|
|
||||||
} from './download/firefox'
|
} from './download/firefox'
|
||||||
import {
|
|
||||||
addAddonsToMozBuild,
|
|
||||||
downloadAddon,
|
|
||||||
generateAddonMozBuild,
|
|
||||||
getAddons,
|
|
||||||
initializeAddon,
|
|
||||||
resolveAddonDownloadUrl,
|
|
||||||
unpackAddon,
|
|
||||||
} from './download/addon'
|
|
||||||
import { getLatestFF } from '../utils'
|
import { getLatestFF } from '../utils'
|
||||||
import { rmSync } from 'node:fs'
|
|
||||||
import { ENGINE_DIR } from '../constants'
|
|
||||||
|
|
||||||
export const update = async (): Promise<void> => {
|
export const update = async (): Promise<void> => {
|
||||||
const version = await getLatestFF(config.version.product)
|
const version = await getLatestFF(config.version.product)
|
||||||
|
|
||||||
// If gFFVersion isn't specified, provide legible error
|
await downloadInternals(version)
|
||||||
if (!version) {
|
|
||||||
log.error(
|
|
||||||
'You have not specified a version of firefox in your config file. This is required to build a firefox fork.'
|
|
||||||
)
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!shouldSetupFirefoxSource()) {
|
|
||||||
log.info('Remove ' + ENGINE_DIR)
|
|
||||||
rmSync(ENGINE_DIR, {
|
|
||||||
recursive: true,
|
|
||||||
force: true
|
|
||||||
})
|
|
||||||
log.info('Download Firefox ' + version)
|
|
||||||
await setupFirefoxSource(version)
|
|
||||||
} else {
|
|
||||||
log.error(`Firefox is missing, run |${bin_name} download| instead.`)
|
|
||||||
process.exit(1)
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const addon of getAddons()) {
|
|
||||||
const downloadUrl = await resolveAddonDownloadUrl(addon)
|
|
||||||
const downloadedXPI = await downloadAddon(downloadUrl, addon)
|
|
||||||
|
|
||||||
await unpackAddon(downloadedXPI, addon)
|
|
||||||
await generateAddonMozBuild(addon)
|
|
||||||
await initializeAddon(addon)
|
|
||||||
}
|
|
||||||
|
|
||||||
await addAddonsToMozBuild(getAddons())
|
|
||||||
|
|
||||||
log.success(
|
log.success(
|
||||||
`Firefox has sucessfully been updated to ${version}.`,
|
`Firefox has sucessfully been updated to ${version}.`,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue