From abfbd04bb97e5197bd60643e1a5adc4c16c3a5d5 Mon Sep 17 00:00:00 2001 From: Tine Kondo Date: Tue, 22 Dec 2020 21:21:15 +0100 Subject: [PATCH] fix(nx-spring-boot): fix error when generating a gradle/kotlin project Closes #15 --- .../tests/nx-spring-boot.test.ts | 22 +++++++++++++++++++ .../application/lib/add-build-info-task.ts | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/e2e/nx-spring-boot-e2e/tests/nx-spring-boot.test.ts b/e2e/nx-spring-boot-e2e/tests/nx-spring-boot.test.ts index 6f104be9..c9005671 100644 --- a/e2e/nx-spring-boot-e2e/tests/nx-spring-boot.test.ts +++ b/e2e/nx-spring-boot-e2e/tests/nx-spring-boot.test.ts @@ -45,6 +45,28 @@ describe('nx-spring-boot e2e', () => { }, 180000); }); + describe('--type=gradle-project and --language=kotlin', () => { + it('should create a gradle spring-boot project with kotlin', async (done) => { + const appName = uniq('nx-spring-boot'); + ensureNxProject( + '@nxrocks/nx-spring-boot', + 'dist/packages/nx-spring-boot' + ); + await runNxCommandAsync( + `generate @nxrocks/nx-spring-boot:application ${appName} --type gradle-project --language=kotlin` + ); + + const resultBuildInfo= await runNxCommandAsync(`buildInfo ${appName}`); + expect(resultBuildInfo.stdout).toContain(`Executing command: ./gradlew bootBuildInfo`) + + expect(() => + checkFilesExist(`apps/${appName}/gradlew`,`apps/${appName}/build.gradle.kts`, `apps/${appName}/HELP.md`) + ).not.toThrow(); + done(); + }, 180000); + }); + + describe('--directory', () => { it('should create src in the specified directory', async (done) => { const appName = uniq('nx-spring-boot'); diff --git a/packages/nx-spring-boot/src/schematics/application/lib/add-build-info-task.ts b/packages/nx-spring-boot/src/schematics/application/lib/add-build-info-task.ts index 880a8c91..f1b9b910 100644 --- a/packages/nx-spring-boot/src/schematics/application/lib/add-build-info-task.ts +++ b/packages/nx-spring-boot/src/schematics/application/lib/add-build-info-task.ts @@ -13,7 +13,8 @@ springBoot { buildInfo() } `; - const buildGradlePath = `${options.projectRoot}/build.gradle`; + const ext = options.language === 'kotlin' ? '.kts' : '' + const buildGradlePath = `${options.projectRoot}/build.gradle${ext}`; const content = tree.read(buildGradlePath).toString() + buildInfoTask; tree.overwrite(buildGradlePath, content);