From 460af58bea9dc4f31c1d3e4154fdf5cc79b1d303 Mon Sep 17 00:00:00 2001 From: khalilou88 Date: Wed, 12 Jul 2023 13:32:58 +0200 Subject: [PATCH] build: work in progress --- .../gradle/src/generators/application/generator.ts | 13 ++++++++++++- packages/gradle/src/lib/utils/generators.ts | 10 ++++++++++ .../generators/kotlin-multiplatform/generator.ts | 7 +++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/packages/gradle/src/generators/application/generator.ts b/packages/gradle/src/generators/application/generator.ts index dea9330ee..3f6476979 100644 --- a/packages/gradle/src/generators/application/generator.ts +++ b/packages/gradle/src/generators/application/generator.ts @@ -20,7 +20,12 @@ import { } from '@jnxplus/common'; import { LinterType } from '@jnxplus/common'; import { NxGradleAppGeneratorSchema } from './schema'; -import { addProjectToGradleSetting, getDsl, getQuarkusVersion } from '../../.'; +import { + addProjectToGradleSetting, + getDsl, + getQuarkusVersion, + useVersionCatalog, +} from '../../.'; import * as fs from 'fs'; interface NormalizedSchema extends NxGradleAppGeneratorSchema { @@ -36,6 +41,7 @@ interface NormalizedSchema extends NxGradleAppGeneratorSchema { dsl: DSLType; kotlinExtension: string; quarkusVersion: string; + versionManagement: 'properties' | 'version-catalog'; } function normalizeOptions( @@ -115,6 +121,10 @@ function normalizeOptions( } } + const versionManagement = useVersionCatalog(tree) + ? 'version-catalog' + : 'properties'; + return { ...options, projectName, @@ -129,6 +139,7 @@ function normalizeOptions( dsl, kotlinExtension, quarkusVersion: qVersion, + versionManagement, }; } diff --git a/packages/gradle/src/lib/utils/generators.ts b/packages/gradle/src/lib/utils/generators.ts index 57fef7bdf..5c6099840 100644 --- a/packages/gradle/src/lib/utils/generators.ts +++ b/packages/gradle/src/lib/utils/generators.ts @@ -13,6 +13,16 @@ export function getDsl(tree: Tree): DSLType { return 'kotlin'; } +export function useVersionCatalog(tree: Tree): boolean { + const filePath = join('gradle', 'libs.versions.toml'); + + if (tree.exists(filePath)) { + return true; + } + + return false; +} + export function addOrUpdateGitattributes(tree: Tree) { const gitattributesPath = `.gitattributes`; const gradleWrapperGitattributes = `#\n# https://help.github.com/articles/dealing-with-line-endings/\n#\n# Linux start script should use lf\ngradlew text eol=lf\n# Windows script files should use crlf\n*.bat text eol=crlf`; diff --git a/packages/nx-gradle/src/generators/kotlin-multiplatform/generator.ts b/packages/nx-gradle/src/generators/kotlin-multiplatform/generator.ts index 75fe46e2a..2e5ce63bf 100644 --- a/packages/nx-gradle/src/generators/kotlin-multiplatform/generator.ts +++ b/packages/nx-gradle/src/generators/kotlin-multiplatform/generator.ts @@ -3,6 +3,7 @@ import { addProjectToGradleSetting, getProjectPathFromProjectRoot, getRootProjectName, + useVersionCatalog, } from '@jnxplus/gradle'; import { ProjectConfiguration, @@ -41,6 +42,7 @@ interface NormalizedSchema extends NxGradleKotlinMultiplatformGeneratorSchema { relativePathToSharedLib: string; relativePathToPodfile: string; appName: string; + versionManagement: 'properties' | 'version-catalog'; } function normalizeOptions( @@ -149,6 +151,10 @@ function normalizeOptions( const appName = names(prefix).className; + const versionManagement = useVersionCatalog(tree) + ? 'version-catalog' + : 'properties'; + return { ...options, androidAppName, @@ -171,6 +177,7 @@ function normalizeOptions( relativePathToSharedLib, relativePathToPodfile, appName, + versionManagement, }; }