|
1 | 1 | import { basename, join, dirname } from "path"; |
2 | | -import { readdir, copyFile, rm, mkdir } from "fs/promises"; |
| 2 | +import { readdir, copyFile, rm, mkdir, rename } from "fs/promises"; |
3 | 3 | import { appendFileSync } from "fs"; |
4 | 4 | import { |
5 | 5 | execShellCommand, |
@@ -101,6 +101,16 @@ async function main(): Promise<ArtifactResult> { |
101 | 101 | throw new Error(`${LOG_PREFIX} No implementation for MODULE="${inputs.module}"`); |
102 | 102 | } |
103 | 103 |
|
| 104 | +async function appendVersionToMpkFilename(mpkPath: string): Promise<string> { |
| 105 | + const versionedMpkPath = mpkPath.replace(/\.mpk$/, `-v${inputs.version}.mpk`); |
| 106 | + if (versionedMpkPath === mpkPath) { |
| 107 | + throw new Error(`${LOG_PREFIX} Expected an .mpk file path, got: ${mpkPath}`); |
| 108 | + } |
| 109 | + await rename(mpkPath, versionedMpkPath); |
| 110 | + log(`Renamed MPK to include version: ${versionedMpkPath}`); |
| 111 | + return versionedMpkPath; |
| 112 | +} |
| 113 | + |
104 | 114 | async function createNativeMobileResourcesModule(): Promise<ArtifactResult> { |
105 | 115 | log("Creating the Native Mobile Resource module..."); |
106 | 116 | const moduleFolder = join(repoRootPath, "packages/jsActions", inputs.module); |
@@ -130,8 +140,9 @@ async function createNativeMobileResourcesModule(): Promise<ArtifactResult> { |
130 | 140 | log(`MPK created at: ${mpkOutput}`); |
131 | 141 | log("Exporting module with widgets into MPK..."); |
132 | 142 | await exportModuleWithWidgets(moduleInfo.moduleNameInModeler, mpkOutput, nativeWidgetFolders, ossFiles); |
| 143 | + const versionedMpkOutput = await appendVersionToMpkFilename(mpkOutput); |
133 | 144 | return { |
134 | | - artifactPath: mpkOutput, |
| 145 | + artifactPath: versionedMpkOutput, |
135 | 146 | artifactName: moduleInfo.moduleNameInModeler |
136 | 147 | }; |
137 | 148 | } |
@@ -162,8 +173,9 @@ async function createNanoflowCommonsModule(): Promise<ArtifactResult> { |
162 | 173 | log(`MPK created at: ${mpkOutput}`); |
163 | 174 | log("Copying OSS files into MPK..."); |
164 | 175 | await copyFilesToMpk(ossFiles, mpkOutput, moduleInfo.moduleNameInModeler); |
| 176 | + const versionedMpkOutput = await appendVersionToMpkFilename(mpkOutput); |
165 | 177 | return { |
166 | | - artifactPath: mpkOutput, |
| 178 | + artifactPath: versionedMpkOutput, |
167 | 179 | artifactName: moduleInfo.moduleNameInModeler |
168 | 180 | }; |
169 | 181 | } |
|
0 commit comments