How to use the builder-util.Arch.x64 function in builder-util

To help you get started, we’ve selected a few builder-util examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github electron-userland / electron-builder / packages / app-builder-lib / src / targets / nsis / NsisTarget.ts View on Github external
await BluebirdPromise.map(this.archs.keys(), async arch => {
        const fileInfo = await this.packageHelper.packArch(arch, this)
        const file = fileInfo.path
        const defineKey = arch === Arch.x64 ? "APP_64" : (arch === Arch.arm64 ? "APP_ARM64" : "APP_32")
        defines[defineKey] = file
        defines[`${defineKey}_NAME`] = path.basename(file)
        // nsis expect a hexadecimal string
        defines[`${defineKey}_HASH`] = Buffer.from(fileInfo.sha512, "base64").toString("hex").toUpperCase()

        if (this.isWebInstaller) {
          await packager.dispatchArtifactCreated(file, this, arch)
          packageFiles[Arch[arch]] = fileInfo
        }

        const archiveInfo = (await exec(path7za, ["l", file])).trim()
        // after adding blockmap data will be "Warnings: 1" in the end of output
        const match = archiveInfo.match(/(\d+)\s+\d+\s+\d+\s+files/)
        if (match == null) {
          log.warn({output: archiveInfo}, "cannot compute size of app package")
        }
github electron-userland / electron-builder / packages / app-builder-lib / src / macPackager.ts View on Github external
}, "signing")
    await this.doSign(signOptions)

    // https://github.com/electron-userland/electron-builder/issues/1196#issuecomment-312310209
    if (masOptions != null && !isDevelopment) {
      const certType = isDevelopment ? "Mac Developer" : "3rd Party Mac Developer Installer"
      const masInstallerIdentity = await findIdentity(certType, masOptions.identity, keychainFile)
      if (masInstallerIdentity == null) {
        throw new InvalidConfigurationError(`Cannot find valid "${certType}" identity to sign MAS installer, please see https://electron.build/code-signing`)
      }

      // mas uploaded to AppStore, so, use "-" instead of space for name
      const artifactName = this.expandArtifactNamePattern(masOptions, "pkg")
      const artifactPath = path.join(outDir!, artifactName)
      await this.doFlat(appPath, artifactPath, masInstallerIdentity, keychainFile)
      await this.dispatchArtifactCreated(artifactPath, null, Arch.x64, this.computeSafeArtifactName(artifactName, "pkg"))
    }
  }
github electron-userland / electron-builder / packages / app-builder-lib / src / targets / ArchiveTarget.ts View on Github external
async build(appOutDir: string, arch: Arch): Promise {
    const packager = this.packager
    const isMac = packager.platform === Platform.MAC
    const format = this.name

    let defaultPattern: string
    if (packager.platform === Platform.LINUX) {
      // tslint:disable-next-line:no-invalid-template-strings
      defaultPattern = "${name}-${version}" + (arch === Arch.x64 ? "" : "-${arch}") + ".${ext}"
    }
    else {
      // tslint:disable-next-line:no-invalid-template-strings
      defaultPattern = "${productName}-${version}" + (arch === Arch.x64 ? "" : "-${arch}") + "-${os}.${ext}"
    }

    const artifactName = packager.expandArtifactNamePattern(this.options, format, arch, defaultPattern, false)
    const artifactPath = path.join(this.outDir, artifactName)

    await packager.info.callArtifactBuildStarted({
      targetPresentableName: `${isMac ? "macOS " : ""}${format}`,
      file: artifactPath,
      arch,
    })
    let updateInfo: any = null
    if (format.startsWith("tar.")) {
      await tar(packager.compression, format, artifactPath, appOutDir, isMac, packager.info.tempDirManager)
    }
    else {
      let withoutDir = !isMac
github electron-userland / electron-builder / packages / app-builder-lib / src / targets / snap.ts View on Github external
function archNameToTriplet(arch: Arch): string {
  switch (arch) {
    case Arch.x64:
      return "x86_64-linux-gnu"
    case Arch.ia32:
      return "i386-linux-gnu"
    case Arch.armv7l:
      // noinspection SpellCheckingInspection
      return "arm-linux-gnueabihf"
    case Arch.arm64:
      return "aarch64-linux-gnu"

    default:
      throw new Error(`Unsupported arch ${arch}`)
  }
}
github electron-userland / electron-builder / packages / app-builder-lib / src / targets / MsiTarget.ts View on Github external
const compression = this.packager.compression
    const options = this.options
    const iconPath = await this.packager.getIconPath()
    return (await projectTemplate.value)({
      ...commonOptions,
      isCreateDesktopShortcut: commonOptions.isCreateDesktopShortcut !== DesktopShortcutCreationPolicy.NEVER,
      isRunAfterFinish: options.runAfterFinish !== false,
      iconPath: iconPath == null ? null : this.vm.toVmFile(iconPath),
      compressionLevel: compression === "store" ? "none" : "high",
      version: appInfo.getVersionInWeirdWindowsForm(),
      productName: appInfo.productName,
      upgradeCode: (options.upgradeCode || UUID.v5(appInfo.id, ELECTRON_BUILDER_UPGRADE_CODE_NS_UUID)).toUpperCase(),
      manufacturer: companyName || appInfo.productName,
      appDescription: appInfo.description,
      // https://stackoverflow.com/questions/1929038/compilation-error-ice80-the-64bitcomponent-uses-32bitdirectory
      programFilesId: arch === Arch.x64 ? "ProgramFiles64Folder" : "ProgramFilesFolder",
      // wix in the name because special wix format can be used in the name
      installationDirectoryWixName: getWindowsInstallationDirName(appInfo, commonOptions.isPerMachine === true),
      dirs,
      files,
    })
  }
github electron-userland / electron-builder / packages / electron-builder / src / builder.ts View on Github external
function commonArch(currentIfNotSpecified: boolean): Array {
      if (platform === Platform.MAC) {
        return args.x64 || currentIfNotSpecified ? [Arch.x64] : []
      }

      const result = Array()
      if (args.x64) {
        result.push(Arch.x64)
      }
      if (args.armv7l) {
        result.push(Arch.armv7l)
      }
      if (args.arm64) {
        result.push(Arch.arm64)
      }
      if (args.ia32) {
        result.push(Arch.ia32)
      }
github electron-userland / electron-builder / packages / app-builder-lib / src / packager.ts View on Github external
function commonArch(currentIfNotSpecified: boolean): Array {
        if (platform === Platform.MAC) {
          return currentIfNotSpecified ? [Arch.x64] : []
        }

        const result = Array()
        return result.length === 0 && currentIfNotSpecified ? [archFromString(process.arch)] : result
      }
github electron-userland / electron-builder / packages / app-builder-lib / src / publish / updateInfoBuilder.ts View on Github external
function getArchPrefixForUpdateFile(arch: Arch | null, packager: PlatformPackager) {
  if (arch == null || arch === Arch.x64 || packager.platform !== Platform.LINUX) {
    return ""
  }
  return arch === Arch.armv7l ? "-arm" : `-${Arch[arch]}`
}
github electron-userland / electron-builder / packages / app-builder-lib / src / linuxPackager.ts View on Github external
export function toAppImageOrSnapArch(arch: Arch): string {
  switch (arch) {
    case Arch.x64:
      return "x86_64"
    case Arch.ia32:
      return "i386"
    case Arch.armv7l:
      return "arm"
    case Arch.arm64:
      return "arm_aarch64"

    default:
      throw new Error(`Unsupported arch ${arch}`)
  }
}
github electron-userland / electron-builder / packages / app-builder-lib / src / linuxPackager.ts View on Github external
export function toAppImageOrSnapArch(arch: Arch): string {
  switch (arch) {
    case Arch.x64:
      return "x86_64"
    case Arch.ia32:
      return "i386"
    case Arch.armv7l:
      return "arm"
    case Arch.arm64:
      return "arm_aarch64"

    default:
      throw new Error(`Unsupported arch ${arch}`)
  }
}