本文整理汇总了TypeScript中out.Packager.build方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Packager.build方法的具体用法?TypeScript Packager.build怎么用?TypeScript Packager.build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类out.Packager
的用法示例。
在下文中一共展示了Packager.build方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: packAndCheck
async function packAndCheck(projectDir: string, packagerOptions: PackagerOptions, checkOptions: AssertPackOptions): Promise<void> {
const packager = new Packager(packagerOptions)
const artifacts: Map<Platform, Array<ArtifactCreated>> = new Map()
packager.artifactCreated(event => {
assertThat(path.isAbsolute(event.file)).true()
let list = artifacts.get(event.platform)
if (list == null) {
list = []
artifacts.set(event.platform, list)
}
list.push(event)
})
await packager.build()
if (!packagerOptions.dist || packagerOptions.platformPackagerFactory != null) {
return
}
for (let platform of packagerOptions.platform) {
if (platform === Platform.OSX) {
await checkOsXResult(packager, packagerOptions, checkOptions, artifacts.get(Platform.OSX))
}
else if (platform === Platform.LINUX) {
await checkLinuxResult(projectDir, packager, packagerOptions)
}
else if (platform === Platform.WINDOWS) {
await checkWindowsResult(packager, packagerOptions, checkOptions, artifacts.get(Platform.WINDOWS))
}
}
}
示例2: packAndCheck
async function packAndCheck(projectDir: string, platforms: string[], packagerOptions?: PackagerOptions) {
const packager = new Packager(Object.assign({
projectDir: projectDir,
cscLink: CSC_LINK,
cscKeyPassword: CSC_KEY_PASSWORD,
dist: true,
platform: platforms,
}, packagerOptions))
const artifacts: Map<Platform, Array<string>> = new Map()
packager.artifactCreated((file, platform) => {
let list = artifacts.get(platform)
if (list == null) {
list = []
artifacts.set(platform, list)
}
list.push(file)
})
await packager.build()
for (let key of artifacts.keys()) {
artifacts.set(key, pathSorter(artifacts.get(key)))
}
const expandedPlatforms = normalizePlatforms(platforms)
if (expandedPlatforms.includes("darwin")) {
await checkOsXResult(packager, artifacts.get(Platform.OSX))
}
else if (expandedPlatforms.includes("linux")) {
const productName = getProductName(packager.metadata)
const expectedContents = expectedLinuxContents.map(it => {
if (it === "/opt/TestApp/TestApp") {
return "/opt/" + productName + "/" + productName
}
else if (it === "/usr/share/applications/TestApp.desktop") {
return `/usr/share/applications/${productName}.desktop`
}
else {
return it.replace(new RegExp("/opt/TestApp/", "g"), `/opt/${productName}/`)
}
})
// let normalizedAppName = getProductName(packager.metadata).toLowerCase().replace(/ /g, '-')
// expectedContents[expectedContents.indexOf("/usr/share/doc/testapp/")] = "/usr/share/doc/" + normalizedAppName + "/"
// expectedContents[expectedContents.indexOf("/usr/share/doc/testapp/changelog.Debian.gz")] = "/usr/share/doc/" + normalizedAppName + "/changelog.Debian.gz"
assertThat(await getContents(projectDir + "/dist/TestApp-1.0.0-amd64.deb", productName)).deepEqual(expectedContents)
if (packagerOptions == null || packagerOptions.arch === null || packagerOptions.arch === "ia32") {
assertThat(await getContents(projectDir + "/dist/TestApp-1.0.0-i386.deb", productName)).deepEqual(expectedContents)
}
// console.log(JSON.stringify(await getContents(projectDir + "/dist/TestApp-1.0.0-amd64.deb"), null, 2))
// console.log(JSON.stringify(await getContents(projectDir + "/dist/TestApp-1.0.0-i386.deb"), null, 2))
}
else if (expandedPlatforms.includes("win32") && (packagerOptions == null || packagerOptions.target == null)) {
await checkWindowsResult(packagerOptions, artifacts.get(Platform.WINDOWS))
}
}
示例3: packAndCheck
async function packAndCheck(projectDir: string, packagerOptions: PackagerOptions): Promise<void> {
const packager = new Packager(packagerOptions)
const artifacts: Map<Platform, Array<ArtifactCreated>> = new Map()
packager.artifactCreated(event => {
assertThat(path.isAbsolute(event.file)).true()
let list = artifacts.get(event.platform)
if (list == null) {
list = []
artifacts.set(event.platform, list)
}
list.push(event)
})
await packager.build()
if (!packagerOptions.dist) {
return
}
for (let platform of normalizePlatforms(packagerOptions.platform)) {
if (platform === "darwin") {
await checkOsXResult(packager, artifacts.get(Platform.OSX))
}
else if (platform === "linux") {
const productName = getProductName(packager.metadata, packager.devMetadata)
const expectedContents = expectedLinuxContents.map(it => {
if (it === "/opt/TestApp/TestApp") {
return "/opt/" + productName + "/" + productName
}
else if (it === "/usr/share/applications/TestApp.desktop") {
return `/usr/share/applications/${productName}.desktop`
}
else {
return it.replace(new RegExp("/opt/TestApp/", "g"), `/opt/${productName}/`)
}
})
// console.log(JSON.stringify(await getContents(projectDir + "/dist/TestApp-1.0.0-amd64.deb", productName), null, 2))
// console.log(JSON.stringify(await getContents(projectDir + "/dist/TestApp-1.0.0-i386.deb", productName), null, 2))
assertThat(await getContents(projectDir + "/dist/TestApp-1.0.0-amd64.deb", productName)).deepEqual(expectedContents)
if (packagerOptions == null || packagerOptions.arch === null || packagerOptions.arch === "ia32") {
assertThat(await getContents(projectDir + "/dist/TestApp-1.0.0-i386.deb", productName)).deepEqual(expectedContents)
}
}
else if (platform === "win32" && (packagerOptions == null || packagerOptions.target == null)) {
await checkWindowsResult(packager, packagerOptions, artifacts.get(Platform.WINDOWS))
}
}
}
示例4: packAndCheck
async function packAndCheck(projectDir: string, packagerOptions: PackagerOptions, checkOptions: AssertPackOptions): Promise<void> {
const packager = new Packager(packagerOptions)
const artifacts: Map<Platform, Array<ArtifactCreated>> = new Map()
packager.artifactCreated(event => {
assertThat(event.file).isAbsolute()
let list = artifacts.get(event.platform)
if (list == null) {
list = []
artifacts.set(event.platform, list)
}
list.push(event)
})
const platformToTarget = await packager.build()
if (packagerOptions.platformPackagerFactory != null || packagerOptions.effectiveOptionComputed != null) {
return
}
c: for (let [platform, archToType] of packagerOptions.targets) {
for (let [arch, targets] of archToType) {
if (targets.length === 1 && targets[0] === DIR_TARGET) {
continue c
}
const nameToTarget = platformToTarget.get(platform)
if (platform === Platform.MAC) {
await checkOsXResult(packager, packagerOptions, checkOptions, artifacts.get(Platform.MAC))
}
else if (platform === Platform.LINUX) {
await checkLinuxResult(projectDir, packager, checkOptions, artifacts.get(Platform.LINUX), arch, nameToTarget)
}
else if (platform === Platform.WINDOWS) {
await checkWindowsResult(packager, checkOptions, artifacts.get(Platform.WINDOWS), arch, nameToTarget)
}
}
}
}