From f9a82d452e53ed8488019a09b765e2e1c30278a1 Mon Sep 17 00:00:00 2001 From: Steven Lougheed Date: Mon, 14 Feb 2022 09:44:12 -0500 Subject: [PATCH] Fixed path for loading cookiecutter.json Signed-off-by: slougheed --- .../src/actions/fetch/cookiecutter.ts | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/plugins/scaffolder-backend-module-cookiecutter/src/actions/fetch/cookiecutter.ts b/plugins/scaffolder-backend-module-cookiecutter/src/actions/fetch/cookiecutter.ts index c4d7f1e3e8..efc8b6215e 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/src/actions/fetch/cookiecutter.ts +++ b/plugins/scaffolder-backend-module-cookiecutter/src/actions/fetch/cookiecutter.ts @@ -62,25 +62,34 @@ export class CookiecutterRunner { values: JsonObject; logStream: Writable; }): Promise { - const templateDir = path.join(workspacePath, 'template'); const intermediateDir = path.join(workspacePath, 'intermediate'); await fs.ensureDir(intermediateDir); const resultDir = path.join(workspacePath, 'result'); + const { + templateContentsDir, + templateDir, + imageName, + ...valuesForCookieCutterJson + } = values; // First lets grab the default cookiecutter.json file - const cookieCutterJson = await this.fetchTemplateCookieCutter(templateDir); + const cookieCutterJson = await this.fetchTemplateCookieCutter( + templateContentsDir as string, + ); - const { imageName, ...valuesForCookieCutterJson } = values; const cookieInfo = { ...cookieCutterJson, ...valuesForCookieCutterJson, }; - await fs.writeJSON(path.join(templateDir, 'cookiecutter.json'), cookieInfo); + await fs.writeJSON( + path.join(templateDir as string, 'cookiecutter.json'), + cookieInfo, + ); // Directories to bind on container const mountDirs = { - [templateDir]: '/input', + [templateDir as string]: '/input', [intermediateDir]: '/output', }; @@ -91,7 +100,13 @@ export class CookiecutterRunner { if (cookieCutterInstalled) { await runCommand({ command: 'cookiecutter', - args: ['--no-input', '-o', intermediateDir, templateDir, '--verbose'], + args: [ + '--no-input', + '-o', + intermediateDir, + templateDir as string, + '--verbose', + ], logStream, }); } else { @@ -233,6 +248,8 @@ export function createFetchCookiecutterAction(options: { _copy_without_render: ctx.input.copyWithoutRender, _extensions: ctx.input.extensions, imageName: ctx.input.imageName, + templateDir: templateDir, + templateContentsDir: templateContentsDir, }; // Will execute the template in ./template and put the result in ./result