From b99a4304b306f14c31e1d7752ec47ffe2505d3b4 Mon Sep 17 00:00:00 2001 From: Ionut Stoica Date: Thu, 17 Oct 2024 16:06:09 +0200 Subject: [PATCH 01/11] feat: support completely custom AppxManifest.xml --- packages/app-builder-lib/scheme.json | 7 +++++++ packages/app-builder-lib/src/options/AppXOptions.ts | 5 +++++ packages/app-builder-lib/src/targets/AppxTarget.ts | 9 +++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json index 6c70de56c35..9afaa63c350 100644 --- a/packages/app-builder-lib/scheme.json +++ b/packages/app-builder-lib/scheme.json @@ -183,6 +183,13 @@ "description": "Relative path to custom extensions xml to be included in an `appmanifest.xml`.", "type": "string" }, + "customManifestPath": { + "description": "Path to custom AppxManifest.xml", + "type": [ + "null", + "string" + ] + }, "displayName": { "description": "A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\nDefaults to the application product name.", "type": [ diff --git a/packages/app-builder-lib/src/options/AppXOptions.ts b/packages/app-builder-lib/src/options/AppXOptions.ts index 30de2277a08..7b01a214665 100644 --- a/packages/app-builder-lib/src/options/AppXOptions.ts +++ b/packages/app-builder-lib/src/options/AppXOptions.ts @@ -51,6 +51,11 @@ export interface AppXOptions extends TargetSpecificOptions { */ readonly customExtensionsPath?: string + /** + * Path to custom `AppxManifest.xml`. + */ + readonly customManifestPath?: string + /** * Whether to overlay the app's name on top of tile images on the Start screen. Defaults to `false`. (https://docs.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-uap-shownameontiles) in the dependencies. * @default false diff --git a/packages/app-builder-lib/src/targets/AppxTarget.ts b/packages/app-builder-lib/src/targets/AppxTarget.ts index 2ffee2b7e4e..607cc2c7d13 100644 --- a/packages/app-builder-lib/src/targets/AppxTarget.ts +++ b/packages/app-builder-lib/src/targets/AppxTarget.ts @@ -98,8 +98,13 @@ export default class AppXTarget extends Target { const assetInfo = await AppXTarget.computeUserAssets(vm, vendorPath, userAssetDir) const userAssets = assetInfo.userAssets - const manifestFile = stageDir.getTempFile("AppxManifest.xml") - await this.writeManifest(manifestFile, arch, await this.computePublisherName(), userAssets) + const manifestFile = this.options.customManifestPath || stageDir.getTempFile("AppxManifest.xml") + if (this.options.customManifestPath) { + log.info({ reason: "Custom manifest path provided" }, "Manifest writing skipped") + } else { + await this.writeManifest(manifestFile, arch, await this.computePublisherName(), userAssets) + } + await packager.info.callAppxManifestCreated(manifestFile) mappingList.push(assetInfo.mappings) mappingList.push([`"${vm.toVmFile(manifestFile)}" "AppxManifest.xml"`]) From 3d4d020809fd01186986e39bc608717445fc3f64 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Thu, 17 Oct 2024 11:55:28 -0700 Subject: [PATCH 02/11] update logic to allow both raw or template appx manifests located in build resources directory. added unit tests --- packages/app-builder-lib/scheme.json | 7 +- .../src/options/AppXOptions.ts | 4 +- .../app-builder-lib/src/targets/AppxTarget.ts | 15 ++-- .../test-app-one/build/custom-manifest.xml | 35 ++++++++ .../build/custom-template-manifest.xml | 40 +++++++++ test/snapshots/windows/appxTest.js.snap | 82 +++++++++++++++++++ test/src/windows/appxTest.ts | 33 ++++++++ 7 files changed, 202 insertions(+), 14 deletions(-) create mode 100644 test/fixtures/test-app-one/build/custom-manifest.xml create mode 100644 test/fixtures/test-app-one/build/custom-template-manifest.xml diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json index 9afaa63c350..c84b3bf7998 100644 --- a/packages/app-builder-lib/scheme.json +++ b/packages/app-builder-lib/scheme.json @@ -184,11 +184,8 @@ "type": "string" }, "customManifestPath": { - "description": "Path to custom AppxManifest.xml", - "type": [ - "null", - "string" - ] + "description": "Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.", + "type": "string" }, "displayName": { "description": "A friendly name that can be displayed to users. Corresponds to [Properties.DisplayName](https://msdn.microsoft.com/en-us/library/windows/apps/br211432.aspx).\nDefaults to the application product name.", diff --git a/packages/app-builder-lib/src/options/AppXOptions.ts b/packages/app-builder-lib/src/options/AppXOptions.ts index 7b01a214665..0a2e68cd110 100644 --- a/packages/app-builder-lib/src/options/AppXOptions.ts +++ b/packages/app-builder-lib/src/options/AppXOptions.ts @@ -51,8 +51,8 @@ export interface AppXOptions extends TargetSpecificOptions { */ readonly customExtensionsPath?: string - /** - * Path to custom `AppxManifest.xml`. + /** + * Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory. */ readonly customManifestPath?: string diff --git a/packages/app-builder-lib/src/targets/AppxTarget.ts b/packages/app-builder-lib/src/targets/AppxTarget.ts index 607cc2c7d13..7d27ac9bd50 100644 --- a/packages/app-builder-lib/src/targets/AppxTarget.ts +++ b/packages/app-builder-lib/src/targets/AppxTarget.ts @@ -98,12 +98,8 @@ export default class AppXTarget extends Target { const assetInfo = await AppXTarget.computeUserAssets(vm, vendorPath, userAssetDir) const userAssets = assetInfo.userAssets - const manifestFile = this.options.customManifestPath || stageDir.getTempFile("AppxManifest.xml") - if (this.options.customManifestPath) { - log.info({ reason: "Custom manifest path provided" }, "Manifest writing skipped") - } else { - await this.writeManifest(manifestFile, arch, await this.computePublisherName(), userAssets) - } + const manifestFile = stageDir.getTempFile("AppxManifest.xml") + await this.writeManifest(manifestFile, arch, await this.computePublisherName(), userAssets) await packager.info.callAppxManifestCreated(manifestFile) mappingList.push(assetInfo.mappings) @@ -213,7 +209,12 @@ export default class AppXTarget extends Target { const extensions = await this.getExtensions(executable, displayName) const archSpecificMinVersion = arch === Arch.arm64 ? "10.0.16299.0" : "10.0.14316.0" - const manifest = (await readFile(path.join(getTemplatePath("appx"), "appxmanifest.xml"), "utf8")).replace(/\${([a-zA-Z0-9]+)}/g, (match, p1): string => { + const customManifestPath = await this.packager.getResource(this.options.customManifestPath) + if (customManifestPath) { + log.info({ manifestPath: log.filePath(customManifestPath) }, "custom appx manifest found") + } + const manifestFileContent = await readFile(customManifestPath || path.join(getTemplatePath("appx"), "appxmanifest.xml"), "utf8") + const manifest = manifestFileContent.replace(/\${([a-zA-Z0-9]+)}/g, (match, p1): string => { switch (p1) { case "publisher": return publisher diff --git a/test/fixtures/test-app-one/build/custom-manifest.xml b/test/fixtures/test-app-one/build/custom-manifest.xml new file mode 100644 index 00000000000..052ba380dc2 --- /dev/null +++ b/test/fixtures/test-app-one/build/custom-manifest.xml @@ -0,0 +1,35 @@ + + + + + Container Desktop + Ionut.Stoica + Container Desktop + assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml new file mode 100644 index 00000000000..f71933e4016 --- /dev/null +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -0,0 +1,40 @@ + + + + + + + ${displayName} + ${publisherDisplayName} + ${description} + ${logo} + + + + + + + + + + + ${lockScreen} + ${defaultTile} + ${splashScreen} + + ${extensions} + + + diff --git a/test/snapshots/windows/appxTest.js.snap b/test/snapshots/windows/appxTest.js.snap index bb8a6e09a8a..c13d03dfcab 100644 --- a/test/snapshots/windows/appxTest.js.snap +++ b/test/snapshots/windows/appxTest.js.snap @@ -48,6 +48,88 @@ exports[`certificateSubjectName 1`] = ` } `; +exports[`custom raw appmanifest.xml 1`] = ` +" + + + + Container Desktop + Ionut.Stoica + Container Desktop + assets\\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + + + + +" +`; + +exports[`custom template appmanifest.xml 1`] = ` +" + + + + + + Test App ßW + Foo Bar + Test Application (test quite “ #378) + assets\\StoreLogo.png + + + + + + + + + + + + + + + + + + +" +`; + exports[`languages and not signed (windows store only) 1`] = ` { "win": [ diff --git a/test/src/windows/appxTest.ts b/test/src/windows/appxTest.ts index 591224af0d2..882d4c2a183 100644 --- a/test/src/windows/appxTest.ts +++ b/test/src/windows/appxTest.ts @@ -3,6 +3,7 @@ import { app, copyTestAsset } from "../helpers/packTester" import * as path from "path" import { mkdir } from "fs/promises" import { isEnvTrue } from "builder-util" +import { readFile } from "fs-extra" // test that we can get info from protected pfx const protectedCscLink = @@ -101,3 +102,35 @@ it( }, }) ) + +it( + "custom template appmanifest.xml", + app({ + targets: Platform.WINDOWS.createTarget(["appx"], Arch.x64), + config: { + appx: { + customManifestPath: "custom-template-manifest.xml", + }, + appxManifestCreated: async filepath => { + const fileContent = await readFile(filepath, "utf-8") + expect(fileContent).toMatchSnapshot() + }, + }, + }) +) + +it( + "custom raw appmanifest.xml", + app({ + targets: Platform.WINDOWS.createTarget(["appx"], Arch.x64), + config: { + appx: { + customManifestPath: "custom-manifest.xml", + }, + appxManifestCreated: async filepath => { + const fileContent = await readFile(filepath, "utf-8") + expect(fileContent).toMatchSnapshot() + }, + }, + }) +) From b01991471f051189a195b8e359b72934ad6ab26f Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 18 Oct 2024 08:02:36 -0700 Subject: [PATCH 03/11] update test, snapshots, and docs --- packages/app-builder-lib/scheme.json | 2 +- .../src/options/AppXOptions.ts | 24 ++++++- .../test-app-one/build/custom-manifest.xml | 57 +++++++++++------ .../build/custom-template-manifest.xml | 7 ++- test/snapshots/windows/appxTest.js.snap | 63 +++++++++++++------ 5 files changed, 110 insertions(+), 43 deletions(-) diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json index c84b3bf7998..cf26500fae7 100644 --- a/packages/app-builder-lib/scheme.json +++ b/packages/app-builder-lib/scheme.json @@ -184,7 +184,7 @@ "type": "string" }, "customManifestPath": { - "description": "Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.", + "description": "(Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.\nSupports the following template macros:\n\n- ${\"publisher\"}\n- ${\"publisherDisplayName\"}\n- ${\"version\"}\n- ${\"applicationId\"}\n- ${\"identityName\"}\n- ${\"executable\"}\n- ${\"displayName\"}\n- ${\"description\"}\n- ${\"backgroundColor\"}\n- ${\"logo\"}\n- ${\"square150x150Logo\"}\n- ${\"square44x44Logo\"}\n- ${\"lockScreen\"}\n- ${\"defaultTile\"}\n- ${\"splashScreen\"}\n- ${\"arch\"}\n- ${\"resourceLanguages\"}\n- ${\"extensions\"}\n- ${\"minVersion\"}\n- ${\"maxVersionTested\"}", "type": "string" }, "displayName": { diff --git a/packages/app-builder-lib/src/options/AppXOptions.ts b/packages/app-builder-lib/src/options/AppXOptions.ts index 0a2e68cd110..e9ab82238ed 100644 --- a/packages/app-builder-lib/src/options/AppXOptions.ts +++ b/packages/app-builder-lib/src/options/AppXOptions.ts @@ -52,7 +52,29 @@ export interface AppXOptions extends TargetSpecificOptions { readonly customExtensionsPath?: string /** - * Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory. + * (Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory. + * Supports the following template macros: + * + * - ${"publisher"} + * - ${"publisherDisplayName"} + * - ${"version"} + * - ${"applicationId"} + * - ${"identityName"} + * - ${"executable"} + * - ${"displayName"} + * - ${"description"} + * - ${"backgroundColor"} + * - ${"logo"} + * - ${"square150x150Logo"} + * - ${"square44x44Logo"} + * - ${"lockScreen"} + * - ${"defaultTile"} + * - ${"splashScreen"} + * - ${"arch"} + * - ${"resourceLanguages"} + * - ${"extensions"} + * - ${"minVersion"} + * - ${"maxVersionTested"} */ readonly customManifestPath?: string diff --git a/test/fixtures/test-app-one/build/custom-manifest.xml b/test/fixtures/test-app-one/build/custom-manifest.xml index 052ba380dc2..09399633404 100644 --- a/test/fixtures/test-app-one/build/custom-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-manifest.xml @@ -1,17 +1,28 @@ - - - + + + + + - Container Desktop - Ionut.Stoica - Container Desktop - assets\StoreLogo.png + ${displayName} + ${publisherDisplayName} + ${description} + ${logo} - + ${resourceLanguages} - + @@ -19,17 +30,25 @@ - - - + + + ${lockScreen} + ${defaultTile} + ${splashScreen} + ${extensions} - - - - - - - \ No newline at end of file + + + + + + + diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml index f71933e4016..0b1234a65d7 100644 --- a/test/fixtures/test-app-one/build/custom-template-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -17,11 +17,14 @@ ${logo} - + ${resourceLanguages} - + + + + - - +" + + + + - Container Desktop - Ionut.Stoica - Container Desktop + Test App ßW + Foo Bar + Test Application (test quite “ #378) assets\\StoreLogo.png - + - + @@ -70,20 +81,29 @@ exports[`custom raw appmanifest.xml 1`] = ` - - - + + + + + + - - - - - - -" + + + + + + + +" `; exports[`custom template appmanifest.xml 1`] = ` @@ -106,11 +126,14 @@ exports[`custom template appmanifest.xml 1`] = ` assets\\StoreLogo.png - + - + + + + Date: Fri, 18 Oct 2024 08:07:58 -0700 Subject: [PATCH 04/11] update schema --- packages/app-builder-lib/scheme.json | 2 +- .../src/options/AppXOptions.ts | 40 +++++++++---------- .../test-app-one/build/custom-manifest.xml | 7 ---- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/packages/app-builder-lib/scheme.json b/packages/app-builder-lib/scheme.json index cf26500fae7..dc055eaa25b 100644 --- a/packages/app-builder-lib/scheme.json +++ b/packages/app-builder-lib/scheme.json @@ -184,7 +184,7 @@ "type": "string" }, "customManifestPath": { - "description": "(Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.\nSupports the following template macros:\n\n- ${\"publisher\"}\n- ${\"publisherDisplayName\"}\n- ${\"version\"}\n- ${\"applicationId\"}\n- ${\"identityName\"}\n- ${\"executable\"}\n- ${\"displayName\"}\n- ${\"description\"}\n- ${\"backgroundColor\"}\n- ${\"logo\"}\n- ${\"square150x150Logo\"}\n- ${\"square44x44Logo\"}\n- ${\"lockScreen\"}\n- ${\"defaultTile\"}\n- ${\"splashScreen\"}\n- ${\"arch\"}\n- ${\"resourceLanguages\"}\n- ${\"extensions\"}\n- ${\"minVersion\"}\n- ${\"maxVersionTested\"}", + "description": "(Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory.\nSupports the following template macros:\n\n- ${publisher}\n- ${publisherDisplayName}\n- ${version}\n- ${applicationId}\n- ${identityName}\n- ${executable}\n- ${displayName}\n- ${description}\n- ${backgroundColor}\n- ${logo}\n- ${square150x150Logo}\n- ${square44x44Logo}\n- ${lockScreen}\n- ${defaultTile}\n- ${splashScreen}\n- ${arch}\n- ${resourceLanguages}\n- ${extensions}\n- ${minVersion}\n- ${maxVersionTested}", "type": "string" }, "displayName": { diff --git a/packages/app-builder-lib/src/options/AppXOptions.ts b/packages/app-builder-lib/src/options/AppXOptions.ts index e9ab82238ed..d5f0ee39d0c 100644 --- a/packages/app-builder-lib/src/options/AppXOptions.ts +++ b/packages/app-builder-lib/src/options/AppXOptions.ts @@ -55,26 +55,26 @@ export interface AppXOptions extends TargetSpecificOptions { * (Advanced Option) Relative path to custom `appmanifest.xml` (file name doesn't matter, it'll be renamed) located in build resources directory. * Supports the following template macros: * - * - ${"publisher"} - * - ${"publisherDisplayName"} - * - ${"version"} - * - ${"applicationId"} - * - ${"identityName"} - * - ${"executable"} - * - ${"displayName"} - * - ${"description"} - * - ${"backgroundColor"} - * - ${"logo"} - * - ${"square150x150Logo"} - * - ${"square44x44Logo"} - * - ${"lockScreen"} - * - ${"defaultTile"} - * - ${"splashScreen"} - * - ${"arch"} - * - ${"resourceLanguages"} - * - ${"extensions"} - * - ${"minVersion"} - * - ${"maxVersionTested"} + * - ${publisher} + * - ${publisherDisplayName} + * - ${version} + * - ${applicationId} + * - ${identityName} + * - ${executable} + * - ${displayName} + * - ${description} + * - ${backgroundColor} + * - ${logo} + * - ${square150x150Logo} + * - ${square44x44Logo} + * - ${lockScreen} + * - ${defaultTile} + * - ${splashScreen} + * - ${arch} + * - ${resourceLanguages} + * - ${extensions} + * - ${minVersion} + * - ${maxVersionTested} */ readonly customManifestPath?: string diff --git a/test/fixtures/test-app-one/build/custom-manifest.xml b/test/fixtures/test-app-one/build/custom-manifest.xml index 09399633404..e33119189e6 100644 --- a/test/fixtures/test-app-one/build/custom-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-manifest.xml @@ -44,11 +44,4 @@ ${extensions} - - - - - - - From f05d202a3741afbfbc28f6d8ff40359d3f5da23f Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 18 Oct 2024 18:12:46 -0700 Subject: [PATCH 05/11] update snapshots --- .vscode/launch.json | 2 +- .../build/custom-template-manifest.xml | 7 +++++++ test/snapshots/windows/appxTest.js.snap | 14 +++++++------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index d14b7905ea0..ecc324c2252 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "console": "integratedTerminal", "internalConsoleOptions": "openOnFirstSessionStart", "env": { - "TEST_FILES": "BuildTest" + "TEST_FILES": "appxTest" } } ] diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml index 0b1234a65d7..f819c890f49 100644 --- a/test/fixtures/test-app-one/build/custom-template-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -40,4 +40,11 @@ ${extensions} + + + + + + + diff --git a/test/snapshots/windows/appxTest.js.snap b/test/snapshots/windows/appxTest.js.snap index 3fe16bc00f1..583456447e7 100644 --- a/test/snapshots/windows/appxTest.js.snap +++ b/test/snapshots/windows/appxTest.js.snap @@ -95,13 +95,6 @@ exports[`custom raw appmanifest.xml 1`] = ` - - - - - - - " `; @@ -149,6 +142,13 @@ exports[`custom template appmanifest.xml 1`] = ` + + + + + + + " `; From 5a9f25921a9e3ad509646f0e7483fe4b60d1b422 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 18 Oct 2024 18:30:01 -0700 Subject: [PATCH 06/11] update snapshots --- .../build/custom-template-manifest.xml | 15 +++++++-------- test/snapshots/windows/appxTest.js.snap | 15 +++++++-------- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml index f819c890f49..614c6203f42 100644 --- a/test/fixtures/test-app-one/build/custom-template-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -37,14 +37,13 @@ ${defaultTile} ${splashScreen} - ${extensions} + + + + + + + - - - - - - - diff --git a/test/snapshots/windows/appxTest.js.snap b/test/snapshots/windows/appxTest.js.snap index 583456447e7..91b82e686ac 100644 --- a/test/snapshots/windows/appxTest.js.snap +++ b/test/snapshots/windows/appxTest.js.snap @@ -139,16 +139,15 @@ exports[`custom template appmanifest.xml 1`] = ` - + + + + + + + - - - - - - - " `; From e4ff9ed8e88ef8c7415eb0b205396032555f3600 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 18 Oct 2024 18:42:43 -0700 Subject: [PATCH 07/11] update snapshots --- test/fixtures/test-app-one/build/custom-template-manifest.xml | 1 + test/snapshots/windows/appxTest.js.snap | 1 + 2 files changed, 2 insertions(+) diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml index 614c6203f42..39cd638c672 100644 --- a/test/fixtures/test-app-one/build/custom-template-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -4,6 +4,7 @@ xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" + xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"> Date: Mon, 28 Oct 2024 16:50:15 -0700 Subject: [PATCH 08/11] update manifest with comment to check that it works as raw template --- .../test-app-one/build/custom-template-manifest.xml | 4 ++-- test/snapshots/windows/appxTest.js.snap | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/test/fixtures/test-app-one/build/custom-template-manifest.xml b/test/fixtures/test-app-one/build/custom-template-manifest.xml index 39cd638c672..e091be2da49 100644 --- a/test/fixtures/test-app-one/build/custom-template-manifest.xml +++ b/test/fixtures/test-app-one/build/custom-template-manifest.xml @@ -38,13 +38,13 @@ ${defaultTile} ${splashScreen} - + diff --git a/test/snapshots/windows/appxTest.js.snap b/test/snapshots/windows/appxTest.js.snap index b87b6093020..d7ae869c96d 100644 --- a/test/snapshots/windows/appxTest.js.snap +++ b/test/snapshots/windows/appxTest.js.snap @@ -153,6 +153,18 @@ exports[`custom template appmanifest.xml 1`] = ` " `; +exports[`custom template appmanifest.xml 2`] = ` +{ + "win": [ + { + "arch": "x64", + "file": "Test App ßW 1.1.0.appx", + "safeArtifactName": "TestApp-1.1.0.appx", + }, + ], +} +`; + exports[`languages and not signed (windows store only) 1`] = ` { "win": [ From c5590344d553e7fcbb5f28431d6b705337127d64 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Tue, 29 Oct 2024 08:24:52 -0700 Subject: [PATCH 09/11] update snapshot --- test/snapshots/windows/appxTest.js.snap | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/test/snapshots/windows/appxTest.js.snap b/test/snapshots/windows/appxTest.js.snap index d7ae869c96d..3745feff081 100644 --- a/test/snapshots/windows/appxTest.js.snap +++ b/test/snapshots/windows/appxTest.js.snap @@ -99,6 +99,18 @@ exports[`custom raw appmanifest.xml 1`] = ` " `; +exports[`custom raw appmanifest.xml 2`] = ` +{ + "win": [ + { + "arch": "x64", + "file": "Test App ßW 1.1.0.appx", + "safeArtifactName": "TestApp-1.1.0.appx", + }, + ], +} +`; + exports[`custom template appmanifest.xml 1`] = ` " @@ -140,13 +152,13 @@ exports[`custom template appmanifest.xml 1`] = ` - + From fd00ccc52c0796a578c477477ac2d567b5edcbc5 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Tue, 5 Nov 2024 09:51:52 -0800 Subject: [PATCH 10/11] Create brown-pears-beg.md --- .changeset/brown-pears-beg.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/brown-pears-beg.md diff --git a/.changeset/brown-pears-beg.md b/.changeset/brown-pears-beg.md new file mode 100644 index 00000000000..a637a90a7b7 --- /dev/null +++ b/.changeset/brown-pears-beg.md @@ -0,0 +1,5 @@ +--- +"app-builder-lib": minor +--- + +feat: support completely custom AppxManifest.xml From 7f59a95708a2d94bc0ced202fe352eb0b2b92b27 Mon Sep 17 00:00:00 2001 From: Mike Maietta Date: Fri, 6 Dec 2024 09:11:18 -0800 Subject: [PATCH 11/11] Update launch.json --- .vscode/launch.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index ecc324c2252..95a34056a89 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,8 +10,8 @@ "console": "integratedTerminal", "internalConsoleOptions": "openOnFirstSessionStart", "env": { - "TEST_FILES": "appxTest" + "TEST_FILES": "BuildTest" } } ] -} \ No newline at end of file +}