35 lines
1015 B
JavaScript
35 lines
1015 B
JavaScript
const { writeFileSync } = require('node:fs')
|
|
const { join } = require('node:path')
|
|
const compatibilityContract = require('../../src/shared/local-build-compatibility-contract.json')
|
|
|
|
const MAC_BUILD_COMPATIBILITY_FILENAME = 'orca-local-build.json'
|
|
|
|
function createMacBuildCompatibility({ version, commit, architecture }) {
|
|
if (architecture !== 'arm64' && architecture !== 'x64') {
|
|
throw new Error(`Unsupported macOS build architecture: ${architecture}`)
|
|
}
|
|
return {
|
|
...compatibilityContract,
|
|
buildId: `${version}-${commit}-${architecture}`,
|
|
version,
|
|
commit,
|
|
platform: 'darwin',
|
|
architecture
|
|
}
|
|
}
|
|
|
|
function writeMacBuildCompatibility(resourcesDir, identity) {
|
|
const compatibility = createMacBuildCompatibility(identity)
|
|
writeFileSync(
|
|
join(resourcesDir, MAC_BUILD_COMPATIBILITY_FILENAME),
|
|
`${JSON.stringify(compatibility, null, 2)}\n`,
|
|
'utf8'
|
|
)
|
|
}
|
|
|
|
module.exports = {
|
|
MAC_BUILD_COMPATIBILITY_FILENAME,
|
|
createMacBuildCompatibility,
|
|
writeMacBuildCompatibility
|
|
}
|