function processTargets(platform: Platform, types: Array<string>) { function commonArch(currentIfNotSpecified: boolean): Array<Arch> { if (platform === Platform.MAC) { return args.x64 || currentIfNotSpecified ? [Arch.x64] : [] } const result = Array<Arch>() if (args.x64) { result.push(Arch.x64) } if (args.armv7l) { result.push(Arch.armv7l) } if (args.ia32) { result.push(Arch.ia32) } return result.length === 0 && currentIfNotSpecified ? [archFromString(process.arch)] : result } if (args.platform != null) { throw new Error(`--platform cannot be used if --${platform.buildConfigurationKey} is passed`) } if (args.arch != null) { throw new Error(`--arch cannot be used if --${platform.buildConfigurationKey} is passed`) } let archToType = targets.get(platform) if (archToType == null) { archToType = new Map<Arch, Array<string>>() targets.set(platform, archToType) } if (types.length === 0) { const defaultTargetValue = args.dir ? [DIR_TARGET] : [] for (const arch of commonArch(args.dir === true)) { archToType.set(arch, defaultTargetValue) } return } for (const type of types) { const suffixPos = type.lastIndexOf(":") if (suffixPos > 0) { addValue(archToType, archFromString(type.substring(suffixPos + 1)), type.substring(0, suffixPos)) } else { for (const arch of commonArch(true)) { addValue(archToType, arch, type) } } } }
packager.artifactCreated(event => { if (event.file == null) { return } assertThat(event.file).isAbsolute() addValue(artifacts, event.packager.platform, event) })